platform/upstream/Vulkan-LoaderAndValidationLayers.git
7 years agolayers: Remove cmds vector from GLOBAL_CB_NODE
Chris Forbes [Mon, 19 Dec 2016 22:33:11 +0000 (11:33 +1300)]
layers: Remove cmds vector from GLOBAL_CB_NODE

Now that cmd buffer printing has been removed, the only use of this is
to distinguish between cmd buffers invalidated before and after a
complete recording. This should eventually be folded into the state
machine, but removing the vector of cmds is a first step.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Fix size_t-int cast warning in descriptor_sets
Jamie Madill [Mon, 19 Dec 2016 20:59:18 +0000 (15:59 -0500)]
layers: Fix size_t-int cast warning in descriptor_sets

Discovered in VS2015.

Change-Id: I2a42209a9ee9bd0e8f3da21c0f1a613315d5a6ce

7 years agolayers:Clean up descriptor set layout on destroy
Tobin Ehlis [Mon, 19 Dec 2016 18:16:14 +0000 (11:16 -0700)]
layers:Clean up descriptor set layout on destroy

Erase destroyed descriptorSetLayout from map.

7 years agolayers:Add validation flag for DestroyBuffer()
Tobin Ehlis [Mon, 19 Dec 2016 17:57:29 +0000 (10:57 -0700)]
layers:Add validation flag for DestroyBuffer()

7 years agolayers:Refactor DestroyBuffer()
Tobin Ehlis [Mon, 19 Dec 2016 17:53:58 +0000 (10:53 -0700)]
layers:Refactor DestroyBuffer()

Update DestroyBuffer() to use Pre/Post pattern. All of the state
updates are now only performed if call down chain is not skipped.

7 years agolayers:Add GetQueryPoolResults() validation flag
Tobin Ehlis [Mon, 19 Dec 2016 17:20:43 +0000 (10:20 -0700)]
layers:Add GetQueryPoolResults() validation flag

7 years agolayers:Refactor GetQueryPoolResults() to pre/post
Tobin Ehlis [Mon, 19 Dec 2016 17:11:50 +0000 (10:11 -0700)]
layers:Refactor GetQueryPoolResults() to pre/post

Refactor GetQueryPoolResults() to use Pre/Post pattern. Pulled all of
the validation into PreCallValidate* function. There was only one
state update occuring so pulled that code into PostCallRecord function.

7 years agolayers:Add validation flag for DestroyQueryPool()
Tobin Ehlis [Fri, 16 Dec 2016 22:02:44 +0000 (15:02 -0700)]
layers:Add validation flag for DestroyQueryPool()

7 years agolayers:Refactor DestroyQueryPool
Tobin Ehlis [Fri, 16 Dec 2016 21:56:41 +0000 (14:56 -0700)]
layers:Refactor DestroyQueryPool

Refactor DestroyQueryPool() to use Pre/Post pattern. This moves the map
update to after the call down the chain which is where it should live
so that it only executes when validation passes.

7 years agolayers:Add validation flag for DestroySemaphore()
Tobin Ehlis [Thu, 15 Dec 2016 21:36:56 +0000 (14:36 -0700)]
layers:Add validation flag for DestroySemaphore()

7 years agolayers:Add validation flag for DestroyFence()
Tobin Ehlis [Thu, 15 Dec 2016 21:35:21 +0000 (14:35 -0700)]
layers:Add validation flag for DestroyFence()

7 years agolayers:Refactor DestroySemaphore
Tobin Ehlis [Thu, 15 Dec 2016 21:32:22 +0000 (14:32 -0700)]
layers:Refactor DestroySemaphore

Refactor DestroySemaphore() to use Pre/Post pattern.

7 years agolayers:Refactor DestroyFence
Tobin Ehlis [Thu, 15 Dec 2016 21:18:39 +0000 (14:18 -0700)]
layers:Refactor DestroyFence

Refactor DestroyFence() to use Pre/Post pattern.

7 years agolayers:Rename QUEUE_NODE to QUEUE_STATE
Tobin Ehlis [Thu, 15 Dec 2016 18:37:02 +0000 (11:37 -0700)]
layers:Rename QUEUE_NODE to QUEUE_STATE

7 years agolayers:Refactor GetDeviceQueue
Tobin Ehlis [Thu, 15 Dec 2016 18:34:33 +0000 (11:34 -0700)]
layers:Refactor GetDeviceQueue

Move the state update for GetDeviceQueue into Post* function.

7 years agolayers: Make generators Python 2.7-compatible.
Jamie Madill [Tue, 13 Dec 2016 22:02:57 +0000 (17:02 -0500)]
layers: Make generators Python 2.7-compatible.

