platform/upstream/Vulkan-Tools.git
6 years agotests:Test srcAccessMask/srcStageMask conflict
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.

6 years agolayers:Verify accessMask supported by stageMask
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.

6 years agotests:Test queueFamilyIndex for image barrier
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.

6 years agolayers:Verify image barrier queueFamilyIndices
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.

6 years agoscripts: Exclude disable extension enums
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

6 years agolayers: Add VUID for LogicOp validation check
Mark Lobodzinski [Wed, 26 Jul 2017 20:16:21 +0000 (14:16 -0600)]
layers: Add VUID for LogicOp validation check

Change-Id: I19f10ee8e45af336290b36107db8bfe1c41c3a88

6 years agolayers: Remove PV dead code, fixup comments
Mark Lobodzinski [Tue, 25 Jul 2017 21:32:11 +0000 (15:32 -0600)]
layers: Remove PV dead code, fixup comments

Change-Id: I94804f0b994618982afcb344dc88b92a9bee3336

6 years agoscripts: Generate PV calls to ranged_enum_array fcn
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

6 years agolayers: Add new ranged_enum_array val routine
Mark Lobodzinski [Tue, 25 Jul 2017 21:29:36 +0000 (15:29 -0600)]
layers: Add new ranged_enum_array val routine

Change-Id: I2b78d90bd248a6800f719ef89c534140cb217ad8

6 years agoscripts: Generate calls to new enum PV function
Mark Lobodzinski [Tue, 25 Jul 2017 21:10:29 +0000 (15:10 -0600)]
scripts: Generate calls to new enum PV function

Change-Id: I9692f1b2101d6cc1eef3bf55582dbf7980c4e8d2

6 years agolayers: Add new PV ranged enum validation function
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

6 years agoscripts: Generate param_validation valid enum lists
Mark Lobodzinski [Tue, 25 Jul 2017 20:29:42 +0000 (14:29 -0600)]
scripts: Generate param_validation valid enum lists

Change-Id: I0dd6bf95bf54baa9a71f41a482bc52527944aea8

6 years agolayers: GH1924, Improve unavailable feature msg
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

6 years agoscripts: Add PDevFeature index print helper
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

6 years agoscripts: Switch codegen to use structextends
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

6 years agoheader: Update to version 1.0.56 of the Vulkan hdr
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

6 years agolayers:Refactor image barrier validation
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.

6 years agolayers:Minor refactor for clarity
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.

6 years agotests:Add image mis-matched layout test
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.

6 years agolayers:Refactor barrier check order
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.

6 years agolayers:Check image barrier layout vs attachment
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.

6 years agolayers:Check barrier image vs subpass attachments
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.

6 years agolayers:Only deref active subpass once
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

6 years agolayers:Migrate image barrier check
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.

6 years agotests:Test invalid image in VkImageMemoryBarrier
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.

6 years agolayers:Add image barrier image check
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.

6 years agotests: Add test for #1910
Chris Forbes [Sat, 22 Jul 2017 00:00:57 +0000 (17:00 -0700)]
tests: Add test for #1910

6 years agolayers: Resolve TODO about actual layouts
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.

6 years agolayers: Implement check for binding of maint1 slice of 3d image to DS
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

6 years agolayers: Fix mismatched new[] / delete
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.

6 years agolayers: Remove now-redundant OT hdr prototypes
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

6 years agobuild: Switch to generated object_tracker.cpp
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

6 years agoscripts: Create object_tracker generator
Mark Lobodzinski [Tue, 18 Jul 2017 19:56:09 +0000 (13:56 -0600)]
scripts: Create object_tracker generator

Change-Id: Ia97d2141a54263a9f034958f416661146dd953e2

6 years agoscripts: Add OT generator to main script
Mark Lobodzinski [Tue, 18 Jul 2017 19:49:05 +0000 (13:49 -0600)]
scripts: Add OT generator to main script

Change-Id: I9419cdfdc39d33f5cc9f769c7498fde0230b144b

6 years agoscripts: Update vuid_mapping script
Mark Lobodzinski [Thu, 20 Jul 2017 16:38:46 +0000 (10:38 -0600)]
scripts: Update vuid_mapping script

Change-Id: I704df0840801734ca35d5137a9d79d5a202b4fb9

6 years agolayers: Remove flags checks from OT
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

