Mark Young [Tue, 14 Jun 2016 20:59:44 +0000 (14:59 -0600)]
loader: GH362 - Fix json output of escape chars
The strings from the JSON file already add escape characters.
So, \ becomes \\ in the JSON file strings. However, the cJSON
library was adding \\ for ever encountered \ when converting
to a string. This became messy as C:\\vulkanSDK\\layerfile.json
became C:\\\\vulkanSDK\\\\layerfile.json.
Change-Id: I006252e33d6e91e2bef704dd5dee0777105388a7
Mark Young [Mon, 13 Jun 2016 20:49:53 +0000 (14:49 -0600)]
loader: Fix GH607 by adding proper array support
JSON spec does not allow objects of the same name at the same
level. But, that's what we used to allow with "layer" definitions.
Update new file version to 1.0.1, add "layers" array object, and
add multiple "layer" definition warning.
Change-Id: I040f07897c689800364d243daf3c247f1b3cace7
Jeremy Hayes [Tue, 14 Jun 2016 17:50:02 +0000 (11:50 -0600)]
loader: return ext not present when applicable
Mark Mueller [Tue, 14 Jun 2016 00:26:30 +0000 (18:26 -0600)]
layers: Fix CMakeLists.txt for non-MSVC Win builds
Fix a recent change broke windows builds that don't use the VC IDE or
decorate build trees like VC does
Change-Id: I93c8a559c4255408a6fa890b2a3e4d81822d1cea
Rene Lindsay [Mon, 13 Jun 2016 23:20:39 +0000 (17:20 -0600)]
vulkaninfo: Clean up XCB window creation code.
Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604
Mark Lobodzinski [Mon, 13 Jun 2016 20:48:12 +0000 (14:48 -0600)]
layers: Update docs for shared utils DLL
Change-Id: I129b4d074f0604bbdf6d81c052333229ece99ac3
Mark Lobodzinski [Wed, 8 Jun 2016 18:44:54 +0000 (12:44 -0600)]
layers: Add debug report header
Enable output of a short message header containing definitions of
debug message types.
Change-Id: Ia84fb0e79d599b8d022b7d78267b7b6a0307823e
Mark Lobodzinski [Wed, 8 Jun 2016 18:48:18 +0000 (12:48 -0600)]
layers: Make vklayer_utils a shared library
Was previously statically linked. Converting to a DLL will allow
data sharing and use of utils in samples repo.
Change-Id: I63ccc1f0f57dfad40f7068c60ac623bce5bd714d
Mark Lobodzinski [Mon, 13 Jun 2016 22:56:26 +0000 (16:56 -0600)]
layers: Fix Windows Dota2 crash
One of the event tracking lists was not getting cleared upon a reset,
resulting in an invalid reference on reuse.
Change-Id: I45d932822f27197266b363634d6cdccc785209d3
Chris Forbes [Sun, 12 Jun 2016 21:59:34 +0000 (09:59 +1200)]
layers: Fix test fallout in CommandBufferTwoSubmits
This test was accidentally triggering the fence reuse case as well, and
blindly continuing past that error. It doesn't need to use the fence at
all, so don't supply one.
Also tweak the layer to not run into the assert if the caller elected to
skip -- QueueSubmit still has validation and updates tangled together,
but this improves it slightly.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 10 Jun 2016 03:25:45 +0000 (15:25 +1200)]
layers: Fix mistracking of semaphores associated with submissions
When a command buffer is simultaneously inflight multiple times, each
can have different semaphores associated. Storing the set of semaphores
on the GLOBAL_CB_NODE caused us to get confused and emit bogus errors.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 10 Jun 2016 03:25:12 +0000 (15:25 +1200)]
layers: Note broken behavior around stealing tracking from other queues
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 10 Jun 2016 03:22:37 +0000 (15:22 +1200)]
layers: Add members to FENCE_NODE and QUEUE_NODE to hold the handles
We'd like to be able to get back to them from the tracking struct.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 10 Jun 2016 03:21:43 +0000 (15:21 +1200)]
layers: Add helpers for getting fence and queue nodes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 10 Jun 2016 00:43:13 +0000 (12:43 +1200)]
layers: Add CB_SUBMISSION struct
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Thu, 9 Jun 2016 22:06:42 +0000 (10:06 +1200)]
layers: Unify fence checks for queue functions
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 8 Jun 2016 21:40:55 +0000 (09:40 +1200)]
layers: Remove dead fence members from GLOBAL_CB_NODE
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 7 Jun 2016 21:51:34 +0000 (09:51 +1200)]
layers: remove tracking of last queue and fence for CB
Unused.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Jon Ashburn [Mon, 13 Jun 2016 20:13:39 +0000 (14:13 -0600)]
layers: Update manifest files for vers 1.0.16
Change-Id: I7468c088d99f7bebabc05d1a84529f6e9e00d424
Jon Ashburn [Mon, 13 Jun 2016 20:10:18 +0000 (14:10 -0600)]
misc: Update to Vulkan header version 16
Only change is the addition of AMD extensions.
Change-Id: Ia4270600247b2e3f406cdac0cfff3492ec1ce109
Jon Ashburn [Mon, 13 Jun 2016 20:02:13 +0000 (14:02 -0600)]
Revert "loader: Fix build warning on windows"
This reverts commit
27a58419aab1bd62201e00ea5a6d822b65f99fa3.
Jon Ashburn [Mon, 13 Jun 2016 19:31:32 +0000 (13:31 -0600)]
loader: Fix build warning on windows
Don't use default library for libcmt.
Change-Id: I68c0f629044713c0c875758af9a0a1dd345dad75
Rene Lindsay [Fri, 10 Jun 2016 23:25:55 +0000 (16:25 -0700)]
Added {} to if statements.
Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604
Rene Lindsay [Fri, 10 Jun 2016 22:56:01 +0000 (16:56 -0600)]
Removed some window event handling code.
Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604
Rene Lindsay [Fri, 10 Jun 2016 22:33:08 +0000 (15:33 -0700)]
Applied the "clang-format" obfuscator
Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604
Rene Lindsay [Fri, 10 Jun 2016 15:26:26 +0000 (08:26 -0700)]
Show "Presentable Formats" per GPU for Win32/XCB/XLib
Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604
Mark Lobodzinski [Thu, 9 Jun 2016 23:03:52 +0000 (17:03 -0600)]
layers: GH536, Updated layer details doc
Added new cases, removed old enums, moved info from devlimits
to parameter validation.
Change-Id: Iddf6a679dc8596dcf411a6b880a63a26999607ec
Mark Lobodzinski [Thu, 9 Jun 2016 23:01:19 +0000 (17:01 -0600)]
layers: GH536, Update CmdFillBuffer validation
Was ignoring VK_WHOLE_SIZE. Moved validation cases for Update/FillBuffer
to Parameter Validation layer (as they were stateless) and added the
remaining additional stateless valid usage checks.
Change-Id: I0f41c6ba55f218a6db9fb34736a2abc52f856edf
David Pinedo [Fri, 10 Jun 2016 17:37:44 +0000 (11:37 -0600)]
winrt: fix error on uninstall
Remove old log files before writing them. When 2 uninstalls
are done in a row, this caused the uninstaller to display
an error
David Pinedo [Fri, 10 Jun 2016 14:01:56 +0000 (08:01 -0600)]
winrtinstaller: display error num in ps warning window
Display an error number in warning window if powershell
script fails.
David Pinedo [Thu, 9 Jun 2016 22:12:44 +0000 (16:12 -0600)]
winrt: configure loader even if ps script fails
David Pinedo [Thu, 9 Jun 2016 19:40:21 +0000 (13:40 -0600)]
winrtinstaller: fixed problems introduced by piping script to powershell.exe
PS script return value is now correctly retrieved by NSIS script.
Logging is less verbose, removed extranous errors.
David McFarland [Fri, 20 May 2016 21:26:28 +0000 (18:26 -0300)]
layers: PR573, Handle imageArraySize rename
Swapchain layer had stale references -- rename things still using
imageArraySize instead of imageArrayLayers.
Change-Id: Iaa4500ab8cf55e50b96636a50136605dd3e6d83e
Mark Lobodzinski [Thu, 9 Jun 2016 16:59:03 +0000 (10:59 -0600)]
layers: PR632, Updated layer details doc
Added device_limits MISSING_QUERY_COUNT
Change-Id: I5b129ec12930129f5d5fe46bbe2622977dc2d992
Jan-Harald Fredriksen [Wed, 8 Jun 2016 16:51:52 +0000 (18:51 +0200)]
layers: PR632, Change devlimits errors to warnings
Replace call sequence errors with warnings for
vkEnumeratePhysicalDevices and GetPhysicalDeviceQueueFamilyProperties.
Change-Id: I1505f4a2b339ac7ef435da8b3ec2f85612026a42
Jan-Harald Fredriksen [Wed, 8 Jun 2016 12:20:50 +0000 (14:20 +0200)]
layers: PR629, Remove subpass warnings
The validation layer checks for dependency between subpasses using the
same attachments, but it also issues warnings if there are "only"
implicit dependencies between two subpasses. This is explicitly
allowed by the spec and should not cause validation warnings.
Change-Id: I1039955d6d445e1ee234116c6da2e4dbaf9c7dd9
Tony Barbour [Mon, 6 Jun 2016 16:55:04 +0000 (10:55 -0600)]
layers: Initialize write_in_use in eventMap entries
Change-Id: Ic296788beb078f19a35b93b99df5dbf677c95122
David Pinedo [Wed, 8 Jun 2016 22:30:06 +0000 (16:30 -0600)]
winrtinstaller: avoid executing ps scripts, instead just pipe cmds to ps
Tony Barbour [Tue, 7 Jun 2016 16:44:06 +0000 (10:44 -0600)]
demos: Add -lrt to link options for smoke LVL #500
Change-Id: I0480e60e3c6c2f06f24022332640756bcdc3f1a0
Mark Mueller [Tue, 7 Jun 2016 20:43:26 +0000 (14:43 -0600)]
tests: GH421 reflect vkAllocateDescriptorSets test
InvalidDescriptorSetLayout test was added with
772fcd1c
Mark Mueller [Tue, 7 Jun 2016 20:32:29 +0000 (14:32 -0600)]
tests: GH421 reflect vkCmdBindDescriptorSets test
Test was added with 772fcd1
Tony Barbour [Thu, 2 Jun 2016 15:43:50 +0000 (09:43 -0600)]
layers: Add check for image usage in vkCmdClearColorImage
Change-Id: I7ba803a11de29e65ae65fbf0a0168561a2e6739f
David Pinedo [Tue, 7 Jun 2016 15:35:56 +0000 (09:35 -0600)]
winrtinstaller: retry ps script failure with full path to powershell.exe
Also changed diagnostics to log the contents of dir containing
powershell.exe, and log the current value of $PATH.
Jon Ashburn [Mon, 23 May 2016 19:05:21 +0000 (13:05 -0600)]
loader: doc update for merge android and desktop layer interface
Change-Id: Ibbffc0bf05bcbd1aa3b9272caa0b2c1c3a54037d
lenny-lunarg [Mon, 6 Jun 2016 17:07:53 +0000 (11:07 -0600)]
demos: Added --suppress_popups flag
Added a command line option to cube and tri to suppress
windows message boxes to facilitate Windows testing.
Change-Id: I069f9b199c9740e1e21c42100ceec42d5fb8f0e2
Karl Schultz [Mon, 6 Jun 2016 18:15:00 +0000 (12:15 -0600)]
doc: Expand LVL acronym in BUILD.md
Mark Lobodzinski [Wed, 1 Jun 2016 22:12:49 +0000 (16:12 -0600)]
layers: Update docs for default dbg msg callbacks
Change-Id: Ic1f192ea7c95762d7e53f091cc9f0ea55be96c04
Mark Lobodzinski [Tue, 24 May 2016 22:04:56 +0000 (16:04 -0600)]
layers: Move debug action enums from vk_layer.h
Moved debug-report related items from vk_layer.h. Enums are now in
vk_layer_logging.h and DbgFunctionNode has been moved into a new
loader header file vk_loader_layer.h.
Change-Id: I6031146ba474ff01ca039da44ad5d42d054383a3
Mark Lobodzinski [Thu, 19 May 2016 21:27:18 +0000 (15:27 -0600)]
layers: Add default layer error message config
Allows layers to output error messages even if no vk_layer_settings.txt
config file is present. Sets defaults to LOG_MSG, error, stdout.
A layer settings file will override any default values. If no settings
file is present and an app creates a debug callback, the default
callbacks will be removed and unregistered.
Change-Id: I49f37189665816df58c258b9e9629f2bf76751c8
David Pinedo [Mon, 6 Jun 2016 15:09:13 +0000 (09:09 -0600)]
winsdkinstaller: add cmd copy as additional diagnosic for ps failure
David Pinedo [Sat, 4 Jun 2016 00:32:58 +0000 (18:32 -0600)]
winrtinstaller: add more logging debug code to powershell script invocation
David Pinedo [Fri, 3 Jun 2016 18:08:12 +0000 (12:08 -0600)]
winrtinstaller: fixes and diagnostics for powershell config script failure
Tobin Ehlis [Thu, 2 Jun 2016 19:04:47 +0000 (13:04 -0600)]
layers: Comment update
Tobin Ehlis [Thu, 2 Jun 2016 19:02:17 +0000 (13:02 -0600)]
layers: Clean up poolMap access
Remove some unneeded passing of poolMap around and use getPoolNode()
function in DescriptorSet class.
Tobin Ehlis [Thu, 2 Jun 2016 18:48:25 +0000 (12:48 -0600)]
layers: Remove unneccessary consts
Tobin Ehlis [Thu, 2 Jun 2016 18:45:31 +0000 (12:45 -0600)]
layers: Update swapchainMap to use unique_ptr
Tobin Ehlis [Thu, 2 Jun 2016 18:41:47 +0000 (12:41 -0600)]
layers: Added getSwapchainNode() helper
Added getSwapchainNode() helper to core_validation and update
DescriptorSet class to use it.
Tobin Ehlis [Thu, 2 Jun 2016 18:13:32 +0000 (12:13 -0600)]
layers: Add getSwapchainFromImage() helper
Add getSwapchainFromImage() to core_validation and use it from
DescriptorSet class.
Tobin Ehlis [Thu, 2 Jun 2016 17:56:40 +0000 (11:56 -0600)]
layers: Remove unneeded layout_map
Tobin Ehlis [Thu, 2 Jun 2016 17:49:22 +0000 (11:49 -0600)]
layers: Add getImageNode() helper
Add getImageNode() helper to core_validation and use it.
Also update DescriptorSet class to use the helper and kill
its image_map member.
Tobin Ehlis [Thu, 2 Jun 2016 16:54:09 +0000 (10:54 -0600)]
layers: Add getImageViewData() helper
Switch imageViewMap to store unique_ptrs. Add getImageViewDate() helper
to core_validation and update DescriptorSet to use it.
Tobin Ehlis [Thu, 2 Jun 2016 16:08:53 +0000 (10:08 -0600)]
layers: Add getSamplerNode() helper
Kill sampler_map_ in DescriptorSet and add getSamplerNode() helper
and use it instead.
Tobin Ehlis [Thu, 2 Jun 2016 15:43:11 +0000 (09:43 -0600)]
layers: Add getBufferViewInfo() helper
Add helper function to core_validation for bufferViewMap look-ups
and use the helper in DescriptorSet class.
Tobin Ehlis [Thu, 2 Jun 2016 14:43:37 +0000 (08:43 -0600)]
layers: Update getMemObjInfo helper
Standardize core_validation use of getMemObjInfo() and update
DescriptorSet class to use it as well.
Tobin Ehlis [Thu, 2 Jun 2016 13:46:52 +0000 (07:46 -0600)]
layers: Add getBufferNode() helper
Move core_validation bufferMap to use unique_ptr to BUFFER_NODE.
Perform bufferMap look-ups using getBufferNode() helper function.
Update DescriptorSet class to use getBufferNode() helper and store
layer_data instead of bufferMap.
Tobin Ehlis [Wed, 1 Jun 2016 22:41:17 +0000 (16:41 -0600)]
layers: Make layer_data visible to DescriptorSet
This is the start of migrating core_validation::layer_data to be
visible in DescriptorSet class.
DescriptorSet class can't see the contents of layer_data, so it also
needs the get<Object>() helper functions to look up items from the
maps. This first change only brings along getSetNode() utility
function so only set_map references can be removed.
Will add follow-on CLs to remove more maps from DescriptorSet class
and bring in more utility functions.
Karl Schultz [Thu, 2 Jun 2016 22:48:30 +0000 (16:48 -0600)]
Update BUILD.md
Remove statement indicating that the Linux SDK installs the loader and layers to system libraries; it no longer does this.
Dustin Graves [Tue, 31 May 2016 22:32:29 +0000 (16:32 -0600)]
cmake: Fix MSVCRT override
Fix the CMake code that overrides the /MD flag with the /MT flag for
the Windows demo and loader projects. The CMake debug and release
variables were set to /MTd and /MT, overriding all existing debug
and release settings.
Now replacing /MD with /MT in the debug and release variables,
without losing other debug/release settings. Also performing
the MD/MT substitution for all release and debug configurations.
Change-Id: Id4a57c38bde0d909a95e7a49d9867029829e2c61
Tobin Ehlis [Wed, 1 Jun 2016 17:56:42 +0000 (11:56 -0600)]
layers: Comment update
The behavior of the PreCallValidateAllocateDescriptorSets slightly
changed so updating comment accordingly.
Tobin Ehlis [Wed, 1 Jun 2016 17:33:50 +0000 (11:33 -0600)]
layers: Pass common data between pre/post AllocDescriptorSets
With the break between PreValidate* and PostRecord* calls in the layers
we can suffer having to do some repeat work in the Post step. In order
to prevent this, this CL slightly modifies the interface to pass common
data between the pre/post calls in a custom AllocateDescriptorSetsData
struct.
I initially attempted to fill this data in a separate function that
would preceed the PreValidate* call, but such a function would need to
include some validation as it includes map checks which may fail.
The simplest solution, then, seems to be passing a ptr to the common
data to the PreValidate* function who then fills the data. If the
validation and call down the chain succeed, the PostRecord* function
then takes a ptr to the common data to prevent having to redo the
work that was done at validation time.
Tobin Ehlis [Thu, 26 May 2016 17:21:59 +0000 (11:21 -0600)]
layers: Add DescriptorSet interface for allocation
Create a top-level "Validate" and "Perform" interface for the
vkAllocateDescriptorSets() function in DescriptorSet class.
Refactor AllocateDescriptorSets() in core_validation to use the
new interface. All checks are now performed in a "Pre" function
and all state updates are recorded in a "Post" function.
Tobin Ehlis [Thu, 26 May 2016 17:20:13 +0000 (11:20 -0600)]
layers: Migrate DESCRIPTOR_POOL_NODE to type header
iostrows [Thu, 2 Jun 2016 13:56:26 +0000 (15:56 +0200)]
layers: GH611 Fix dynamic offset indexing
Chia-I Wu [Thu, 19 May 2016 23:11:22 +0000 (07:11 +0800)]
layers: simplify v0 function implementations
Since each of the layer library contains only a layer, we can simplify v0
functions by making them wrappers to the contained layer's corresponding
commands.
While we have to make changes to each layer individually, all the changes
should be the same in spirit. The exception is vk-layer-generate.py where
the missing vkEnumerateDeviceExtensionProperties is also added.
Dustin Graves [Mon, 30 May 2016 22:14:27 +0000 (16:14 -0600)]
layers: More noautovalidity processing for structs
Apply 'noautovalidity' code generation logic to struct members.
Previously, struct pointers tagged as noautovalidity were ignored by
the code generator, but the members of non-NULL struct pointers
were still processed. Now both the struct pointer and the struct
members are ignored when the struct pointer has the 'noautovalidity'
attribute.
Change-Id: I14bc231210f2440fb8bb3df8c73ef165100f0daa
Mark Mueller [Mon, 30 May 2016 22:46:38 +0000 (16:46 -0600)]
layers: LX506 fix vkFlushMappedMemoryRanges validation error
Fix LX506: vkFlushMappedMemoryRanges validation error
with VkMappedMemoryRange::size = VK_WHOLE_SIZE.
Resolution: Change test of size variable to correctly test the
size passed by application against the relevant mapped memory
Change-Id: I6d855482985512b5096696f5c37346dde8a391ac
David Pinedo [Wed, 1 Jun 2016 16:31:51 +0000 (10:31 -0600)]
winrtinstaller: update signature on powershell config script
Mark Young [Tue, 31 May 2016 21:25:46 +0000 (15:25 -0600)]
winrt: Disable temp log in RT install.
Mark Young [Tue, 31 May 2016 20:34:08 +0000 (14:34 -0600)]
winrt: Add more Powershell logging to RT install
RT install Powershell script was using echo. Now use transcript
recording (which will also include OS, Powershell version, and other
info). Also, use Write-Host, Write-Warning, and Write-Error to
make errors and warnings more obvious.
NOTE: This includes intentional debug code enablement so I can
retrieve an RT install that does not remove a copy of the
Powershell log file. This will be fixed quickly after the RT install
is generated on CruiseControl.
Tobin Ehlis [Tue, 31 May 2016 19:59:26 +0000 (13:59 -0600)]
tests: Add test for new renderpass clearValue check
Add test to hit the case where number of CLEAR loadOps in used
by renderPass attachments is greater than clearValueCount given
at renderPass begin time.
Also update documentation.
Tobin Ehlis [Tue, 31 May 2016 19:20:20 +0000 (13:20 -0600)]
layers: Kill redundant check
At this point in the code we already know that renderPass is
valid so no need to re-check it.
Tobin Ehlis [Tue, 31 May 2016 19:06:24 +0000 (13:06 -0600)]
layers: GH601 Add check for clearValueCount
We were missing check "clearValueCount must be greater than or equal
to the number of attachments in renderPass that specify a loadOp of VK_ATTACHMENT_LOAD_OP_CLEAR" (Vulkan spec 1.0.15 section 7.4)
This change adds that check.
Cody Northrop [Tue, 31 May 2016 15:36:37 +0000 (09:36 -0600)]
docs: Improve OSX steps for Android
Cody Northrop [Wed, 25 May 2016 14:23:45 +0000 (08:23 -0600)]
toolchain: Simplify setup for shaderc, use https instead of git@
Tobin Ehlis [Wed, 25 May 2016 17:12:50 +0000 (11:12 -0600)]
tests: Add descriptor usage bit tests
When updating descriptor sets, correct usage bit must be set depending
on the type of update. New test, DSUsageBitsErrors cycles through all
of the different update types that can hit usage bit errors and
intentionally hits all of the errors.
Tobin Ehlis [Wed, 25 May 2016 15:24:36 +0000 (09:24 -0600)]
layers: DescriptorSet class indentation fixes
More cases where "else" blocks weren't needed because the
"if" block returns.
Tobin Ehlis [Tue, 24 May 2016 19:07:12 +0000 (13:07 -0600)]
layers: Improve descriptor copy update validation
Add buffer usage bit validation for descriptor copy updates.
Pass down known descriptor type to copy validate function to
avoid having to look it up again.
Fix various incorrect "write" references in the copy update
error messages.
Tobin Ehlis [Tue, 24 May 2016 18:35:57 +0000 (12:35 -0600)]
layers: Remove unneeded else block
The "if" case returns so no need for this else block or the indentation
that it includes.
Tobin Ehlis [Tue, 24 May 2016 18:33:42 +0000 (12:33 -0600)]
layers: Add usage bit validation for buffer descriptors
Verify that buffer used to update all buffer descriptor types (texel or
general) has the correct usage bits set.
descriptor
Tobin Ehlis [Tue, 24 May 2016 17:14:43 +0000 (11:14 -0600)]
layers: Add usage bit validation for image descriptors
Verify that images used in imageView that's passed to various image
descriptor types have the correct usage bits set.
Tobin Ehlis [Thu, 26 May 2016 19:39:11 +0000 (13:39 -0600)]
layers: Update freeDescriptorSet() comment
Tobin Ehlis [Thu, 26 May 2016 19:30:45 +0000 (13:30 -0600)]
layers: Refactor FreeDescriptorSets()
Create PreValidate/PostRecord functions for FreeDescriptorSets().
Currently the validation and state updates are handled in-line
in these functions, but this change makes it easy to migrate the
code to descriptor pool class without affecting top-level
intercept function.
Tobin Ehlis [Thu, 26 May 2016 19:12:38 +0000 (13:12 -0600)]
layers: Make layer_data const in getPoolNode()
Remove "[]" map operator and use iterator from find instead
to return pool ptr so that layer_data param can be const.
This will allow this function to be used from "PreValidate" calls
where no state is changed.
Chris Forbes [Sun, 29 May 2016 23:47:31 +0000 (11:47 +1200)]
layers: take better advantage of emplace_back in descriptor sets
Doesn't win us anything to use emplace_back to invoke a copy
constructor. Construct the unique_ptr from raw ptr in-place instead.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chia-I Wu [Sun, 29 May 2016 23:36:59 +0000 (07:36 +0800)]
add vk-layer-introspect
It can be used to validate the introspection functions or generate the
manifest file for a layer library.
$ ./vk-layer-introspect build/layers/libVkLayer_core_validation.so
{
"file_format_version": "1.0.0",
"layer": {
"api_version": "1.0.13",
"description": "LunarG Validation Layer",
"implementation_version": "1",
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
"spec_version": "2"
}
],
"library_path": "./libVkLayer_core_validation.so",
"name": "VK_LAYER_LUNARG_core_validation",
"type": "GLOBAL"
}
}
Chris Forbes [Tue, 31 May 2016 04:34:40 +0000 (16:34 +1200)]
layers: Remove old hacks for imprecise descriptor tracking for compute
We do it properly now.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 31 May 2016 04:33:48 +0000 (16:33 +1200)]
layers: Do accurate draw-time validation of descriptors used by compute
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 31 May 2016 04:45:13 +0000 (16:45 +1200)]
layers: Make precise DS validation work for both bind points
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 31 May 2016 04:09:42 +0000 (16:09 +1200)]
layers: Wire up validation of compute pipelines
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Thu, 26 May 2016 12:14:30 +0000 (06:14 -0600)]
tests: Update doc for dynamic state tests