ANGLE and Chromium are fixed with Python 2.7, so we need to update
the generator to something that is compatible with 2.7 and 3.2.
The unicode handling is different between the two, so switch
scripts to use unicode literals (u'txt' instead of 'txt').

Change-Id: I1570a45e302a09bb1f99eabc84f50b2ec599944d

7 years agolayers: Update VU database for scissor/vp checks
Mark Lobodzinski [Sun, 18 Dec 2016 16:42:23 +0000 (09:42 -0700)]
layers: Update VU database for scissor/vp checks

Updated status for 1430-1434444.

Change-Id: Ie31ff617dd30b1ef3850398ef100e874c3c1acb4

7 years agotests: Add checks for new scissor/viewport validation
Mark Lobodzinski [Mon, 19 Dec 2016 15:43:21 +0000 (08:43 -0700)]
tests: Add checks for new scissor/viewport validation

Added tests for checks 1430-1433.

Change-Id: I66090077eb18083765d7383777e0d1e9c0cadbbc

7 years agotests: Rename scissor/vp count test and fix errors
Mark Lobodzinski [Mon, 19 Dec 2016 14:59:10 +0000 (07:59 -0700)]
tests: Rename scissor/vp count test and fix errors

Renamed test to add additional validatin checks, fixed an
unexpected error in test.

Change-Id: I013102f716795713ea2597cd5e54a79346eada29

7 years agolayers: Add scissor/viewport count checks
Mark Lobodzinski [Sun, 18 Dec 2016 16:43:01 +0000 (09:43 -0700)]
layers: Add scissor/viewport count checks

Change-Id: I35977325f662d3e4df84d02d2eefa4383fae9c05

7 years agolayers: GH1261, Incorrect ParamValidation error msgs
Mark Lobodzinski [Thu, 15 Dec 2016 22:49:59 +0000 (15:49 -0700)]
layers: GH1261, Incorrect ParamValidation error msgs

Out-of-date dynamic state errors incorrectly specified that viewport
or scissor counts had to be greater than zero 'if the dynamic state
bit was not specified'. Removed this confusing condition.

Change-Id: Idf206e8671b04979b7a0f5e9597e4a7aec50333f

7 years agoscripts:Update unique error enums as of 12/19/16
Tobin Ehlis [Mon, 19 Dec 2016 13:47:53 +0000 (06:47 -0700)]
scripts:Update unique error enums as of 12/19/16

Six updates and some new valid usages.

Cmd to do the update was:

python spec.py -update -remap 127-132:128-141:1465-1263:2168-1646,2:2373-1965

7 years agotests: Fix Unexpected errors in InvalidMemoryAliasing
Rene Lindsay [Fri, 16 Dec 2016 21:57:18 +0000 (14:57 -0700)]
tests: Fix Unexpected errors in InvalidMemoryAliasing

Change-Id: Ic6f7ade06c35eb45f671e19c5cfd2ada0b2daa4f

7 years agoheader: Update to Vulkan version 1.0.38
Mark Lobodzinski [Mon, 19 Dec 2016 16:41:16 +0000 (09:41 -0700)]
header: Update to Vulkan version 1.0.38

- header:  Updated vulkan.h
- scripts: Updated generator.py
- scripts: Updated vk.xml
- scripts: Merged recent genvk.py changes into lvl_genvk.py
- layers:  Updated json files
- loader:  Updated SOVERSION to 38
- header:  Updated vulkan.hpp

Change-Id: Id0f83c248169bd8b1e03a14c90a5f9b1661cfcc7

7 years agotests: Fix unexpected errs in viewport/scissor check
Mark Lobodzinski [Fri, 16 Dec 2016 21:54:59 +0000 (14:54 -0700)]
tests: Fix unexpected errs in viewport/scissor check

Fixed some issues in PSOViewportScissorsCountMismatch along with
some clang-format stuff.

Change-Id: Ib4324ea20eb55fdda78ab108fb69d515028fd1d2

7 years agotests: Fix unexpected errors in CGP state check
Mark Lobodzinski [Fri, 16 Dec 2016 21:30:01 +0000 (14:30 -0700)]
tests: Fix unexpected errors in CGP state check

Fixed 4 issues in PSOViewportStateNotSet along with some clang-format
stuff.

Change-Id: I646b37e72df6fd7926b2f4c3d3156542eea07f78

7 years agotests: Fix unexpected errors in CGP viewports check
Mark Lobodzinski [Fri, 16 Dec 2016 21:21:04 +0000 (14:21 -0700)]
tests: Fix unexpected errors in CGP viewports check

Fixed 4 issues in PSOViewportCountWithoutDataAndDynViewportMismatch,
fixed some clang-format stuff.

Change-Id: Ibf273b2c1d9d4db4ba94f680e082e5d4bc40c29e

