platform/upstream/Vulkan-Tools.git
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 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 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 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: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

7 years agolayers: Warn if RenderPass clearvalues ignored
Slawomir Cygan [Mon, 28 Nov 2016 16:53:23 +0000 (17:53 +0100)]
layers: Warn if RenderPass clearvalues ignored

PR 1203:

Vulkan spec does permit clearValueCount to be greater than number of
values used by clear ops. However we have seen apps that pass garbage
as clearValueCount - the best we can do in this situation is to emit
a warning.

Change-Id: If52c02759410500e96976d91fd42a9b2a7e2df41

7 years agoCore validation: VerifyClearImageLayout review feedback
Cort [Thu, 8 Dec 2016 17:59:43 +0000 (09:59 -0800)]
Core validation: VerifyClearImageLayout review feedback

- follow variable name/case conventions
- Prepend calling function to error messages
- Simplify caller identification

7 years agoCore validation: VerifyClearImageLayout tweaks:
Cort [Tue, 6 Dec 2016 01:33:49 +0000 (17:33 -0800)]
Core validation: VerifyClearImageLayout tweaks:
- Move test for invalid layouts before test for valid-but-non-matching layout
- Use unique error codes
- Pass caller function name to differentiate between color and depth/stencil clears

7 years agoCore validation: add an errror message when wrong layout is used for clearing
Slawomir Cygan [Mon, 28 Nov 2016 18:17:38 +0000 (19:17 +0100)]
Core validation: add an errror message when wrong layout is used for clearing

7 years agoscripts: Remove vk-generate.py
Mark Lobodzinski [Fri, 9 Dec 2016 15:04:51 +0000 (08:04 -0700)]
scripts: Remove vk-generate.py

No longer used for def-file or dispatch-table-helper generation.

Change-Id: I3864441e900ecb3ebc2e9fdf5cb4dfc785b2ad83

7 years agoloader: Add CMake copy of def file to build dir
Mark Lobodzinski [Thu, 8 Dec 2016 15:52:56 +0000 (08:52 -0700)]
loader: Add CMake copy of def file to build dir

Change-Id: I377ef3e58b49c345fcc5ac8d10bdee7e4c059bed

7 years agolayers: Change cmake to Copy def files to build dir
Mark Lobodzinski [Thu, 8 Dec 2016 15:40:02 +0000 (08:40 -0700)]
layers: Change cmake to Copy def files to build dir

Change-Id: Ic963c7fc1383dd5a39844e366a9d3bb1ce1f8c93

7 years agoloader: Check in loader Windows def file
Mark Lobodzinski [Wed, 7 Dec 2016 21:06:44 +0000 (14:06 -0700)]
loader: Check in loader Windows def file

Change-Id: I184ce5efa8cd27cbbf93babf52d4a6b9b4266a24

7 years agolayers: Check in layer Windows def files
Mark Lobodzinski [Wed, 7 Dec 2016 21:05:10 +0000 (14:05 -0700)]
layers: Check in layer Windows def files

Change-Id: I128479d5f4d5f9c25dd8902f7f0c2d8275e14c7b

7 years agobuild: Update Android cmake w/new dispatch_table gen
Mark Lobodzinski [Tue, 6 Dec 2016 20:45:13 +0000 (13:45 -0700)]
build: Update Android cmake w/new dispatch_table gen

Change-Id: Id505439bf599ac04d2590e84e30ca29da9359f56

7 years agolayers: Rename xml-codegen cmake macro
Mark Lobodzinski [Tue, 6 Dec 2016 20:14:55 +0000 (13:14 -0700)]
layers: Rename xml-codegen cmake macro

It's not just for layers anymore.

Change-Id: I05d7ed918b58273ca9328885f419f37fa7352791

7 years agolayers: Enable new dispatch_table_helper generation
Mark Lobodzinski [Tue, 6 Dec 2016 20:04:44 +0000 (13:04 -0700)]
layers: Enable new dispatch_table_helper generation

Change-Id: I88defbb803818af3e7242d3c587a8b8decb42ffd

7 years agoscripts: Add dispatch table generator to lvl_genvk.py
Mark Lobodzinski [Tue, 6 Dec 2016 18:30:50 +0000 (11:30 -0700)]
scripts: Add dispatch table generator to lvl_genvk.py

Change-Id: I539b8248ef8fb151de702c7d5e1773d149ce5313

