platform/upstream/Vulkan-LoaderAndValidationLayers.git
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 agotests: InvalidImageLayout review feedback
Cort [Thu, 8 Dec 2016 17:59:47 +0000 (09:59 -0800)]
tests: InvalidImageLayout review feedback

- Follow variable name/case conventions
- Removed unnecessary positive tests

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 agotests: InvalidImageLayout tweaks:
Cort [Wed, 7 Dec 2016 20:00:57 +0000 (12:00 -0800)]
tests: InvalidImageLayout tweaks:
- Fix some spurious/unexpected error messages
- Add tests for depth/stencil clears as well as colors
- Add third test for each case that should succeed.
- Differentiate tests for invalid layouts vs. valid-but-not-matching layouts
- Use unique error codes instead of raw strings

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 agotests: Add CMake copy of def files to build dir
Mark Lobodzinski [Thu, 8 Dec 2016 15:44:38 +0000 (08:44 -0700)]
tests: Add CMake copy of def files to build dir

Change-Id: I39ceb220d0a3466227f0ae9c987aca5094db6d47

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 agotests: Check in Windows def files
Mark Lobodzinski [Wed, 7 Dec 2016 21:08:06 +0000 (14:08 -0700)]
tests: Check in Windows def files

Change-Id: Ib2ab6332887c8232b042e3e5c1668e780f1f13f3

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 agotests: Tabs to spaces in cmakelists.txt
Mark Lobodzinski [Tue, 6 Dec 2016 20:13:11 +0000 (13:13 -0700)]
tests: Tabs to spaces in cmakelists.txt

Change-Id: I5c128e585f1d47a3d38022b8b2944c4ee1c05a1b

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

Change-Id: Ided624d0509dffd7cb1b004846449ac5c411247b

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 agotests:Update DynamicOffsetWithInactiveBinding
Tobin Ehlis [Wed, 30 Nov 2016 17:22:02 +0000 (10:22 -0700)]
tests:Update DynamicOffsetWithInactiveBinding

Update the positive DynamicOffsetWithInactiveBinding test to include
out of order descriptor bindings. This was previously broken but based
on recent fix this now works correctly.

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 agotests: Fix object leak in AllocDescriptorFromEmptyPool
Karl Schultz [Fri, 2 Dec 2016 15:23:14 +0000 (08:23 -0700)]
tests: Fix object leak in AllocDescriptorFromEmptyPool

This fix allows run_wrap_objects_tests.sh to pass.

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

7 years agotests: Update VU database for obj tracker tests
Karl Schultz [Wed, 30 Nov 2016 19:00:46 +0000 (12:00 -0700)]
tests: Update VU database for obj tracker tests

Change the testname column from Unknown to None for all
error enums referenced in object tracker.  This is a good
starting point because there are vitually no tests explicitly
written to test object tracker checks.
A later commit will update the few rows in the database
with the names of the tests that currently exist.

Change-Id: Ifffb5ee09a74e8e2b7b8b2e70e7e9f9b4d12afbc

7 years agotests: Add test for RelaxedPrecision validation inside interface block
Chris Forbes [Tue, 29 Nov 2016 23:55:56 +0000 (12:55 +1300)]
tests: Add test for RelaxedPrecision validation inside interface block

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track precision for interface block members too
Chris Forbes [Tue, 29 Nov 2016 23:55:40 +0000 (12:55 +1300)]
layers: Track precision for interface block members too

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Add test for RelaxedPrecision validation
Chris Forbes [Tue, 29 Nov 2016 23:48:40 +0000 (12:48 +1300)]
layers: Add test for RelaxedPrecision validation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Require precision to match on interface between stages
Chris Forbes [Tue, 29 Nov 2016 23:45:00 +0000 (12:45 +1300)]
layers: Require precision to match on interface between stages

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track RelaxedPrecision decoration of interface variables
Chris Forbes [Tue, 29 Nov 2016 23:40:54 +0000 (12:40 +1300)]
layers: Track RelaxedPrecision decoration of interface variables

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: OT: null out handles in pipeline creation if we dont call down
Chris Forbes [Wed, 30 Nov 2016 01:56:52 +0000 (14:56 +1300)]
layers: OT: null out handles in pipeline creation if we dont call down

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Apply previous fixes to CV CreateComputePipelines
Chris Forbes [Wed, 30 Nov 2016 01:44:03 +0000 (14:44 +1300)]
layers: Apply previous fixes to CV CreateComputePipelines