7 years agotests: Fix unexpected errors in CGP scissor check
Mark Lobodzinski [Fri, 16 Dec 2016 21:01:17 +0000 (14:01 -0700)]
tests: Fix unexpected errors in CGP scissor check

Fixed 3 issues in PSOViewportCountWithoutDataAndDynScissorMismatch,
fixed some clang-format stuff.

Change-Id: I65ad1ff193acc18a6ee9e96521b5dd5f2f196eb9

7 years agolayers: Update error enum database
Mark Lobodzinski [Fri, 16 Dec 2016 20:20:57 +0000 (13:20 -0700)]
layers: Update error enum database

Signified coverage, LVTs for a handful of checks.

Change-Id: I0e0ac413f9b76793b325b96ef030ce4b90656315

7 years agolayers: Remove redundant CV checks
Mark Lobodzinski [Fri, 16 Dec 2016 20:06:41 +0000 (13:06 -0700)]
layers: Remove redundant CV checks

These CreateGraphicsPipeline checks are covered in
parameter_validation.

Change-Id: I4c273aa2cd88791d2f6cfa7a5b6c48e629706a85

7 years agotests: Change CreateGraphicsPipelines desired errors
Mark Lobodzinski [Fri, 16 Dec 2016 20:17:49 +0000 (13:17 -0700)]
tests: Change CreateGraphicsPipelines desired errors

Switched from strings to numeric IDs.

Change-Id: I2cc23a0f9e77df2bb1ed579a100951b2c79c2b0d

7 years agolayers: Move new check into parameter validation
Mark Lobodzinski [Fri, 16 Dec 2016 20:08:00 +0000 (13:08 -0700)]
layers: Move new check into parameter validation

Added an old CreateGraphicsPipelines CV check into PV.

Change-Id: I68310859e4ffc926502549b46a2fcc82af0e3538

7 years agotests: Update test ID to move from CV into PV
Mark Lobodzinski [Sun, 18 Dec 2016 15:57:03 +0000 (08:57 -0700)]
tests: Update test ID to move from CV into PV

Changed test to look for error enum instead of string in preparation
for moving the check into parameter validation.

Change-Id: Ib25f56a39386da459ede41971ac8b49c2831ee8b

7 years agotests: Fix Unexpected error in VkLayerTest.InvalidDynamicOffsetCases
Rene Lindsay [Fri, 16 Dec 2016 01:47:11 +0000 (18:47 -0700)]
tests: Fix Unexpected error in VkLayerTest.InvalidDynamicOffsetCases

7 years agolayers:Refactor consecutive descriptor count
Tobin Ehlis [Thu, 15 Dec 2016 14:51:20 +0000 (07:51 -0700)]
layers:Refactor consecutive descriptor count

Refactor GetConsecutiveDescriptorCountFromBinding() to use the fact
that bindings are now stored in-order. No longer need to chase binding
order through the map, just get current binding index and then parse
rest of the binding array in-order.

7 years agolayers:Store DescriptorSetLayout class in-order
Tobin Ehlis [Mon, 12 Dec 2016 22:59:34 +0000 (15:59 -0700)]
layers:Store DescriptorSetLayout class in-order

Sort the bindings in the internal data structure of the
DescriptorSetLayout class so that they're stored in binding order.

This commit keeps the interface and mapping structures the same.
Further commits will take more use of the fact that layout is now
stored in binding order.

7 years agotests: Remove test for nonCoherentAtomSize check
Tony Barbour [Thu, 15 Dec 2016 21:52:44 +0000 (14:52 -0700)]
tests: Remove test for nonCoherentAtomSize check

Change-Id: I7ba25d6e0b8bf0623e386d04041070fbc505a129

7 years agolayers: Remove check for nonCoherentAtomSize
Tony Barbour [Thu, 15 Dec 2016 19:12:29 +0000 (12:12 -0700)]
layers: Remove check for nonCoherentAtomSize

It's come to our attention that this check, while matching the spec,
may be a little overzealous and could cause a lot of existing code
to start failing validation.  We plan to address this with the spec
working group, and we're removing the check for now.

Change-Id: I7159b72fe0a2e81bf75bccddc9939da7086992b7

7 years agoloader: Fix Clang warnings.
Jamie Madill [Wed, 14 Dec 2016 22:21:43 +0000 (17:21 -0500)]
loader: Fix Clang warnings.

error: equality comparison with extraneous parentheses
error: comparison of array equal to a null pointer is always false
error: using namespace directive in global context in header

Change-Id: I52b5d9062653b9429b9c42b40eca54e71b6d794b

7 years agolayers: Update Valid Usage enums (VL-70)
Mike Weiblen [Sat, 10 Dec 2016 00:36:28 +0000 (17:36 -0700)]
layers: Update Valid Usage enums (VL-70)