6 years agolayers: Remove erroneous checks from OT/DB
Mark Lobodzinski [Thu, 20 Jul 2017 18:40:10 +0000 (12:40 -0600)]
layers: Remove erroneous checks from OT/DB

Change-Id: I57ae325f27b365cd3b4e0f24d033af76ceeaeec7

6 years agolayers: Update API for vulkan parameter def change
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

6 years agolayers: Move GetSwaphchainImages func in OT
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

6 years agolayers: Move GetDeviceQueue func in OT
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

6 years agolayers: Move CreateComputePipelines in OT
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

6 years agoloader: Remove executable stack from libvulkan.so
Lenny Komow [Thu, 20 Jul 2017 22:07:14 +0000 (16:07 -0600)]
loader: Remove executable stack from libvulkan.so

Change-Id: Id77d5560479cbbc6f5453a6362c5a20dd721fdd0

6 years agodemos: Fix pointer cast warning in vulkaninfo
Lenny Komow [Thu, 20 Jul 2017 20:31:16 +0000 (14:31 -0600)]
demos: Fix pointer cast warning in vulkaninfo

Change-Id: I6acebbcbb9a10d86f3b7ec56148d9a680d085921

6 years agolayers: adjust naming style
Chris Forbes [Thu, 20 Jul 2017 20:10:24 +0000 (13:10 -0700)]
layers: adjust naming style

6 years agolayers: Don't complain about missing FS outputs if attachment mask is 0.
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.

6 years agolayers: Pass entire pipeline state down to FS output check
Chris Forbes [Thu, 20 Jul 2017 18:10:09 +0000 (11:10 -0700)]
layers: Pass entire pipeline state down to FS output check

6 years agoLVL: Add validation check for CreateImageView
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

6 years agodemos: Add extension support to vulkaninfo
Jeremy Kniager [Wed, 28 Jun 2017 17:46:10 +0000 (11:46 -0600)]
demos: Add extension support to vulkaninfo

Change-Id: I7b9c729a90571d2888d7a22a9899546c547e6153

6 years agolayers:Update descriptor state earlier
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.

7 years agotests:Test invalid renderPass bufferMemoryBarrier
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.

7 years agotests:Test barrier dependencyFlags mis-match
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.

7 years agolayers:Add image mem barrier access mask checks
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.

7 years agolayers:Validate bufferMemoryBarrierCount
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.

7 years agolayers:Validate barrier dependencyFlags
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.

7 years agowinsdk: Hide runtime in programs and features
Lenny Komow [Tue, 18 Jul 2017 17:20:05 +0000 (11:20 -0600)]
winsdk: Hide runtime in programs and features

Change-Id: Ibc5028f660c91f66d986af19f6c7959eb9b55359

7 years agoloader: Fix vkEnumerateDeviceLayerProperties
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

7 years agolayers: Update object_tracker var/func names
Mark Lobodzinski [Tue, 18 Jul 2017 19:15:47 +0000 (13:15 -0600)]
layers: Update object_tracker var/func names

Change-Id: Iacc0cb2676cd2346879d7d51e91b9b75232d5ad4

7 years agolayers: Reorganize ObjectTracker for future codegen
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

7 years agolayers:Handle ALL_*_BIT pipe stage barrier validation
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.

7 years agotests:Update self-dependency tests
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.

7 years agotests:Update RenderPassBarrierConflicts
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.

7 years agolayers:Add barrer access mask checks
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.

7 years agolayers:Fix copy-paste dstStageMask print bug
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.

7 years agolayers:Refactor barrier validation
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.

7 years agoheader: Update to version 1.0.55 of the Vulkan hdr
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

7 years agoloader: Do not enumerate extensions from disabled implicit layers
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".

7 years agolayers:Add checks for barrier stage masks
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.

7 years agoscripts:Update VUID Database
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.

7 years agolayers:Add subpass barrier self-dependency VUID
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.

7 years agolayers:Handle deleted image view in descriptor
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.

7 years agolayers: GH1933, Check for mutually exclusive exts
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

7 years agodemos: Add Wayland input handling to smoketest
Joey Bzdek [Wed, 7 Jun 2017 20:22:39 +0000 (14:22 -0600)]
demos: Add Wayland input handling to smoketest

Change-Id: I82cd3f004410dea1d173ef8022091d6f4463d0f5