Compute pipeline creation can partially fail in the same way as graphics
pipeline creation. Handle it exactly the same way in CV.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Don't make a mess of partial pipeline creation failure
Chris Forbes [Wed, 30 Nov 2016 01:41:35 +0000 (14:41 +1300)]
layers: Don't make a mess of partial pipeline creation failure

Previously we'd end up with a VK_NULL_HANDLE -> junk PIPELINE_STATE
mapping, which confuses other things.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: CV: clean up Create*Pipelines
Chris Forbes [Wed, 30 Nov 2016 01:39:24 +0000 (14:39 +1300)]
layers: CV: clean up Create*Pipelines

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: s/skip_call/skip/ in CV CreateComputePipelines
Chris Forbes [Wed, 30 Nov 2016 01:35:52 +0000 (14:35 +1300)]
layers: s/skip_call/skip/ in CV CreateComputePipelines

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: CV: null out pipelines on validation failure
Chris Forbes [Wed, 30 Nov 2016 01:26:50 +0000 (14:26 +1300)]
layers: CV: null out pipelines on validation failure

If we don't call down the chain, creation of all the pipelines failed.
Callers expect to inspect the handles for partial success -- don't leave
uninitialized junk here.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Switch sense of logic in CV CreateGraphicsPipelines
Chris Forbes [Wed, 30 Nov 2016 01:24:32 +0000 (14:24 +1300)]
layers: Switch sense of logic in CV CreateGraphicsPipelines

No functional change.
Drop the explicit unlocks -- this happens as the unique_lock goes out of
scope anyway.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agoloader: const fixes
Frank Henigman [Fri, 25 Nov 2016 01:02:09 +0000 (20:02 -0500)]
loader: const fixes

Make the 'source_override' parameter of loader_get_manifest_files() const.
The const was removed in 74d013a5, seemingly for convenience of calling
loader_free_getenv(), not because it was incorrect.

Give loader_free_getenv() the same signature in all implementations.

Fix a memory leak where it was possible to exit loader_get_manifest_files()
without calling loader_free_getenv().

Don't pass a potentially NULL value to loader_log().

7 years agoloader: Modify conversion of real_icd_surfaces
Mark Young [Thu, 1 Dec 2016 17:42:21 +0000 (10:42 -0700)]
loader: Modify conversion of real_icd_surfaces

This is the more appropriate way to cast the real_icd_surfaces
values than downcasting the pointer.

This is based off of Jamie Madill's changes.

Change-Id: If63fb95994a92199d65fd3297bb092564446af97

7 years agoloader: Fix cast warning in wsi.c
Jamie Madill [Wed, 30 Nov 2016 17:47:45 +0000 (12:47 -0500)]
loader: Fix cast warning in wsi.c

In 32-bits, this was downcasting a VkSurfaceKHR and comparing it
with NULL. Since VkSurfaceKHR is defined as a uint64_t, it's better
to cast the NULL to a VkSurfaceKHR to avoid a warning.

7 years agoloader: avoid DEFAULT_VK_LAYERS_PATH redefinition.
Frank Henigman [Thu, 24 Nov 2016 22:47:26 +0000 (17:47 -0500)]
loader: avoid DEFAULT_VK_LAYERS_PATH redefinition.

Commit df441f60 did this in the win32 section of the file,
but missed the linux section.  This commit fixes the linux section.

7 years agoloader: spell 'separator' correctly
Frank Henigman [Fri, 25 Nov 2016 03:15:20 +0000 (22:15 -0500)]
loader: spell 'separator' correctly

PATH_SEPERATOR -> PATH_SEPARATOR

7 years agotests: Fix NonCoherentMemoryMapping test
Mark Lobodzinski [Mon, 28 Nov 2016 20:58:59 +0000 (13:58 -0700)]
tests: Fix NonCoherentMemoryMapping test