Reviewed the following 5 files' invocation of log_msg()
for opportunities to update for Valid Usage enums.
layers/threading.h
layers/vk_layer_logging.h
layers/descriptor_sets.cpp
layers/swapchain.cpp
layers/unique_objects.cpp

Split some composite checks apart, to better match the meaning of
individual VUs.

Added VU enums to a new file, and expanded the stats collection
script to include the new file.

Changed some placeholder uses of msgCode=="0" to
"VALIDATION_ERROR_UNDEFINED".
(0 is the value of the enum VALIDATION_ERROR_00000 which was misleading)

When Valid Usage enums were referenced, also updated the VU database.

Tweak #include order for Windows, to undo clang-format reordering.

Completes Jira task VL-70.

Change-Id: I550922b194e733f41316ae493098f70a54cbd64e

7 years agolayers: PR1276, Fix Clang compiler warnings
Jamie Madill [Thu, 15 Dec 2016 14:35:36 +0000 (09:35 -0500)]
layers: PR1276, Fix Clang compiler warnings

fixes
- error: using namespace directive in global context in header
- error: comparison of integers of different signs: 'uint32_t'
         (aka 'unsigned int') and 'int'

Change-Id: If56d5b9c33f0de813fbb67120650a887eb9368b0

7 years agolayers: Updated val error database with new checks
Mark Lobodzinski [Thu, 15 Dec 2016 14:42:57 +0000 (07:42 -0700)]
layers: Updated val error database with new checks

Updated status, applicable tests for errors 00669 and 02160.

Change-Id: Ia52d31f00820882fe2837928b6ab1702c57f26f5

7 years agotests: Add tests for GH1260, check for SparseBinding
Mark Lobodzinski [Thu, 15 Dec 2016 14:41:13 +0000 (07:41 -0700)]
tests: Add tests for GH1260, check for SparseBinding

Added a new test that checks two error cases -- if an image or buffer
is created with sparse_aliased or sparse_residency, it must also
have the sparse_binding bit set.

Change-Id: I08f9ff2cd67bc3dc6b9fcaf7672f7e2480008e72

7 years agolayers: Updated error enums for sparse_binding checks
Mark Lobodzinski [Wed, 14 Dec 2016 20:37:04 +0000 (13:37 -0700)]
layers: Updated error enums for sparse_binding checks

Change-Id: Ib76fcb782a54edf6e53d17fed0bcb25eecca22d9

7 years agolayers: GH1260, SPARSE_BINDING_BIT validation
Maciej Jesionowski [Wed, 14 Dec 2016 10:01:21 +0000 (11:01 +0100)]
layers: GH1260, SPARSE_BINDING_BIT validation

- add error message for size (error 00663)
- add error messages for buffer and image flags (error 00669 and 02160)
- remove obsolete TODOs
- fix a typo in vkCreateImage validation, add error code

Change-Id: I50d6111c4aed1b348119a9664ec299f7c2cb7884

7 years agotests: Fix WriteDescriptorSetIntegrityCheck
Tony Barbour [Mon, 12 Dec 2016 18:50:20 +0000 (11:50 -0700)]
tests: Fix WriteDescriptorSetIntegrityCheck

Use correct descriptor types to create descriptor pool and pass
the intended number of VkDescriptorBufferInfo structures

Change-Id: I382d75858acbe30d408cbf5bf4f6dc46d1db605e

7 years agotests: Fix issue with validation of positive tests
Tony Barbour [Tue, 13 Dec 2016 23:30:36 +0000 (16:30 -0700)]
tests: Fix issue with validation of positive tests

Change-Id: I466487c9a53d2b5ea1e8aa1c312c97ef6d5bb581

7 years agolayers: Fix object tracker memory leak
Mike Schuchardt [Tue, 13 Dec 2016 21:04:57 +0000 (14:04 -0700)]
layers: Fix object tracker memory leak

Upon repeated calls, GetDisplayPlaneSupportedDisplaysKHR will call
CreateObject multiple times with the same VkDisplayKHR handle.  Add a
check in CreateObject for an existing tracking object before allocating
a new one.

Change-Id: I50f634fbe8b7e69edbfeb4e6f0c050b7fccaa6e4

7 years agoscripts: Add quiet option option to vk_helper.py.
Jamie Madill [Wed, 14 Dec 2016 18:05:05 +0000 (13:05 -0500)]
scripts: Add quiet option option to vk_helper.py.

Chromium typically does not allow build steps to output anything
during a build. This option allows for ANGLE to suppress normal
script output during execution.

Change-Id: I72695a80a5f25e9a2cf3f01832f3de63ca95b091