7 years agoscripts: Add generator for dispatch_table_helper
Mark Lobodzinski [Tue, 6 Dec 2016 18:14:50 +0000 (11:14 -0700)]
scripts: Add generator for dispatch_table_helper

vk-generate.py generated the vk_dispatch_table_helper.h file
based on the vulkan.py file.  Added dispatch_table_generator.py,
which is an vk.xml-based generator to automatically pick up
API changes.

Change-Id: I93adae00566823ce8fc653a68f4b1b4079a998fc

7 years agodemos: Fix compile warning in smoke
Tony Barbour [Thu, 8 Dec 2016 21:30:55 +0000 (14:30 -0700)]
demos: Fix compile warning in smoke

Change-Id: I60ee7f881cfd2bd78de21fa14146ef5667e20cc6

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

Update Valid Usage enums in CmdExecuteCommands() and their
status in the VU database.
This partially implements Jira task VL-65

Change-Id: Ia31dbf78ed93418ced6597401d77f3fa6488935e

7 years agolayers:Add undefined validation error enum
Tobin Ehlis [Thu, 8 Dec 2016 20:32:05 +0000 (13:32 -0700)]
layers:Add undefined validation error enum

Add VALIDATION_ERROR_UNDEFINED to UNIQUE_VALIDATION_ERROR_CODE enum
with a value of "-1". This had been custom-defined in
object_tracker.cpp so removing it from there.

7 years agodocs: Add travis build status to README
Karl Schultz [Thu, 8 Dec 2016 18:41:14 +0000 (11:41 -0700)]
docs: Add travis build status to README

7 years agoscripts:Update unique error enums as of 12/5/16
Tobin Ehlis [Mon, 5 Dec 2016 16:24:37 +0000 (09:24 -0700)]
scripts:Update unique error enums as of 12/5/16

Various valid usage updates and additions.

Cmd to do update was:

python spec.py -update -remap 168-2059:1378-1203:1383-1206:1385-1207:\
1380-1204:1447-1268:1449-1269:1505-1310:1507-1311:1510-1313:1512-1314:\
1542-1753:1544-1755:1547-1758:1549-1760

7 years agoscripts: Remove unused cmake option from vk_helper.py
Mark Lobodzinski [Mon, 5 Dec 2016 22:33:59 +0000 (15:33 -0700)]
scripts: Remove unused cmake option from vk_helper.py

Change-Id: Iafaf5c45a53ae702ecad8a387b11710ad60358f3

7 years agoscripts: Remove unused vk_helper.py struct_wrappers
Mark Lobodzinski [Mon, 5 Dec 2016 22:27:44 +0000 (15:27 -0700)]
scripts: Remove unused vk_helper.py struct_wrappers

Change-Id: I9dcc1df2d979f1c36a88bb2d6181636c543431a1

7 years agoscripts: Remove graphviz options from vk_helper.py
Mark Lobodzinski [Mon, 5 Dec 2016 22:10:19 +0000 (15:10 -0700)]
scripts: Remove graphviz options from vk_helper.py

Change-Id: I8b7ff75f334e8c2f2e07c04b6183abcd96e662df

7 years agoscripts: Remove no_addr options from vk_helper.py
Mark Lobodzinski [Mon, 5 Dec 2016 14:38:58 +0000 (07:38 -0700)]
scripts: Remove no_addr options from vk_helper.py

This option was not used in any repo.

Change-Id: I133a1aaf34bd3e1a842150fc06f795eef8d1e606

7 years agolayers:RetireWorkOnQueue refactor fixes
Tobin Ehlis [Wed, 7 Dec 2016 18:20:02 +0000 (11:20 -0700)]
layers:RetireWorkOnQueue refactor fixes

Some updates based on review feedback.
Fix VerifyQueueStateToSeq to still validate across semaphore pairs in
the same fashion that RetireWorkOnQueue did.
Use a deque iterator rather than local copy.
Update some formatting.

7 years agolayers:Add validation flags
Tobin Ehlis [Tue, 6 Dec 2016 21:47:52 +0000 (14:47 -0700)]
layers:Add validation flags

Added validation flags to allow for disabling of validation for:
vkWaitForFences
vkGetFenceStatus
vkDeviceWaitIdle
vkQueueWaitIdle

7 years agolayers:Refactor QueueWaitIdle
Tobin Ehlis [Tue, 6 Dec 2016 20:20:09 +0000 (13:20 -0700)]
layers:Refactor QueueWaitIdle

Update QueueWaitIdle in core_validation to use Pre/Post pattern.

