Lenny Komow [Thu, 10 Aug 2017 15:25:49 +0000 (09:25 -0600)]
loader: Replace overzealous warnings with info
The new ICD search functionality was logging warnings in some places
where information was more appropriate, such as when opening a device
or for some errors that simply indicated that the new format is not
supported yet.
Change-Id: Ifc8ce33d778783f3f55102783bf6ede0dd7c2a00
Lenny Komow [Wed, 9 Aug 2017 22:01:59 +0000 (16:01 -0600)]
loader: Don't load manifest files more than once
Change-Id: I2802ad0c1fd16c0287ed24b96ec6d81c4b3c711a
Slawomir Cygan [Wed, 9 Aug 2017 09:36:52 +0000 (11:36 +0200)]
loader: Fix size handling when scanning registries
loaderGetRegistryFiles() should not start from 4096 size, if
loaderGetDeviceRegistryFiles function has already appended something
into the buffer.
Slawomir Cygan [Mon, 3 Jul 2017 14:47:52 +0000 (16:47 +0200)]
loader: Add new ICD search paths to loader
This change extends the functionality of searching for ICD JSONs by
adding registry locations specific to given display adapter and
software components associated with this display adapter.
The exact locations in registry are queried using Windows public PnP
Configuration Manager API[1].
This change is required, as previous ICD locations (constant path
in "HKLM/Software") may be unreachable for drivers and their
installers on Windows RS3[2].
Similar change is being made for OpenCL[2]
[1]https://msdn.microsoft.com/en-us/library/windows/hardware/
ff549713.aspx
[2]https://github.com/KhronosGroup/OpenCL-ICD-Loader/pull/21
Petr Kraus [Tue, 8 Aug 2017 19:46:02 +0000 (21:46 +0200)]
layers: PR1950, Update subresource range VUIDs
With updated test names in database.
Change-Id: Ie6cb2dfa9fa84de2dd0dea645249fe03c6780eba
Tobin Ehlis [Wed, 9 Aug 2017 15:10:37 +0000 (09:10 -0600)]
layers:Fix consecutive binding updates
Fixes #1992
When we're wrapping a descriptor update for consecutive bindings, fix
code so that index into update array consistently increases.
Bas Nieuwenhuizen [Tue, 25 Jul 2017 21:58:20 +0000 (23:58 +0200)]
build: PR1972, Install vk_layer_dispatch_table.h hdr
vk_layer.h is installed and includes it. Also, vk_layer.h is needed
to write third party layers, so I don't think not installing vk_layer.h
is an option.
Change-Id: I3e34d8484fdc5092edff3bab72991303a4aeb2c7
Chris Forbes [Wed, 9 Aug 2017 00:35:51 +0000 (17:35 -0700)]
layers: Untangle side effects in CmdWaitEvents
Tony Barbour [Tue, 8 Aug 2017 18:51:33 +0000 (12:51 -0600)]
layers: Fix CmdPushDescriptorSet object tracker
Ignore the dstSet field of VkWriteDescriptorSet as indicated
by the spec
Change-Id: I28ca6ea3059f5528bdf369954e1621ef670e0d54
Mike Weiblen [Mon, 7 Aug 2017 18:02:27 +0000 (12:02 -0600)]
Update commit IDs: glslang,tools
Change-Id: Ie24b136b2df3718ba1c9ee493d69716304795a11
Mike Schuchardt [Mon, 7 Aug 2017 19:11:09 +0000 (13:11 -0600)]
demos: Revert AppDevInitFormat changes
Calling vkGetPhysicalDeviceFormatProperties with extension formats is
not valid and causes crashes on some drivers. Revert the list of
VkFormats to the original range.
Change-Id: I2b7f0bd5bb49a66cd073216e93e3bba35c67ab98
Cort [Sat, 5 Aug 2017 23:32:14 +0000 (16:32 -0700)]
layers: Fix swapchain extent check
This fixes a regression introduced -- by me :( -- in commit
583b0c41dfd0876d0481920f2e6d8d87433bc1d7. The swapchain's
imageExtent must always be within the surface's min/max extent,
regardless of the surface's current extent.
Mark Lobodzinski [Wed, 2 Aug 2017 16:45:24 +0000 (10:45 -0600)]
layers: Fix incorrect VUID for negative viewport ht
Layers used the wrong VUID for the checks for negative viewport
height if the extensions were not enabled.
Fixed existing test, added a new test, and updated the database,
and removed special case from validation_stats script.
Change-Id: Ia165e6245990a4fabb3745102b345a7b4f1b0202
Chris Forbes [Wed, 2 Aug 2017 00:19:52 +0000 (17:19 -0700)]
layers: Don't do bogus transitions in invalidateCommandBuffers
Total nonsense like:
RECORDING -> INVALID_INCOMPLETE -> INVALID_COMPLETE
was possible when there were two invalidations.
Mark Lobodzinski [Tue, 1 Aug 2017 15:15:06 +0000 (09:15 -0600)]
header: Update to version 1.0.57 of the vulkan hdr
- updated vulkan.h
- updated vk.xml
- updated cgenerator.py
- updated Win/Lin json files
- updated and fixed vk_validation_error_database.h
- updated vk_validation_error_messages.h
- updated vulkan.hpp
Change-Id: Idebc490660833daac43d234db44131e9bf2b910b
Mike Weiblen [Fri, 28 Jul 2017 19:18:39 +0000 (13:18 -0600)]
external: Update commit IDs: glslang,tools,header
Update external reference commit IDs for Desktop and Android
Change-Id: I0b79c9e030e06479d1f07d4d3372dcc96bfa2f0e
Tobin Ehlis [Fri, 28 Jul 2017 18:11:30 +0000 (12:11 -0600)]
layers:Rename lambda function container
Change name to queue_submit_functions to reflect the fact that validate
functions in this container are executed at QueueSubmit() time.
Tobin Ehlis [Fri, 28 Jul 2017 17:56:04 +0000 (11:56 -0600)]
layers:Pass framebuffer into barrier lambda
Pass framebuffer into image barrier validation lambda so that secondary
CB state doesn't have to be updated in CmdExecuteCommands. Just pass in
framebuffer from primary CB instead.
Update secondary CB lambda container name to reflect the fact that those
functions are executed at CmdExecuteCommands() time.
Tobin Ehlis [Thu, 27 Jul 2017 17:08:00 +0000 (11:08 -0600)]
layers:Delay barrier validation for secondary CB
When a secondary command buffer doesn't have a framebuffer, queue up
any renderPass barrier validation until submit time when we know we'll
have a framebuffer bound.
Added a separate vector of validation functions that are added to
secondary command buffer for this case and then executed at
CmdExecuteCommands() time.
Migrated the image validation that needs to be delayed to its own
function. This makes it easy to add to the delayed function array and
capture a copy of the image barrier that needs to be validated.
In CmdExecuteCommands() when validation runs inherit the activeFB
from the primaryCB into the secondary CB.
Tony Barbour [Fri, 28 Jul 2017 15:08:26 +0000 (09:08 -0600)]
demos: Fix cube to use correct pipeline stage for barrier
Change-Id: Ia85e0acc67694d859077044ad24b13b0ad834811
Tony Barbour [Fri, 28 Jul 2017 16:08:24 +0000 (10:08 -0600)]
tests: Update VALIDATION_ERROR_1b800942
Change-Id: I14651b387848d3d1cc8bd3f5e0051ba8dce12e66
Tobin Ehlis [Mon, 24 Jul 2017 20:58:09 +0000 (14:58 -0600)]
layers:Verify dstAccessMask supported by stageMask
This is VALIDATION_ERROR_1b800942.
Verify that barrier drcAccessMask is supported by drcStageMask.
Tobin Ehlis [Mon, 24 Jul 2017 20:34:24 +0000 (14:34 -0600)]
tests:Test srcAccessMask/srcStageMask conflict
New test case for VALIDATION_ERROR_1b800940.
Create srcAccessMask conflict with srcStageMask in memory barrier.
Fix a bunch of existing test cases that were triggering this new
check b/c srcStageMask conflicted w/ barrier srcAccessMask.
Tobin Ehlis [Mon, 24 Jul 2017 20:32:51 +0000 (14:32 -0600)]
layers:Verify accessMask supported by stageMask
This is VALIDATION_ERROR_1b800940.
Verify that barrier srcAccessMask is supported by srcStageMask.
Tobin Ehlis [Mon, 24 Jul 2017 18:57:52 +0000 (12:57 -0600)]
tests:Test queueFamilyIndex for image barrier
Add test for VALIDATION_ERROR_1b80093c to RenderPassBarrierConflicts.
For image barrier in renderPass, src&dstQueueFamilyIndex must be
VK_QUEUE_FAMILY_IGNORED.
Tobin Ehlis [Mon, 24 Jul 2017 17:35:57 +0000 (11:35 -0600)]
layers:Verify image barrier queueFamilyIndices
This is VALIDATION_ERROR_1b80093c.
For image barrier in renderPass both src & dst queueFamilyIndex members
must be VK_QUEUE_FAMILY_IGNORED.
Mark Lobodzinski [Thu, 27 Jul 2017 18:09:08 +0000 (12:09 -0600)]
scripts: Exclude disable extension enums
Including these enums hosed up the private builds.
Change-Id: I74fcb628171dfd70e7bce03e7ede35d4d22a75b5
Mark Lobodzinski [Wed, 26 Jul 2017 20:16:21 +0000 (14:16 -0600)]
layers: Add VUID for LogicOp validation check
Change-Id: I19f10ee8e45af336290b36107db8bfe1c41c3a88
Mark Lobodzinski [Tue, 25 Jul 2017 21:32:11 +0000 (15:32 -0600)]
layers: Remove PV dead code, fixup comments
Change-Id: I94804f0b994618982afcb344dc88b92a9bee3336
Mark Lobodzinski [Tue, 25 Jul 2017 21:29:57 +0000 (15:29 -0600)]
scripts: Generate PV calls to ranged_enum_array fcn
Change-Id: I106fe73c2199d1b4d8aa090bd22bb79884637d58
Mark Lobodzinski [Tue, 25 Jul 2017 21:29:36 +0000 (15:29 -0600)]
layers: Add new ranged_enum_array val routine
Change-Id: I2b78d90bd248a6800f719ef89c534140cb217ad8
Mark Lobodzinski [Tue, 25 Jul 2017 21:10:29 +0000 (15:10 -0600)]
scripts: Generate calls to new enum PV function
Change-Id: I9692f1b2101d6cc1eef3bf55582dbf7980c4e8d2
Mark Lobodzinski [Tue, 25 Jul 2017 20:49:06 +0000 (14:49 -0600)]
layers: Add new PV ranged enum validation function
Uses new enum lists.
Change-Id: I24629770e1018f5938fa82d2a3da8eb1cd716de7
Mark Lobodzinski [Tue, 25 Jul 2017 20:29:42 +0000 (14:29 -0600)]
scripts: Generate param_validation valid enum lists
Change-Id: I0dd6bf95bf54baa9a71f41a482bc52527944aea8
Mark Lobodzinski [Mon, 24 Jul 2017 22:15:37 +0000 (16:15 -0600)]
layers: GH1924, Improve unavailable feature msg
Modified the unavailable requested feature error message to print the
feature name instead of just an index.
Change-Id: Idcb66921fc592014330dce6946631984d85cd866
Mark Lobodzinski [Mon, 24 Jul 2017 22:14:16 +0000 (16:14 -0600)]
scripts: Add PDevFeature index print helper
In the Enum string helper header, tack on a routine to convert an
index into a VkPhysicalDeviceFeatures structure into its
corresponding feature string.
Change-Id: I8fbfb6fcbfa63361a851ffc93ffd832696050d51
Mike Schuchardt [Sun, 23 Jul 2017 18:47:47 +0000 (12:47 -0600)]
scripts: Switch codegen to use structextends
Replace all usages of the deprecated validextensionstructs member
attribute with the registry.validextensionstructs dict. Internally the
registry builds this extension dictionary using the new structextends
type attribute.
Change-Id: I072ff707bfdfa1f576266291e4196837da526287
Mark Lobodzinski [Mon, 24 Jul 2017 17:05:40 +0000 (11:05 -0600)]
header: Update to version 1.0.56 of the Vulkan hdr
- updated vulkan.h
- updated vk.xml
- updated Win/Lin .json files
- updated vk_validation_error_database.h
- updated vk_validation_error_messages.h
- updated vulkan.hpp
Change-Id: Ibf64c8a1760743b3118794b0ef5f6d34b108bbbc
Tobin Ehlis [Fri, 21 Jul 2017 20:12:23 +0000 (14:12 -0600)]
layers:Refactor image barrier validation
Move image barrier validation within a renderPass into its own function
in order to break up existing code a bit. Add a check to make sure
framebuffer is valid before attempting to use FB state.
Tobin Ehlis [Fri, 21 Jul 2017 19:45:31 +0000 (13:45 -0600)]
layers:Minor refactor for clarity
Add comment and move VkSubpassDescription local variable assignment to
clarify what's going on.
Tobin Ehlis [Fri, 21 Jul 2017 16:17:07 +0000 (10:17 -0600)]
tests:Add image mis-matched layout test
Test for VALIDATION_ERROR_1b800938.
Verify check fires when subpass attachment layout does not match image
barrier layout.
Tobin Ehlis [Fri, 21 Jul 2017 16:16:08 +0000 (10:16 -0600)]
layers:Refactor barrier check order
Do the renderPass barrier check first and early return to avoid
potential redundant errors from remaining layout and barrier checks.
Tobin Ehlis [Thu, 20 Jul 2017 23:56:48 +0000 (17:56 -0600)]
layers:Check image barrier layout vs attachment
This is VALIDATION_ERROR_1b800938.
Make sure that the attachment references by current subpass description
has a layout that matches image barrier layout.
Tobin Ehlis [Thu, 20 Jul 2017 23:47:24 +0000 (17:47 -0600)]
layers:Check barrier image vs subpass attachments
This is the second half of VALIDATION_ERROR_1b800936, for which the
first half was already implemented. Make sure that VkSubpassDescription
for current subpass references the attachment that has an image
matching the image barrier.
Tobin Ehlis [Thu, 20 Jul 2017 23:44:50 +0000 (17:44 -0600)]
layers:Only deref active subpass once
Grab active subpass once initially to avoid repeated defers of cb_state
Tobin Ehlis [Thu, 20 Jul 2017 16:20:44 +0000 (10:20 -0600)]
layers:Migrate image barrier check
This check is only relevant within a renderPass so move it to the
function specifically dedicated for in-renderPass barrier checks.
Tobin Ehlis [Thu, 20 Jul 2017 15:39:04 +0000 (09:39 -0600)]
tests:Test invalid image in VkImageMemoryBarrier
Add case to RenderPassBarrierConflicts where a VkImageMemoryBarrier in
a renderPass refers to an image that's not an attachment of the current
framebuffer.
Tobin Ehlis [Thu, 20 Jul 2017 14:31:01 +0000 (08:31 -0600)]
layers:Add image barrier image check
This is VALIDATION_ERROR_1b800930.
Make sure that image in VkImageBarrier matches one of the images in the
current framebuffer.
Chris Forbes [Sat, 22 Jul 2017 00:00:57 +0000 (17:00 -0700)]
tests: Add test for #1910
Chris Forbes [Fri, 21 Jul 2017 21:03:06 +0000 (14:03 -0700)]
layers: Resolve TODO about actual layouts
This VU exists now in recent specs.
Chris Forbes [Fri, 21 Jul 2017 20:59:01 +0000 (13:59 -0700)]
layers: Implement check for binding of maint1 slice of 3d image to DS
Fixes #1910
Chris Forbes [Fri, 21 Jul 2017 20:22:20 +0000 (13:22 -0700)]
layers: Fix mismatched new[] / delete
Likely benign on anything reasonable, but still UB.
Mark Lobodzinski [Fri, 21 Jul 2017 19:57:51 +0000 (13:57 -0600)]
layers: Remove now-redundant OT hdr prototypes
Codegen creates its own prototypes, no longer need them in the header
file.
Change-Id: Ibaab124a26391dc4925e49f095ddac83523aa725
Mark Lobodzinski [Fri, 21 Jul 2017 16:16:53 +0000 (10:16 -0600)]
build: Switch to generated object_tracker.cpp
- updated desktop/android build
- removed layers/object_tracker.cpp
- updated doc validator script for new location
- updated error database for 124 new checks
- added gen'd VU to GetSwapchainImages
Change-Id: If1b218dfcf62b203a8df96a0f12cbeb8bdcaf826
Mark Lobodzinski [Tue, 18 Jul 2017 19:56:09 +0000 (13:56 -0600)]
scripts: Create object_tracker generator
Change-Id: Ia97d2141a54263a9f034958f416661146dd953e2
Mark Lobodzinski [Tue, 18 Jul 2017 19:49:05 +0000 (13:49 -0600)]
scripts: Add OT generator to main script
Change-Id: I9419cdfdc39d33f5cc9f769c7498fde0230b144b
Mark Lobodzinski [Thu, 20 Jul 2017 16:38:46 +0000 (10:38 -0600)]
scripts: Update vuid_mapping script
Change-Id: I704df0840801734ca35d5137a9d79d5a202b4fb9
Mark Lobodzinski [Thu, 20 Jul 2017 18:42:56 +0000 (12:42 -0600)]
layers: Remove flags checks from OT
These two checks were opportunistic and won't automatically be
covered by codegen. Removing now for clarity.
Change-Id: I3ada65c80094e8fa732a4ffc0da8c9ddeb0e11e0
Mark Lobodzinski [Thu, 20 Jul 2017 18:40:10 +0000 (12:40 -0600)]
layers: Remove erroneous checks from OT/DB
Change-Id: I57ae325f27b365cd3b4e0f24d033af76ceeaeec7
Mark Lobodzinski [Wed, 19 Jul 2017 19:03:22 +0000 (13:03 -0600)]
layers: Update API for vulkan parameter def change
One of the DebugMarkerSetObjectName parameters changes to const.
Change-Id: I23455957b83a84983bc7217a2a0d937ae03055e2
Mark Lobodzinski [Fri, 21 Jul 2017 19:23:13 +0000 (13:23 -0600)]
layers: Move GetSwaphchainImages func in OT
Special case function must avoid code generation.
Change-Id: I7c03cb2c0b4053f3d2b0579d532f1da82be80bd4
Mark Lobodzinski [Wed, 19 Jul 2017 21:18:15 +0000 (15:18 -0600)]
layers: Move GetDeviceQueue func in OT
Special case function must avoid code generation.
Change-Id: I786d4ef4a8855f10e9cfe1234a5d885056f50a93
Mark Lobodzinski [Wed, 19 Jul 2017 18:37:04 +0000 (12:37 -0600)]
layers: Move CreateComputePipelines in OT
Moved to manually-generated, it has an odd corner case that's a one-
off and not worth code-generating.
Change-Id: I2631dd2107fffcd7e641b5a98bee126502d61ba8
Lenny Komow [Thu, 20 Jul 2017 22:07:14 +0000 (16:07 -0600)]
loader: Remove executable stack from libvulkan.so
Change-Id: Id77d5560479cbbc6f5453a6362c5a20dd721fdd0
Lenny Komow [Thu, 20 Jul 2017 20:31:16 +0000 (14:31 -0600)]
demos: Fix pointer cast warning in vulkaninfo
Change-Id: I6acebbcbb9a10d86f3b7ec56148d9a680d085921
Chris Forbes [Thu, 20 Jul 2017 20:10:24 +0000 (13:10 -0700)]
layers: adjust naming style
Chris Forbes [Thu, 20 Jul 2017 18:19:16 +0000 (11:19 -0700)]
layers: Don't complain about missing FS outputs if attachment mask is 0.
Fixes #1931.
Chris Forbes [Thu, 20 Jul 2017 18:10:09 +0000 (11:10 -0700)]
layers: Pass entire pipeline state down to FS output check
Jeremy Kniager [Mon, 10 Jul 2017 19:12:04 +0000 (13:12 -0600)]
LVL: Add validation check for CreateImageView
Added validation checks, tests, and updated error database.
Change-Id: Id4dfe66bc325ae0060b7668572026c8a40f83d64
Jeremy Kniager [Wed, 28 Jun 2017 17:46:10 +0000 (11:46 -0600)]
demos: Add extension support to vulkaninfo
Change-Id: I7b9c729a90571d2888d7a22a9899546c547e6153
Tobin Ehlis [Thu, 20 Jul 2017 14:38:33 +0000 (08:38 -0600)]
layers:Update descriptor state earlier
This change arises from an issue reported by Alon at Samsung. He
reports that a driver bug is modifying the descriptor set state on
UpdateDescriptorSets() call, so the data is getting corrupted in
validation. Since UpdateDescriptorSets() is a void function, it
doesn't make a difference in validation if we update state before or
after the call, since the call itself won't change the state being
updated. It actually saves us a lock call to update pre-call.
Tobin Ehlis [Wed, 19 Jul 2017 19:47:58 +0000 (13:47 -0600)]
tests:Test invalid renderPass bufferMemoryBarrier
Test case where VkBufferMemoryBarrier is incorrectly issued within a
renderPass.
Kill old code that was doing the same check/test w/o the VUID.
Tobin Ehlis [Wed, 19 Jul 2017 19:20:01 +0000 (13:20 -0600)]
tests:Test barrier dependencyFlags mis-match
This is VUID VALIDATION_ERROR_1b800932. Case where barrier
dependencyFlags mis-matches subpass dependency dependencyFlags.
Also update VU DB.
Tobin Ehlis [Wed, 19 Jul 2017 17:11:52 +0000 (11:11 -0600)]
layers:Add image mem barrier access mask checks
Complete remaining work for VALIDATION_ERROR_1b80092e and
VALIDATION_ERROR_1b800930. Make sure the image memory barriers src/dst
access masks are a subset of corresponding subpass self-dependency
access masks.
Tobin Ehlis [Wed, 19 Jul 2017 16:41:29 +0000 (10:41 -0600)]
layers:Validate bufferMemoryBarrierCount
This is VU VALIDATION_ERROR_1b800934.
For a barrier in renderPass, bufferMemoryBarrierCount must be zero.
Tobin Ehlis [Wed, 19 Jul 2017 16:24:29 +0000 (10:24 -0600)]
layers:Validate barrier dependencyFlags
This is VUID VALIDATION_ERROR_1b800932. Verify that an barrier in a
renderPass has a dependencyFlags value that matches the corresponding
subpass self-depenency dependencyFlags value.
Lenny Komow [Tue, 18 Jul 2017 17:20:05 +0000 (11:20 -0600)]
winsdk: Hide runtime in programs and features
Change-Id: Ibc5028f660c91f66d986af19f6c7959eb9b55359
Mark Young [Fri, 14 Jul 2017 23:11:31 +0000 (17:11 -0600)]
loader: Fix vkEnumerateDeviceLayerProperties
The device layers should list the names of the original layers
enabled during vkCreateInstance. We were expanding the
meta-layers which caused there to be a mismatch in names.
NOTE: that this list still include Implicit and Environment
variable enabled layers since those are techincally enabled at
vkCreateInstance as well.
Change-Id: I3ef88623e96a12a8f18f8f04e95a6f5444f4be56
Mark Lobodzinski [Tue, 18 Jul 2017 19:15:47 +0000 (13:15 -0600)]
layers: Update object_tracker var/func names
Change-Id: Iacc0cb2676cd2346879d7d51e91b9b75232d5ad4
Mark Lobodzinski [Thu, 6 Jul 2017 21:28:11 +0000 (15:28 -0600)]
layers: Reorganize ObjectTracker for future codegen
Moved to-be-generated source to object_tracker.cpp, manually-
written and helper functions to object_tracker_utils.cpp (new
file), and reworked header. Updated doc validator to search
new file.
Change-Id: I0fd3bcc4f6d123db07c7f8e2633e6fe16833e231
Tobin Ehlis [Tue, 18 Jul 2017 17:22:08 +0000 (11:22 -0600)]
layers:Handle ALL_*_BIT pipe stage barrier validation
Update barrier validation to handle VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
and VK_PIPELINE_STAGE_ALL_COMMANDS_BIT cases in the subpass dependency.
Expand GFX bit as it's an alias for a fixed set of bits. If
ALL_COMMANDS is specified then skip validation because we know that
barrier mask must be a subset of subpass mask.
Tobin Ehlis [Tue, 18 Jul 2017 15:41:27 +0000 (09:41 -0600)]
tests:Update self-dependency tests
Move renderPass barrier w/o self-dependency test from InvalidBarriers
to RenderPassBarrierConflicts test case. This prevents having to
re-created the default renderPass in InvalidBarriers test.
Also update framework subpass with self-dependency to set a group of
gfx pipe/access masks instead of EVERY mask, which is not allowed.
Tobin Ehlis [Mon, 17 Jul 2017 21:08:54 +0000 (15:08 -0600)]
tests:Update RenderPassBarrierConflicts
Add accessMask tests to RenderPassBarrierConflicts. Hit the two cases
where src & dstAccessMasks from pMemoryBarriers are mis-matched from
VkSubpassDependency.
Tobin Ehlis [Mon, 17 Jul 2017 20:49:12 +0000 (14:49 -0600)]
layers:Add barrer access mask checks
Verify that src/dstAccessMask from pMemoryBarriers is a subset of the
corresponding mask from the relevant VkSubpassDependency instance.
Tobin Ehlis [Mon, 17 Jul 2017 20:03:12 +0000 (14:03 -0600)]
layers:Fix copy-paste dstStageMask print bug
Fix this copy-and-pasted error message by changing src->dst.
Tobin Ehlis [Mon, 17 Jul 2017 16:14:27 +0000 (10:14 -0600)]
layers:Refactor barrier validation
Migrate validation for renderpass barrier in CmdPipelineBarrier to its
own function. Refactor some device and command buffer params to avoid
duplicate look-ups. Add some const decls to command buffer state that
shouldn't change down the pre-call path.
Mark Lobodzinski [Mon, 17 Jul 2017 20:26:47 +0000 (14:26 -0600)]
header: Update to version 1.0.55 of the Vulkan hdr
- updated vulkan.h
- updated generator.py
- updated reg.py
- updated vk.xml
- updated Win/Lin json files
- fixed and updated vulkan.hpp
- updated validation error messages and database
- applied validextensionstruct fixes from 1.0.54 LVL vk.xml file
- fixed parameter_validation DebugMarker prototypes
- fixed unique_objects DebugMarker prototypes
- fixed NV_FILL_RECTANGLE in error DB
- updated error database with new covered VUs
Change-Id: I4eec816a6dc9756105a357beab6af4abb303994d
Jean-Francois Roy [Thu, 6 Jul 2017 21:10:13 +0000 (14:10 -0700)]
loader: Do not enumerate extensions from disabled implicit layers
This patch adds a check to vkEnumerateInstanceExtensionProperties to
omit extensions provided by disabled implicit layers. Per section 31.2
(1.0.51), "When pLayerName parameter is NULL, only extensions provided
by the Vulkan implementation or by implicitly enabled layers are
returned." Arguably, implicit layers that have been disabled are not
"implicitly enabled".
Tobin Ehlis [Thu, 13 Jul 2017 22:51:30 +0000 (16:51 -0600)]
layers:Add checks for barrier stage masks
Verify that the src & dst stage masks for a subpass barrier are a
subset of the subpass dependency's src & dst masks respectively.
Add RenderPassBarrierConflicts test to hit these cases. This test hits
the two cases of an image barrier src/dst masks not being a subset of
their corresponding subpass dependency masks.
Update database file to reflect that these checks are implemented and
that this test covers them.
Tobin Ehlis [Thu, 13 Jul 2017 19:48:04 +0000 (13:48 -0600)]
scripts:Update VUID Database
VALIDATION_ERROR_1b800928 is implemented and tested in InvalidBarriers.
Tobin Ehlis [Thu, 13 Jul 2017 19:07:39 +0000 (13:07 -0600)]
layers:Add subpass barrier self-dependency VUID
This is VALIDATION_ERROR_1b800928. Add the ID and slightly touch up the
error language. Also, this check should be general for any barrier
that's inserted for a renderPass so remove extra memBarrierCount
condition.
Tobin Ehlis [Fri, 14 Jul 2017 17:25:21 +0000 (11:25 -0600)]
layers:Handle deleted image view in descriptor
When an image descriptor with a destroyed image view was used we hit an
assert. This is not caught upstream and can occur if a descriptor is
re-used following image view deletion. Add code to catch this case
and report the destroyed image view.
Mark Lobodzinski [Fri, 7 Jul 2017 18:05:28 +0000 (12:05 -0600)]
layers: GH1933, Check for mutually exclusive exts
Add check for Maintenance1 and negative_viewport_height extensions being
enabled simultaneously, along with test and a database update.
Change-Id: Id44f2a322fd32883d8b6d7ff1dab56996dec76c7
Joey Bzdek [Wed, 7 Jun 2017 20:22:39 +0000 (14:22 -0600)]
demos: Add Wayland input handling to smoketest
Change-Id: I82cd3f004410dea1d173ef8022091d6f4463d0f5
Joey Bzdek [Wed, 14 Jun 2017 16:33:36 +0000 (10:33 -0600)]
demos: Clang-format Wayland and cube.cpp refactor
Change-Id: I73dac6489e41a94fc53a1c7942888a3a6479a805
Joey Bzdek [Wed, 7 Jun 2017 15:40:36 +0000 (09:40 -0600)]
demos: Add Wayland input handling to cube
Change-Id: I314ad9bc3e297da93f4d5c1d44289c9cca3a8fde
Joey Bzdek [Wed, 7 Jun 2017 15:37:37 +0000 (09:37 -0600)]
demos: Refactored Demo class in cubepp
Moved 'Demo' declaration to near the top of the file to avoid referencing
problems.
Change-Id: I084231ada5683971baa073f1b761ac214fa02cfd
Cort [Fri, 14 Jul 2017 12:30:30 +0000 (05:30 -0700)]
external: Update commit IDs: spirv-tools
This fixes an MSVC compiler warning that's treated as an error
(and breaks the external sources build on Windows).
Mark Young [Wed, 12 Jul 2017 16:06:19 +0000 (10:06 -0600)]
build: Fix loader/layer fallthrough warning
Change-Id: I04d563caa9000ccbfd5e6e509bf65ceaed9e388a
Mike Schuchardt [Wed, 12 Jul 2017 16:10:01 +0000 (10:10 -0600)]
layers: Update PV codegen for Windows warning
Code gen declarations of allowed_structs in nested scopes could cause
warnings in Windows. Modified codegen to append the type name to
allowed_structs (eg allowed_structs_VkGraphicsPipelineCreateInfo) to
avoid name collisions.
Change-Id: I40bd57ff34dcd1df01d3606c79dacbe06b00f464