7 years agolayers: Complain in AcquireNextImageKHR if the swapchain is replaced
Chris Forbes [Thu, 8 Dec 2016 22:00:21 +0000 (11:00 +1300)]
layers: Complain in AcquireNextImageKHR if the swapchain is replaced

V2: Tweak error language for Ian

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track whether a swapchain has been replaced
Chris Forbes [Thu, 8 Dec 2016 21:39:26 +0000 (10:39 +1300)]
layers: Track whether a swapchain has been replaced

If a swapchain is used as VkSwapchainCreateInfoKHR::oldSwapchain, then
it is replaced. This occurs even if the new swapchain creation fails.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests:Update InvalidMemoryAliasing for warning
Tobin Ehlis [Wed, 14 Dec 2016 00:33:41 +0000 (17:33 -0700)]
tests:Update InvalidMemoryAliasing for warning

The aliasing check was moved from error to warning to updating the test
to match.

7 years agoloader: Removed some unnecessary code.
Mark Young [Wed, 14 Dec 2016 00:19:32 +0000 (17:19 -0700)]
loader: Removed some unnecessary code.

Now that all WSI paths need the ICD structs, I can get rid of
a code path no longer used.

Change-Id: Ib5073cd2074fcd66453dae5b6c89870c81f7f958

7 years agoAllocate for real ICD surfaces for the VK_KHR_display extension
Piers Daniell [Tue, 13 Dec 2016 23:51:49 +0000 (16:51 -0700)]
Allocate for real ICD surfaces for the VK_KHR_display extension

This was done for all the other WSI extensions, just not VK_KHR_display

7 years agolayers:Fix uninitialized variable
Tobin Ehlis [Tue, 13 Dec 2016 19:39:44 +0000 (12:39 -0700)]
layers:Fix uninitialized variable

Zero-init the map_range variable before checking for aliasing of a
mapped memory region.

7 years agolayers:Fix typo
Tobin Ehlis [Tue, 13 Dec 2016 19:26:44 +0000 (12:26 -0700)]
layers:Fix typo

aliase->aliased

7 years agolayers:Warn on buffer/image aliasing
Tobin Ehlis [Tue, 13 Dec 2016 19:16:58 +0000 (12:16 -0700)]
layers:Warn on buffer/image aliasing

The Buffer-Image Granularity section of the spec details what must be
done to avoid having a linear buffer alias with a tiled image, but it
does not state that such aliasing is a definite error.

Demoting this check to a warning.

7 years agotests: Remove second destroy of the same buffer
Tony Barbour [Tue, 13 Dec 2016 21:36:23 +0000 (14:36 -0700)]
tests: Remove second destroy of the same buffer

Change-Id: I21a4ee1406cb1f8ede669488df776cee5ea3addc

7 years agolayers: Update Valid Usage enums in log_msg
Mike Weiblen [Tue, 6 Dec 2016 17:28:00 +0000 (10:28 -0700)]
layers: Update Valid Usage enums in log_msg

Update Valid Usage enums in core_validation and update
their status in the VU database.
This completes Jira task VL-65.

Change-Id: I51ed327ad65f3a5d1f64bba01ad576c6656f88df

7 years agobuild: Disable clang-format header reordering
Mark Lobodzinski [Tue, 13 Dec 2016 17:54:48 +0000 (10:54 -0700)]
build: Disable clang-format header reordering

By default, clang-format will sort header files which often breaks
compilation. Added an option to the main, tests, and layers versions
of these files to disable header reordering.

Change-Id: Ic0cc5727b83d14d5f3962f3ecff7b6bf5e4c5fb9

7 years agolayers: Add some val/state-update todos
Mark Lobodzinski [Mon, 12 Dec 2016 15:33:13 +0000 (08:33 -0700)]
layers: Add some val/state-update todos

Couple of routines combine state updates and validation, adding a
note for future work.

Change-Id: I417025bbcabfd3e80ccefe166bc6ea3497222753

7 years agolayers: Update error database for new checks
Mark Lobodzinski [Tue, 13 Dec 2016 15:47:35 +0000 (08:47 -0700)]
layers: Update error database for new checks

Added 2510 and 2518.

Change-Id: I278bfe12d78c5239aa00f82ac4a1b35b5dcd58d0

7 years agotests: Add barrier/event queue compatibility tests
Mark Lobodzinski [Tue, 13 Dec 2016 00:11:50 +0000 (17:11 -0700)]
tests: Add barrier/event queue compatibility tests

Change-Id: I2aa8635f50f2aecfa3e7c73be9be8b995a0420a1

7 years agolayers: Update WaitEvents/PipelineBarrier for style
Mark Lobodzinski [Mon, 12 Dec 2016 15:27:42 +0000 (08:27 -0700)]
layers: Update WaitEvents/PipelineBarrier for style