New validation checks caused failures in this older LVT.
Updated to use better Vulkan.

Change-Id: I2e29f8ba9dde248c45275efee61a329b2847a391

7 years agoscripts:Update unique error enums as of 11/29/16
Tobin Ehlis [Tue, 29 Nov 2016 21:44:56 +0000 (14:44 -0700)]
scripts:Update unique error enums as of 11/29/16

This was a beast of an update. Reconfiguration in the spec
caused various section numbers to move which created a need to remap
a ton of ids.

Also a large bulk of new valid usage blocks for new extensions as
well as legitimate addition and subtraction of core valid usage
statements.

I'd focus some time on updating the script to handle these cases
better but now that Khronos has agreed to integrating the ids into the
spec itself, that will eliminate the need for the updates once the
integration is complete so I'll focus my efforts there going fwd and
hopefully only have to perform 1 or 2 more of these updates.

That resulted in the following cmd line to do the update:

python spec.py -update -remap 182-166,85:273-252,18:301-270,49:\
397-368,15:919-768:2076-1600,61:2340-1665,13:697-1719:2137-1794,30:\
2169-1824,7:2176-1834:2178-1831,3:2181-1836,4:2185-1843:2187-1840,3:\
2190-1844,39:2233-1883,40:2284-1923,39:2324-1962,16:2348-1978:\
2354-1979:2368-1980,7:2375-1988:2376-1990:2377-1998,24:2418-2043,12:\
2402-2022,15:2417-2040:167-2059:268-2067,5:291-2072,10:2355-1679,2:\
2357-1683,11:2229-2327,4:2401-2343:2273-2331,11:2323-2342

7 years agotoolchain: Switch back to tracked revisions on Android
Cody Northrop [Tue, 29 Nov 2016 18:59:00 +0000 (11:59 -0700)]
toolchain: Switch back to tracked revisions on Android

This allows us to recreate the entire LVL package from any point in history.
We continue to pull known good revisions from AOSP.

7 years agomisc: Make update external bat not clean build
Lenny Komow [Tue, 29 Nov 2016 21:24:39 +0000 (14:24 -0700)]
misc: Make update external bat not clean build

Change-Id: Ief2218fb83fb1916b8fcabe60f48893e9393121e

7 years agolayers: Updated error enum DB for KHR_DISPLAY mod
Mark Lobodzinski [Tue, 29 Nov 2016 20:24:33 +0000 (13:24 -0700)]
layers: Updated error enum DB for KHR_DISPLAY mod

Change-Id: I988a5975647b337b057fe79e92ec74c746dcde9d

7 years agolayers: Complete support for VK_KHR_Display ext
Norbert Nopper [Fri, 25 Nov 2016 06:55:13 +0000 (07:55 +0100)]
layers: Complete support for VK_KHR_Display ext

Fixed using display extension only crash.
Added vkGetDisplayPlaneCapabilitiesKHR.
Fixes, that unique objects works for display extension.

Change-Id: I66727a430b9d55bfa40fdddc884f40c91aa29f11

7 years agolayers: Revert some include order changes in PV
Chris Forbes [Mon, 28 Nov 2016 20:49:19 +0000 (09:49 +1300)]
layers: Revert some include order changes in PV

Windows build is cranky about this -- if things are done in the wrong
order, we can end up with some symbols in the dispatch table being
mangled to their W-suffixed versions thanks to windows.h madness.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Disable color-as-depth-stencil test
Chris Forbes [Mon, 28 Nov 2016 19:58:33 +0000 (08:58 +1300)]
tests: Disable color-as-depth-stencil test

Fallout from previous changes; will follow up with a real solution.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move surface format tracking to CV
Chris Forbes [Fri, 25 Nov 2016 03:37:41 +0000 (16:37 +1300)]
layers: Move surface format tracking to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Note swapchain replacement rules may be out of date
Chris Forbes [Fri, 25 Nov 2016 03:17:28 +0000 (16:17 +1300)]
layers: Note swapchain replacement rules may be out of date

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move present modes tracking to CV
Chris Forbes [Fri, 25 Nov 2016 00:17:36 +0000 (13:17 +1300)]
layers: Move present modes tracking to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>