7 years agolayers:Refactor DeviceWaitIdle
Tobin Ehlis [Tue, 6 Dec 2016 20:08:18 +0000 (13:08 -0700)]
layers:Refactor DeviceWaitIdle

Update DeviceWaitIdle in core_validation to use Pre/Post pattern.

7 years agolayers:Refactor RetireWorkOnQueue
Tobin Ehlis [Tue, 6 Dec 2016 19:53:43 +0000 (12:53 -0700)]
layers:Refactor RetireWorkOnQueue

RetireWorkOnQueue() had one check that could cause a validation error.
The check makes sure that an unsignalled event does not precede a query
pool reset in a cmd buffer being retired.

This change splits out the check so that it can be hoisted prior to
calls down the chain, and the actual retirement of work on a queue then
only needs to take place after a call down the chain succeeds.

This initial commit separates these operations for fence retirement
and a follow-on commit will separate remaining operations for queue
retirement.

7 years agolayers:Refactor GetFenceStatus in core_validation
Tobin Ehlis [Tue, 6 Dec 2016 15:26:05 +0000 (08:26 -0700)]
layers:Refactor GetFenceStatus in core_validation

Refactor GetFenceStatus to use Pre/Post pattern.

7 years agolayers:Refactor WaitForFences in core_validation
Tobin Ehlis [Tue, 6 Dec 2016 14:38:48 +0000 (07:38 -0700)]
layers:Refactor WaitForFences in core_validation

Refactor WaitForFences to use Pre/Post pattern. This function currently
has a Post effect that can cause a validation error. Planning to remove
this in a follow-on commit.

7 years agosmoke: Don't load validation layers by default
Cody Northrop [Wed, 7 Dec 2016 09:58:34 +0000 (01:58 -0800)]
smoke: Don't load validation layers by default

This was an inadvertent change from 3f3748ad

7 years agodocs: Update Smoke command to invoke layers on Android
Cody Northrop [Tue, 6 Dec 2016 18:24:47 +0000 (11:24 -0700)]
docs: Update Smoke command to invoke layers on Android

7 years agosmoke: Port arg parsing from Hologram
Cody Northrop [Fri, 2 Dec 2016 18:25:54 +0000 (11:25 -0700)]
smoke: Port arg parsing from Hologram

7 years agosmoke: Allow Android to specify layers other than standard_validation
Cody Northrop [Fri, 2 Dec 2016 18:25:30 +0000 (11:25 -0700)]
smoke: Allow Android to specify layers other than standard_validation

7 years agosmoke: Add layers to Android APK
Cody Northrop [Fri, 2 Dec 2016 18:23:28 +0000 (11:23 -0700)]
smoke: Add layers to Android APK

7 years agobuild: Add Travis CI file
Peter Mackay [Fri, 21 Oct 2016 14:54:03 +0000 (15:54 +0100)]
build: Add Travis CI file

This initial revision only supports builds for Linux.
Pull Request #1082

Change-Id: I0200eb7ae33ff23af2014624ee399bfe1929aaa8

7 years agolayers: remove dead code
Jeremy Hayes [Fri, 2 Dec 2016 21:47:37 +0000 (14:47 -0700)]
layers: remove dead code

Change-Id: I152ce109cada7bee85678217f39819ffe51580b9

7 years agoloader: Modify debug_marker terminators
Mark Young [Fri, 2 Dec 2016 22:02:52 +0000 (15:02 -0700)]
loader: Modify debug_marker terminators

Modify the 2 debug marker terminators we use so that they don't call
into the ICD unless the ICD commands exist.

Change-Id: I72a96475f21d0fca572f3c5e6f5676782a8a4bf3

7 years agolayers: Fix Windows build
Mark Lobodzinski [Fri, 2 Dec 2016 22:33:18 +0000 (15:33 -0700)]
layers: Fix Windows build

STL min/max functions were causing windows build failures.

Change-Id: Ia153a5d6a3d245b645b5f829c3f076c023d865f1

7 years agolayers:Handle consecutive descriptor updates
Tobin Ehlis [Wed, 30 Nov 2016 17:19:14 +0000 (10:19 -0700)]
layers:Handle consecutive descriptor updates

Fixes #1165

According to spec descriptor updates should roll over to the next
binding number. If bindings were out of order, this was broken in
validation.

This fix corrects validation and state update for out-of-order
descriptor bindings by checking consecutive updates based on correct
binding count for consecutive bindings and by performing updates
on a per-binding basis, making sure to roll update over to the
correct next binding.