Variable names, clang-format.

Change-Id: I576bfd7944902bdf611b8a455eff83e43f56725b

7 years agolayers: GH1233, Validate stagemask/queue compatibility
Mark Lobodzinski [Sat, 10 Dec 2016 17:53:34 +0000 (10:53 -0700)]
layers: GH1233, Validate stagemask/queue compatibility

Any pipeline stage included in srcStageMask or dstStageMask must be
supported by the capabilities of the queue family specified by the
queueFamilyIndex member of the VkCommandPoolCreateInfo structure
that was used to create the VkCommandPool that commandBuffer was
allocated from, as specified in the table of supported pipeline
stages.

Change-Id: I02117e7f60910f2154765b90340d8127d6bce0cd

7 years agolayers: Update err database w/new DisplayKHR checks
Mark Lobodzinski [Mon, 12 Dec 2016 21:53:27 +0000 (14:53 -0700)]
layers: Update err database w/new DisplayKHR checks

Change-Id: I844e06439b295a36873ccb07819a38c414fd5098

7 years agolayers: Fill out OT validation for vk_display_KHR
Mark Lobodzinski [Mon, 14 Nov 2016 17:32:41 +0000 (10:32 -0700)]
layers: Fill out OT validation for vk_display_KHR

Change-Id: I633fae1ba3bc076022eea6c4e599f617d0296534

7 years agolayers: GH897, Add VK_KHR_display stubs to OT
Mark Lobodzinski [Mon, 14 Nov 2016 17:00:41 +0000 (10:00 -0700)]
layers: GH897, Add VK_KHR_display stubs to OT

Added extension enable and function stubs for VK_KHR_display
extension functions to object_tracker.

Change-Id: Iaee862efaadf4657271b74d75a289dbaf13af26c

7 years agoloader: Add support for 1.0.35 extension
Mark Young [Mon, 12 Dec 2016 23:14:55 +0000 (16:14 -0700)]
loader: Add support for 1.0.35 extension

Add support for the NVX_device_generated_commands.  This was
necessary since it exposes one instance command (which takes
a VkPhysicalDevice).

Change-Id: I1da4c24ca0d385a6485581f55a1b19aa7ea51d24

7 years agodemos: Fix smoketest --c 20 hang on Linux
Karl Schultz [Mon, 12 Dec 2016 23:43:44 +0000 (16:43 -0700)]
demos: Fix smoketest --c 20 hang on Linux

Fixes #1249.
When frame count is reached in ::on_frame(), inform the caller
that it is time to quit by calling Game::quit(), but go ahead
and finish submitting this frame, because the caller is waiting
on the fence.

Change-Id: If3d918f8a8b5bf3697e9569d045dbe7c8aec98e5

7 years agoandroid: Update windows script to request python3
Cody Northrop [Mon, 12 Dec 2016 21:36:12 +0000 (14:36 -0700)]
android: Update windows script to request python3

7 years agoheader: Update to Vulkan version 1.0.37
Mark Lobodzinski [Mon, 12 Dec 2016 16:44:34 +0000 (09:44 -0700)]
header: Update to Vulkan version 1.0.37

- header:  Updated vulkan.h
- scripts: Updated generator.py
- scripts: Updated vk.xml
- scripts: Merged recent genvk.py changes into lvl_genvk.py
- layers:  Updated json files
- loader:  Updated SOVERSION to 37
- header:  Rebuilt and updated vulkan.hpp
- layers:  Updated thread_checker for new functions
- scripts: Fix up vk_helper.py overzealous count detection

Change-Id: Ia10f5fc759166a09999f01e68bbcadb30ddf67f7

7 years agobuild: Update generate scripts to use python3
Mark Lobodzinski [Mon, 12 Dec 2016 19:05:44 +0000 (12:05 -0700)]
build: Update generate scripts to use python3

Upcoming header scripts require python3 -- updated
Windows and Linux android-generate scripts.

Change-Id: Iba3b44d0999b5c28b9fc83800a4d54d46cbc2a4c

7 years agoscripts: Prevent bad dynamic array in vk_helper.py
Mark Lobodzinski [Mon, 5 Dec 2016 20:27:29 +0000 (13:27 -0700)]
scripts: Prevent bad dynamic array in vk_helper.py

An extension added some variables which defeat the mechanisms
used by the header-parsing scripts to identify dynamic arrays.

Change-Id: Idcf84f882b13bf5cc3be8b6bb48751db6922e01e

7 years agolayers: Fix param_val codegen for arrays of structs
Mark Lobodzinski [Mon, 5 Dec 2016 14:38:41 +0000 (07:38 -0700)]
layers: Fix param_val codegen for arrays of structs