7 years agodemos: Clang-format Wayland and cube.cpp refactor
Joey Bzdek [Wed, 14 Jun 2017 16:33:36 +0000 (10:33 -0600)]
demos: Clang-format Wayland and cube.cpp refactor

Change-Id: I73dac6489e41a94fc53a1c7942888a3a6479a805

7 years agodemos: Add Wayland input handling to cube
Joey Bzdek [Wed, 7 Jun 2017 15:40:36 +0000 (09:40 -0600)]
demos: Add Wayland input handling to cube

Change-Id: I314ad9bc3e297da93f4d5c1d44289c9cca3a8fde

7 years agodemos: Refactored Demo class in cubepp
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

7 years agoexternal: Update commit IDs: spirv-tools
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).

7 years agobuild: Fix loader/layer fallthrough warning
Mark Young [Wed, 12 Jul 2017 16:06:19 +0000 (10:06 -0600)]
build: Fix loader/layer fallthrough warning

Change-Id: I04d563caa9000ccbfd5e6e509bf65ceaed9e388a

7 years agolayers: Update PV codegen for Windows warning
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

7 years agoheader: Update to 1.0.54 Vulkan release
Mark Young [Fri, 7 Jul 2017 13:59:56 +0000 (07:59 -0600)]
header: Update to 1.0.54 Vulkan release

Update the headers and xml file with the latest spec changes for
Vulkan 1.0.54.  Also, make corresponding loader and layer changes
to support the new extensions.

Change-Id: I11273c5e3e828743f904e4f0b4b2f2c3a7804df0

7 years agolayers:Refactor CmdUpdateBuffer to Pre/Post
Tobin Ehlis [Tue, 11 Jul 2017 17:24:22 +0000 (11:24 -0600)]
layers:Refactor CmdUpdateBuffer to Pre/Post

Refactoring CmdUpdateBuffer function to use the Pre/Post call pattern.
Updated the pre-path so that command buffer state pointer is const
throughout. Pulled the state update code into the post function.

Note that this slightly deviates from the previous pattern by doing
object state look-up in top-level function instead of passing a ptr to
a ptr to Pre* function and having it do the object state look-up.
I prefer this method as it allows const* throughout the Pre* call chain
and avoids the ptr derefs in Pre* function. I'm open to discussion if
others prefer the alternate method however.

7 years agolayers: Remove spammy debug output in vkCmdBindDescriptorSets
Gabríel Arthúr Pétursson [Sun, 9 Jul 2017 17:47:38 +0000 (17:47 +0000)]
layers: Remove spammy debug output in vkCmdBindDescriptorSets

7 years agolayers:Identify layout from pipelineLayout
Tobin Ehlis [Thu, 6 Jul 2017 22:50:10 +0000 (16:50 -0600)]
layers:Identify layout from pipelineLayout

When checking IsCompatible() for a DescriptorSetLayout, the passed-in
layout is always from a pipelineLayout, however this was not specified
in the code. Add comment to specify this usage and update the error
message to always distinguish which of the layouts using in the compare
is from the pipelineLayout.

7 years agoexternal: Update commit IDs: glslang
Mike Weiblen [Fri, 7 Jul 2017 03:24:18 +0000 (21:24 -0600)]
external: Update commit IDs: glslang

Change-Id: I2e635bed2d132f636ab19739693d252e495ea648

7 years agolayers: Clarify MaxAnisotropy not enabled message
Mark Lobodzinski [Thu, 6 Jul 2017 17:42:29 +0000 (11:42 -0600)]
layers: Clarify MaxAnisotropy not enabled message

Folks continue to confuse 'enabled' with 'supported', expecially on
this particular feature.

Change-Id: I73df704436a95c9c47194169a53602b87b422174

7 years agoexternal: Update commit IDs: glslang,tools,header
Mike Weiblen [Fri, 30 Jun 2017 18:20:14 +0000 (12:20 -0600)]
external: Update commit IDs: glslang,tools,header

Update of external reference commit ids.

Change-Id: Iaa004adc60d8b41c5d894476103453491ed54535

7 years agoRevert "external: Update commit IDs: glslang,tools,header"
Mike Weiblen [Wed, 5 Jul 2017 22:46:28 +0000 (16:46 -0600)]
Revert "external: Update commit IDs: glslang,tools,header"

While trying to determine cause of TravisCI failures, back out the
update of LVL externals.

This reverts commit 6f607ea84a2226496628842fab1ed130be355536.