Also update the error message, related negative test, and database
file.

7 years agolayers:Handle NULL DebugMarker function ptrs
Tobin Ehlis [Thu, 1 Dec 2016 16:37:56 +0000 (09:37 -0700)]
layers:Handle NULL DebugMarker function ptrs

Fixes #1074

Object_tracker and parameter_checker intercept DebugMarker extension
functions which may not be supported by underlying device and
therefore could terminate with a NULL function call.
Updating these layers to handle this case by making sure that their
downstream function ptr is not null before calling down the chain.
If the downstream function ptr is null, considering that VK_SUCCESS
in the layers for functions with VkResult return code.

7 years agolayers:Kill print cmd buffer functions
Tobin Ehlis [Thu, 1 Dec 2016 20:16:17 +0000 (13:16 -0700)]
layers:Kill print cmd buffer functions

Killing the printCB* functions that would dump details of command
buffers for a number of functions.

7 years agolayers:Kill print_mem_list function
Tobin Ehlis [Thu, 1 Dec 2016 20:11:39 +0000 (13:11 -0700)]
layers:Kill print_mem_list function

Killing the print_mem_list function that would dump details of memory
allocations for a number of functions.
This function is a vestige of the original validation layers when
more debug info was useful. Now there are alternate tools and layers
that can produce this type of info so it's extraneous in the validation
layers.

7 years agotoolchain: Fix core count in script for macOS
Cody Northrop [Fri, 2 Dec 2016 16:28:42 +0000 (09:28 -0700)]
toolchain: Fix core count in script for macOS

This could also switch to using gnproc from brew if needed in the future.

7 years agotoolchain: Fix update script for macOS
Cody Northrop [Fri, 2 Dec 2016 16:10:20 +0000 (09:10 -0700)]
toolchain: Fix update script for macOS

readlink -f is not supported on macOS
brew is already a requirement to build for macOS

7 years agotests: Update layer doc to reflect recent added checks
Karl Schultz [Fri, 2 Dec 2016 17:19:29 +0000 (10:19 -0700)]
tests: Update layer doc to reflect recent added checks

7 years agoexternals: Update glslang and spirv-tools
Mark Young [Fri, 2 Dec 2016 16:29:43 +0000 (09:29 -0700)]
externals: Update glslang and spirv-tools

Update glslang and spirv-tools repo commit IDs to the latest version.
spirv-headers was still at the latest, and therefore, didn't need to
be updated.

Change-Id: I9165868cc43d077e2936ed53fdd7dd0171844453

7 years agobuild: Removed obsolete ICD refs from android script
Mark Lobodzinski [Thu, 1 Dec 2016 21:51:56 +0000 (14:51 -0700)]
build: Removed obsolete ICD refs from android script

Change-Id: I38ddea801f3efb887eac9da469428d3476f7adc3

7 years agobuild: Removed ICD dirs from gitignore
Mark Lobodzinski [Thu, 1 Dec 2016 21:50:29 +0000 (14:50 -0700)]
build: Removed ICD dirs from gitignore

Change-Id: I4e15f423964d101b1c0518bda9305f84b9ed35f9

7 years agobuild: Updated BUILD.md for ICD removal/whitespace
Mark Lobodzinski [Thu, 1 Dec 2016 21:49:27 +0000 (14:49 -0700)]
build: Updated BUILD.md for ICD removal/whitespace

Change-Id: Iebd6eeadeb31c0947314c388043a21d11a900b26

7 years agoscripts: Remove ICD reference from build script
Mark Lobodzinski [Thu, 1 Dec 2016 21:47:23 +0000 (14:47 -0700)]
scripts: Remove ICD reference from build script

Change-Id: Iaa32b64423a7df3e8533d3fcd3a38f07e4a94051

7 years agolayers: remove unnecessary log_msg
Jeremy Hayes [Thu, 1 Dec 2016 18:39:42 +0000 (11:39 -0700)]
layers: remove unnecessary log_msg

Change-Id: I2ea237e46b028c0d2afa3a0f559eef42d8639a25

7 years agotests: Update object_tracker tests/DB
Karl Schultz [Wed, 30 Nov 2016 19:36:01 +0000 (12:36 -0700)]
tests: Update object_tracker tests/DB

For the tests that trigger object_tracker messages with
error enums/messages:
- Update DB with names of these tests
- Update tests to use the error enum message strings

Change-Id: I75a122fe4864c798fa8401340c64dc5e9ed6dcb7