New extensions exposed a hole where arrays of structs were not
getting deferenced correctly.

Change-Id: Ia2474babee10f25c1446dfe58b5bd9778d3c9abc

7 years agolayers: Use resolved range to avoid long loops
Karl Schultz [Fri, 9 Dec 2016 23:34:16 +0000 (16:34 -0700)]
layers: Use resolved range to avoid long loops

Fixes #1251.
Use the resolvedRange instead of the raw range, which
could include VK_REMAINING_MIP_LEVELS and/or
VK_REMAINING_ARRAY_LAYERS, which are really big numbers.

This fixes a near-infinite loop issue when running the
input_attachment sample with validation.

Change-Id: I250118db74a6faaecd2b3cd4cb43f44c07ae436d

7 years agoscripts:Update unique error enums as of 12/12/16
Tobin Ehlis [Mon, 12 Dec 2016 14:46:49 +0000 (07:46 -0700)]
scripts:Update unique error enums as of 12/12/16

One valid usage updated and a bunch of new valid usages.

Cmd to do the update was:

python spec.py -update -remap 2110-2499

7 years agoscripts:Update stats script for two error enums
Tobin Ehlis [Sat, 10 Dec 2016 00:11:13 +0000 (17:11 -0700)]
scripts:Update stats script for two error enums

Stats script wasn't handling the case where two unique error ids
appeared on the same line. This fixes that.

7 years agoscripts:Update stats script parser
Tobin Ehlis [Fri, 9 Dec 2016 21:10:47 +0000 (14:10 -0700)]
scripts:Update stats script parser

Some tweaks to stats script validation error parsing to correctly
grab all the errors and ignore that noise.

7 years agoscripts:Update database for new checks
Tobin Ehlis [Fri, 9 Dec 2016 21:05:59 +0000 (14:05 -0700)]
scripts:Update database for new checks

Checks were implemented for correct layouts in vkCmdClear*Image() funcs
in a previous commit. Updating the database file to reflect this fact
and also the testnames for these checks.

7 years agolayers: Remove validation layer details doc
Mark Lobodzinski [Thu, 1 Dec 2016 22:11:53 +0000 (15:11 -0700)]
layers: Remove validation layer details doc

This information is covered in the VU database, source code, or other
layer documentation.

Change-Id: I99170e1ed699b372d00f4b8dcf9ef0fd40ec2ecf

7 years agoscripts: Remove layer doc gen script
Mark Lobodzinski [Thu, 1 Dec 2016 22:07:10 +0000 (15:07 -0700)]
scripts: Remove layer doc gen script

Change-Id: I4529546fadee343271db9ac2fa899bc9ee09dbf2

7 years agoscripts:Update doc validation scripts
Tobin Ehlis [Thu, 8 Dec 2016 18:25:34 +0000 (11:25 -0700)]
scripts:Update doc validation scripts

Migrate doc validation scripts to use the stats script based on the
database file instead of the old details doc.

7 years agoscripts:Ignore VALIDATION_ERROR_UNDEFINED
Tobin Ehlis [Mon, 5 Dec 2016 21:57:44 +0000 (14:57 -0700)]
scripts:Ignore VALIDATION_ERROR_UNDEFINED

VALIDATION_ERROR_UNDEFINED is a special case that shouldn't be recorded
as an actual check in the source.

7 years agoscripts:Update stats script to return 1 on error
Tobin Ehlis [Mon, 5 Dec 2016 21:50:03 +0000 (14:50 -0700)]
scripts:Update stats script to return 1 on error

This script will be integrated into the run_all_tests flow to replace
the old document validation. This update causes it to return 1 in
certain error conditions. It will initially flag errors when:
1. The number of checks declared in the header don't match the database
2. A check that's implemented in the database isn't found in source
3. A testname in database can't be found in the test source

7 years agoscripts:Make stats script work with python3
Tobin Ehlis [Fri, 9 Dec 2016 19:15:26 +0000 (12:15 -0700)]
scripts:Make stats script work with python3

Just needed parens around the single print so that the
vk_validation_stats.py script will run with python3.

7 years agolayers: Add error enums to Destroy APIs
Mike Schuchardt [Wed, 7 Dec 2016 01:03:56 +0000 (18:03 -0700)]
layers: Add error enums to Destroy APIs

Add error enum parameters to DestroyObject helper function for use when
performing checks on the pAllocator parameter of vkDestroy* APIs.  Add
error enum parameter to DeviceReportUndestroyedObjects helper function
for use when checking for undestroyed child objects.

Change-Id: I4e0960b8b14ecc30f67a1eea112aa80de9f4ca86