7 years agoloader: Rename files to better reflect their use
Lenny Komow [Mon, 3 Jul 2017 20:48:38 +0000 (14:48 -0600)]
loader: Rename files to better reflect their use

Change-Id: Ie3df06c1c4f78cd515cb4579e93bd80331913669

7 years agoloader: Fix unknown device trampolines on Windows
Lenny Komow [Fri, 30 Jun 2017 22:23:26 +0000 (16:23 -0600)]
loader: Fix unknown device trampolines on Windows

Change-Id: I33129c1d80d7c1d1615b7b86a7abfae1c33d0204

7 years agoloader: Fix unknown device trampolines on Linux
Lenny Komow [Thu, 29 Jun 2017 21:26:20 +0000 (15:26 -0600)]
loader: Fix unknown device trampolines on Linux

Change-Id: I69d12159534a4569dd2335b4fc52e9ba0bc004b0

7 years agoloader: Fix unknown phys dev terms on Linux
Lenny Komow [Thu, 29 Jun 2017 17:11:16 +0000 (11:11 -0600)]
loader: Fix unknown phys dev terms on Linux

Change-Id: I36f683c7deb4aac27b27ca253c3324439eb2f2f2

7 years agoloader: Fix unknown phys dev terms on Windows
Lenny Komow [Fri, 16 Jun 2017 22:42:46 +0000 (16:42 -0600)]
loader: Fix unknown phys dev terms on Windows

Change-Id: I04636aef6ebfcc092d58971574ba5fa0359e08d0

7 years agoexternal: Update commit IDs: glslang,tools,header
Mike Weiblen [Fri, 30 Jun 2017 18:20:14 +0000 (12:20 -0600)]
external: Update commit IDs: glslang,tools,header

Update of external reference commit ids.

Change-Id: Iaa004adc60d8b41c5d894476103453491ed54535

7 years agolayers: GH1922, Fix out-of-tree builds
Mark Lobodzinski [Mon, 3 Jul 2017 21:50:39 +0000 (15:50 -0600)]
layers: GH1922, Fix out-of-tree builds

Change-Id: I82bd4d1285a7ec69c7b8209937235f538375773a

7 years agolayers: Add VUIDS to allocator checks
Mark Lobodzinski [Wed, 28 Jun 2017 20:46:14 +0000 (14:46 -0600)]
layers: Add VUIDS to allocator checks

Change-Id: If4c37b631de1564dc56bcb1aa69e356538618acb

7 years agolayers: Add VUs to more PV struct-type_array checks
Mark Lobodzinski [Wed, 28 Jun 2017 20:23:22 +0000 (14:23 -0600)]
layers: Add VUs to more PV struct-type_array checks

Change-Id: I9aa1ea41550d24113117d40617689688b96227db

7 years agolayers: Output VUIDS for PV required_pointer checks
Mark Lobodzinski [Wed, 28 Jun 2017 19:22:03 +0000 (13:22 -0600)]
layers: Output VUIDS for PV required_pointer checks

Change-Id: I5b1a9901fdd75b35455fadd749b6ccb31236d23a

7 years agolayers: Add missing parms to vuid_mapping script
Mark Lobodzinski [Wed, 28 Jun 2017 19:21:27 +0000 (13:21 -0600)]
layers: Add missing parms to vuid_mapping script

Change-Id: I81e0366e7e2cb2054d8b0f706863e932ef4b8318

7 years agolayers: Wire up zerobitmask PV VUIDs
Mark Lobodzinski [Wed, 28 Jun 2017 18:06:41 +0000 (12:06 -0600)]
layers: Wire up zerobitmask PV VUIDs

Change-Id: Ib9ca0c6b57c4c8faceb9e502c6008624efe8ad23

7 years agolayers: Wire up ranged-enum PV VUIDs
Mark Lobodzinski [Wed, 28 Jun 2017 17:47:22 +0000 (11:47 -0600)]
layers: Wire up ranged-enum PV VUIDs

Change-Id: I334357b239a6f2ad28fad226306897606814095a

7 years agolayers: Wire in VUIDS for count/array implicit checks
Mark Lobodzinski [Wed, 28 Jun 2017 16:54:55 +0000 (10:54 -0600)]
layers: Wire in VUIDS for count/array implicit checks

Change-Id: I7957ffe9696f86d1a4cc402b612884e6bd2aa590