7 years agolayers: Add error enums to object tracker
Mike Schuchardt [Tue, 6 Dec 2016 17:56:01 +0000 (10:56 -0700)]
layers: Add error enums to object tracker

Add the following validation error enums to object tracker helper
functions:
VALIDATION_ERROR_00097
VALIDATION_ERROR_00102
VALIDATION_ERROR_00920
VALIDATION_ERROR_00927
VALIDATION_ERROR_01651

Change-Id: Ic21fbaf14f29aef53b2b24d0aa4a8577d3a11927

7 years agodemos: Make DEMOS_WSI_SELECTION a variable, not an option
Tony Barbour [Fri, 9 Dec 2016 20:14:58 +0000 (13:14 -0700)]
demos: Make DEMOS_WSI_SELECTION a variable, not an option

Change-Id: I8e10ce8df3d569c13f0adf6c09e5bd431279bc2d

7 years agoexternals: Update glslang and spirv revs
Mark Young [Fri, 9 Dec 2016 18:55:35 +0000 (11:55 -0700)]
externals: Update glslang and spirv revs

Update Glslang, Spirv-Tools, and Spirv-Headers revisions to
the latest.

Change-Id: I288e117b3180689f2fd5455ec4f721962c39602c

7 years agolayers: GH1244, Fix Compressed BufferImageCopy errs
Mark Lobodzinski [Fri, 9 Dec 2016 18:20:23 +0000 (11:20 -0700)]
layers: GH1244, Fix Compressed BufferImageCopy errs

CmdCopyBufferToImage and CmdCopyImageToBuffer were validating
compressed image attributes against the valid usage conditions
for uncompressed images. Added check for compressed images and
skipped this validation, and TODO for future compressed VU addition.

Change-Id: I09a7dc98cb0f925c7486ef9f2d6de31411c7ea1c

7 years agobuild: Add Wayland and Mir dev libs to travis
Karl Schultz [Fri, 9 Dec 2016 18:59:23 +0000 (11:59 -0700)]
build: Add Wayland and Mir dev libs to travis

Change-Id: I60b6b19417b0b68719b027ef36f6f3b9b3deef08

7 years agodemos: Add very limited Wayland support to vulkaninfo
Tony Barbour [Fri, 9 Dec 2016 18:27:26 +0000 (11:27 -0700)]
demos: Add very limited Wayland support to vulkaninfo

Also allow only one WSI selection at a time

Change-Id: Ie7ca4f98c71a5097b7e07a4b5e2762b59606317c

7 years agoCmake: Move all find_packages to base CMakeLists.txt
Tony Barbour [Wed, 7 Dec 2016 23:13:35 +0000 (16:13 -0700)]
Cmake: Move all find_packages to base CMakeLists.txt

Change-Id: Id27307788c7c230e75d620f1bf5470b1450289f2

7 years agoDemos: Add Mir warnings and placeholders
Tony Barbour [Wed, 7 Dec 2016 21:45:12 +0000 (14:45 -0700)]
Demos: Add Mir warnings and placeholders

Change-Id: I7e7ca30bd1452a216213c02a7aa29ce8829b2974

7 years agoDemos: Remove simultaneuos xlib and xcb support from cube*
Tony Barbour [Wed, 7 Dec 2016 20:43:36 +0000 (13:43 -0700)]
Demos: Remove simultaneuos xlib and xcb support from cube*

Change-Id: I2f28dc3e21fc10ae96dde2dbfc7f3025efd9c2f0

7 years agoDemos: Add DEMOS_WSI_SELECTION to pick Linux wsi to use
Tony Barbour [Wed, 7 Dec 2016 19:12:45 +0000 (12:12 -0700)]
Demos: Add DEMOS_WSI_SELECTION to pick Linux wsi to use

Change-Id: Ic1fcc6cf888d94b84a43661aa33815948d85b701

7 years agoCmake: Add files needed to build with Mir
Tony Barbour [Wed, 7 Dec 2016 17:19:21 +0000 (10:19 -0700)]
Cmake: Add files needed to build with Mir

Change-Id: I640e45db5d586a379674fb209e38075ba7f0cf29

7 years agoCmake: Move WSI compile decision to subdirectories
Tony Barbour [Wed, 7 Dec 2016 18:18:19 +0000 (11:18 -0700)]
Cmake: Move WSI compile decision to subdirectories

Change-Id: I61ac8910200a1751a23aa92fe0e7d955ee9e03e5

7 years agolayers: Update details doc for new LVT
Mark Lobodzinski [Fri, 9 Dec 2016 17:08:09 +0000 (10:08 -0700)]
layers: Update details doc for new LVT

Added RenderPassClearOpTooManyValues and new error enum.

Change-Id: I598e7adf3897996efcf2f9c3023521e710b06cc6