platform/upstream/Vulkan-LoaderAndValidationLayers.git
6 years agolayers: Fix git.bat fallback on Windows.
Jamie Madill [Thu, 28 Dec 2017 17:39:51 +0000 (12:39 -0500)]
layers: Fix git.bat fallback on Windows.

This fixes the external revision generator script to first try to
use 'git', then fall back to 'git.bat' if the first invocation throws
a WindowsError.

6 years agobuild: Address clang compilation warnings
Karl Schultz [Sat, 23 Dec 2017 16:16:40 +0000 (09:16 -0700)]
build: Address clang compilation warnings

6 years agoandroid: Roll back to NDK r15c
Cody Northrop [Thu, 21 Dec 2017 16:31:53 +0000 (09:31 -0700)]
android: Roll back to NDK r15c

Until we can sort out issues with NDK r16 preventing us from
completing 32-bit test runs.

6 years agoandroid: Add missing shaderc file
Cody Northrop [Wed, 20 Dec 2017 16:00:20 +0000 (09:00 -0700)]
android: Add missing shaderc file

6 years agotests: Transition to VkPipelineLayoutObj
Petr Kraus [Sat, 16 Dec 2017 00:29:19 +0000 (01:29 +0100)]
tests: Transition to VkPipelineLayoutObj

6 years agotests Add VkPipelineLayoutObj
Petr Kraus [Sun, 3 Dec 2017 14:36:03 +0000 (15:36 +0100)]
tests Add VkPipelineLayoutObj

6 years agotests: Transition to VkDescriptorSetLayoutObj
Petr Kraus [Sat, 2 Dec 2017 00:03:27 +0000 (01:03 +0100)]
tests: Transition to VkDescriptorSetLayoutObj

6 years agotests: Add VkDescriptorSetLayoutObj
Petr Kraus [Sat, 2 Dec 2017 00:02:59 +0000 (01:02 +0100)]
tests: Add VkDescriptorSetLayoutObj

6 years agotests: Add Obj vector transformation helpers
Petr Kraus [Fri, 1 Dec 2017 22:10:08 +0000 (23:10 +0100)]
tests: Add Obj vector transformation helpers

6 years agotests: Make Handles moveable
Petr Kraus [Fri, 1 Dec 2017 22:09:19 +0000 (23:09 +0100)]
tests: Make Handles moveable

6 years agoscripts: Scan CWD in object tracker generator.
Jamie Madill [Wed, 20 Dec 2017 19:45:11 +0000 (14:45 -0500)]
scripts: Scan CWD in object tracker generator.

This makes it more easy to locate a header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.

Also reset the CWD after the header is found to keep the build intact.

This is similar to the change to the parameter validation generator.

6 years agotests: Turn off tr1 namespace deprecation warning
Mike Schuchardt [Mon, 11 Dec 2017 22:46:52 +0000 (15:46 -0700)]
tests: Turn off tr1 namespace deprecation warning

The tr1 namespace is used by Google Test and has been deprecated
starting with Visual Studio 15.5.  Turn off the deprecation warning
until we can update Google Test to prevent the build from failing.

Change-Id: I351170ce015ea7abc18ece4db0a511dae6352bf0

6 years agodemos: Remove vulkaninfo dependency on DISPLAY
Petr Kraus [Wed, 13 Dec 2017 21:24:15 +0000 (22:24 +0100)]
demos: Remove vulkaninfo dependency on DISPLAY

6 years agotests:Remove functional check from ExternalMemory
Tobin Ehlis [Fri, 15 Dec 2017 20:05:07 +0000 (13:05 -0700)]
tests:Remove functional check from ExternalMemory

The ExternalMemory test is a positive test that would only pass if
underlying device functionality was verified.
Remove the functional check as that is not appropriate for LVL tests.

The purpose of positive tests in LVL is to stress the validation layers
in specific cases that are known to have had bugs or have potential for
bugs. These tests shouldn't be validating underlying device
capabilities. CTS is the appropriate place for device functional tests.

6 years agolayers: Remove unused variable from core validation.
Jamie Madill [Sun, 3 Dec 2017 17:25:32 +0000 (12:25 -0500)]
layers: Remove unused variable from core validation.

This commit was accidentally reverted in dec37fb9172:
layers: Add descriptor limit checks to vkCreatePipelineLayout()

6 years agobuild: Add clang-format checking of pull request changes to CI
Karl Schultz [Mon, 18 Dec 2017 23:16:45 +0000 (16:16 -0700)]
build: Add clang-format checking of pull request changes to CI

Check modified lines in a pull request for correct clang-format.
Note that checking is not performed unless there is a pull request.

Heavily leveraged from https://github.com/KhronosGroup/SPIRV-Tools.

6 years agotests: Add pos. test for ignored pImmutableSamplers
Petr Kraus [Sun, 17 Dec 2017 16:38:25 +0000 (17:38 +0100)]
tests: Add pos. test for ignored pImmutableSamplers

6 years agolayers: Ignore pImmutableSamplers on non-samplers
Petr Kraus [Sun, 17 Dec 2017 16:37:33 +0000 (17:37 +0100)]
layers: Ignore pImmutableSamplers on non-samplers

6 years agolayers:Kill PV return code check
Tobin Ehlis [Tue, 19 Dec 2017 16:30:04 +0000 (09:30 -0700)]
layers:Kill PV return code check

Most of these return code warnings were already removed from validation
so killing this one as well. They can potentially be re-added in an
assistant layer.

6 years agolayers: Work around bugs in old STL versions.
Jamie Madill [Fri, 15 Dec 2017 22:14:04 +0000 (17:14 -0500)]
layers: Work around bugs in old STL versions.

Some old versions of the C++ STL have a few bugs with advanced features.
This works around two such issues:

- std::unordered_map::const_reference having the wrong type
- an error with an explicit std::vector constructor

6 years agoandroid: Update to NDK r16b
Cody Northrop [Mon, 18 Dec 2017 05:05:31 +0000 (22:05 -0700)]
android: Update to NDK r16b

This allows us to switch to libc++ runtime as it is no longer beta:
https://android.googlesource.com/platform/ndk/+/ndk-release-r16/CHANGELOG.md

6 years agoscripts: Scan CWD in parameter validation script.
Jamie Madill [Fri, 15 Dec 2017 20:54:05 +0000 (15:54 -0500)]
scripts: Scan CWD in parameter validation script.

This makes it more easy to locate the header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.

Also reset the CWD after the header is found to keep the build intact.

6 years agoscripts: Prefer git.bat on Windows.
Jamie Madill [Fri, 15 Dec 2017 21:25:16 +0000 (16:25 -0500)]
scripts: Prefer git.bat on Windows.

Calling git.bat seems to work in every instance, whereas some
installations don't have access to "git" directly.

6 years agodemos: GH1054, make cube shaders inline
Petr Kraus [Thu, 30 Nov 2017 13:49:20 +0000 (14:49 +0100)]
demos: GH1054, make cube shaders inline

6 years agoicd: Fix json for windows build
Petr Kraus [Thu, 14 Dec 2017 23:39:40 +0000 (00:39 +0100)]
icd: Fix json for windows build

6 years agolayers: Fix Graphics Pipeline pointers not ignored
Petr Kraus [Thu, 14 Dec 2017 19:57:36 +0000 (20:57 +0100)]
layers: Fix Graphics Pipeline pointers not ignored

Some VkGraphicsPipelineCreateInfo pointers must be ignored under some
conditions, but were not in the layers.

Add relevant tests.

Fix tests found broken (using depth or color without attachment in
subpass)

6 years agolayers: improve const-ness in buffer_validation.cpp
Dave Houlton [Thu, 14 Dec 2017 22:08:47 +0000 (15:08 -0700)]
layers: improve const-ness in buffer_validation.cpp

Change-Id: Ic7a2ef6e26b76c1b5f3a4c279e0d15228513af9e

6 years agolayers: Repro and fix GH 2239
Dave Houlton [Fri, 8 Dec 2017 20:51:02 +0000 (13:51 -0700)]
layers: Repro and fix GH 2239

Modified positive test UncompressedToCompressedImageCopy to provoke
the issue reported in GH 2239

Fixed destination extents calculations in buffer_validation.cpp to
avoid the erroneous errors

Change-Id: I268f14a6be678d767df14f0a6694aca479854c3

6 years agotests: Refactor DSBufferLimitErrors
Mike Schuchardt [Wed, 13 Dec 2017 16:46:24 +0000 (09:46 -0700)]
tests: Refactor DSBufferLimitErrors

- Fix overflow for large values of max*BufferRange
- Support arbitrary min*BufferOffsetAlignment, ie from mock_icd
- Split storage and uniform buffer testing for more coverage on devices
  where storage buffer limits can't be tested

Change-Id: Ibab36c76b93367c829f4f535ac710bb18f56e1bd

6 years agolayers: Fix PV overflow
Mike Schuchardt [Wed, 13 Dec 2017 16:45:36 +0000 (09:45 -0700)]
layers: Fix PV overflow

Buffer pCreateInfo->size was being truncated to uint32_t before
comparison with 0

Change-Id: Iba6b94f2a0df6514d1ffb79d38e6c0738ea44d71

6 years agotests: Fix InvalidCmdBufferPipelineDestroyed
Mike Schuchardt [Thu, 14 Dec 2017 19:59:30 +0000 (12:59 -0700)]
tests: Fix InvalidCmdBufferPipelineDestroyed

Convert InvalidCmdBufferPipelineDestroyed test to use pipeline helper.
The original manually constructed pipeline was crashing at least one
driver.

Change-Id: I04854e8e2a14136e04e7baacdaaff2c39c1fbec8

6 years agotests:Re-enable DS attachment for TriTest
Tobin Ehlis [Thu, 14 Dec 2017 15:46:34 +0000 (08:46 -0700)]
tests:Re-enable DS attachment for TriTest

Three cases were disabling DS attachment to accomodate a driver bug,
but this is actually invalid for the tests.
Re-enabling the DS attachment for those cases as with device updates
and other workarounds, the tests are now working across all devices.

6 years agolayers:Add VUID to existing check
Tobin Ehlis [Wed, 13 Dec 2017 16:39:30 +0000 (09:39 -0700)]
layers:Add VUID to existing check

Add VUID to existing check for VALIDATION_ERROR_0f6004ac and update
the DB file to reflect that this check is in place.

6 years agotests:Driver Workaround and notes
Tobin Ehlis [Wed, 6 Dec 2017 17:31:48 +0000 (10:31 -0700)]
tests:Driver Workaround and notes

At least 1 device's driver is crashing when VK_REMAINING_* values are
used for range level and mip specifiers. Modify these cases to be hard-
coded values instead.
Also add some comments related to workarounds.

6 years agotests:Correctly treat failMask as enum
Tobin Ehlis [Wed, 13 Dec 2017 15:59:54 +0000 (08:59 -0700)]
tests:Correctly treat failMask as enum

6 years agotests: Clean up VKTriangleTest
Petr Kraus [Thu, 30 Nov 2017 19:22:43 +0000 (20:22 +0100)]
tests: Clean up VKTriangleTest

- remove uniforms and descriptors and dependence on glm (not used
anyway)
- BsoFailSelect into non-mask enum
- add depth attachment if needed by test
- add proper image usage flag if it is going to be cleared
- fixups in PipelineObj create info
- make layout changes in clear destructive
- use SetLayout where appropriate instead of custom code

6 years agotests: Use avail. utils in pipeline viewport tests
Petr Kraus [Mon, 11 Dec 2017 18:18:20 +0000 (19:18 +0100)]
tests: Use avail. utils in pipeline viewport tests

6 years agolayers: Add some missings locks of global_lock
Jean-François Marquis [Wed, 15 Nov 2017 22:48:48 +0000 (17:48 -0500)]
layers: Add some missings locks of global_lock

Add locks of global_lock in BindBufferMemory, BindImageMemory
and GetImageSubresourceLayout to have safe access to imageMap
and bufferMap.

6 years agoicd:Update README with current status
Tobin Ehlis [Tue, 12 Dec 2017 18:11:18 +0000 (11:11 -0700)]
icd:Update README with current status

6 years agobuild: Clear some compiler warnings
Petr Kraus [Fri, 8 Dec 2017 23:22:39 +0000 (00:22 +0100)]
build: Clear some compiler warnings

- remove unnecessary ";" after function definitions and namespaces
- fix
wrong type match in printf for handle types
- convert some left-overs to `HandleToUint64`

6 years agotests: Add tests for VUs 0fe0023c-246
Dave Houlton [Fri, 1 Dec 2017 23:07:10 +0000 (16:07 -0700)]
tests: Add tests for VUs 0fe0023c-246

Add CreatePipelineLayoutExceedsSetLimit() which tests 0fe0023c.
Add CreatePipelineLayoutExcessPerStageDescriptors() which tests
VUs 0fe0023e0fe002400fe002420fe00244 & 0fe00246.

Change-Id: I3795e6a726c10626b33bac254c396db5fb8a8e6c

6 years agolayers: Add descriptor limit checks to vkCreatePipelineLayout()
Dave Houlton [Wed, 29 Nov 2017 21:36:21 +0000 (14:36 -0700)]
layers: Add descriptor limit checks to vkCreatePipelineLayout()

Change-Id: I570dc49652997cfaed7dcd6dfaf2e6f125f861cc

6 years agotests: Fix MiscImageLayerTests unsupported format
Petr Kraus [Sat, 9 Dec 2017 22:29:47 +0000 (23:29 +0100)]
tests: Fix MiscImageLayerTests unsupported format

6 years agotest: Fix image usage-feature check
Petr Kraus [Mon, 11 Dec 2017 00:17:46 +0000 (01:17 +0100)]
test: Fix image usage-feature check

- Fix checking linear image agains optimal features
- Add missing checks to the checking function

6 years agotests: Fix empty queue families in device creation
Petr Kraus [Sun, 10 Dec 2017 23:35:33 +0000 (00:35 +0100)]
tests: Fix empty queue families in device creation

6 years agotests: Fix missing usage in ClearImageErrors
Petr Kraus [Sun, 10 Dec 2017 14:59:49 +0000 (15:59 +0100)]
tests: Fix missing usage in ClearImageErrors

6 years agotests: Fix unsupported format in InvalidImageLayout
Petr Kraus [Sun, 10 Dec 2017 14:48:36 +0000 (15:48 +0100)]
tests: Fix unsupported format in InvalidImageLayout

6 years agoRevert "layers: Add descriptor limit checks to vkCreatePipelineLayout()"
Dave Houlton [Fri, 8 Dec 2017 22:11:05 +0000 (15:11 -0700)]
Revert "layers: Add descriptor limit checks to vkCreatePipelineLayout()"

Remove checks to avoid database complaints

This reverts commit af313b4683b42a9e4d15aa5819feddc1b9eee6d8.

6 years agoRevert "tests: Add tests for VUs 0fe0023c-246"
Dave Houlton [Fri, 8 Dec 2017 22:04:48 +0000 (15:04 -0700)]
Revert "tests: Add tests for VUs 0fe0023c-246"

This test fails on google's Vega system

This reverts commit 29cedfebcc891d85e938893166a3d919fc2845d2.

6 years agowinsdk: Move file copying into NSIS installer
Lenny Komow [Fri, 8 Dec 2017 20:52:26 +0000 (13:52 -0700)]
winsdk: Move file copying into NSIS installer

Change-Id: If01c5024af802be784d5ea0f897cebdcc604934d

6 years agotests: Add tests for VUs 0fe0023c-246
Dave Houlton [Fri, 1 Dec 2017 23:07:10 +0000 (16:07 -0700)]
tests: Add tests for VUs 0fe0023c-246

Add CreatePipelineLayoutExceedsSetLimit() which tests 0fe0023c.
Add CreatePipelineLayoutExcessPerStageDescriptors() which tests
VUs 0fe0023e0fe002400fe002420fe00244 & 0fe00246.

Change-Id: I3795e6a726c10626b33bac254c396db5fb8a8e6c

6 years agolayers: Add descriptor limit checks to vkCreatePipelineLayout()
Dave Houlton [Wed, 29 Nov 2017 21:36:21 +0000 (14:36 -0700)]
layers: Add descriptor limit checks to vkCreatePipelineLayout()

Change-Id: I570dc49652997cfaed7dcd6dfaf2e6f125f861cc

6 years agolayers: VS2013 compatibility
Mike Schuchardt [Wed, 6 Dec 2017 20:31:29 +0000 (13:31 -0700)]
layers: VS2013 compatibility

Remove all usages of constexpr to restore compatibility with Visual Studio
2013.  Also make a handful of other minor edits where the VS2013
compiler was reporting errors.

Change-Id: I3c426bea460a4a902ab306b01deb1d76d60f5fa2

6 years agobuild: Remove clumsy syntax in Travis-CI config
Karl Schultz [Wed, 6 Dec 2017 01:00:11 +0000 (18:00 -0700)]
build: Remove clumsy syntax in Travis-CI config

We were using a clumsy workaround in order to
get good failure information when a Travis-CI build
failed and also to make it stop at the point of
failure.

This commit uses some techniques to workaround
travis-ci/travis-ci#1066, which asserts that
a Travis-CI job should stop when a before_install
or script command fails.  Today, Travis-CI
continues with the next commands.

This was tested with both an intentional build
script error and a compilation error.  In both
cases the Travis-CI job ended at the point of
failure and the logs were clear enough to
diagnose the problem.

6 years agotests: Add missing lineWidth parameters
Petr Kraus [Tue, 5 Dec 2017 00:24:37 +0000 (01:24 +0100)]
tests: Add missing lineWidth parameters

6 years agotests: Separate LogicOp test
Petr Kraus [Tue, 5 Dec 2017 02:15:18 +0000 (03:15 +0100)]
tests: Separate LogicOp test

- separate LogicOp test so it does not choose what it is testing at
runtime
- update to `CreatePipelineHelper`
- use VUIDs and update database
- should fix one of the "Unexpected" in CI

6 years agotests: Update MismatchedQueueFamiliesOnSubmit
Petr Kraus [Tue, 5 Dec 2017 20:02:48 +0000 (21:02 +0100)]
tests: Update MismatchedQueueFamiliesOnSubmit

- report clearly if it is skipped
- don't rely on test state for the pool
- use VUID and update database
- should fix one of the "Unexpected" in CI tests

6 years agotests:Add new case to ClearDepthStencilImageErrors
Tobin Ehlis [Mon, 4 Dec 2017 23:07:33 +0000 (16:07 -0700)]
tests:Add new case to ClearDepthStencilImageErrors

Add test case where VK_IMAGE_USAGE_TRANSFER_DST_BIT is not correctly
set for an image that is passed to vkCmdClearDepthStencilImage().

6 years agotests:Fix unexpected error
Tobin Ehlis [Mon, 4 Dec 2017 21:47:26 +0000 (14:47 -0700)]
tests:Fix unexpected error

Update ClearDepthStencilImageErrors test to remove unexpected error.
Updated the error check to use VUID instead of text.
Also, this is the new name of the test in anticipation of testing at
least one more error condition in this same test.

6 years agotests:Fix unused var warning
Tobin Ehlis [Mon, 4 Dec 2017 20:45:14 +0000 (13:45 -0700)]
tests:Fix unused var warning

6 years agolayers:Add image checks for DS image being cleared
Tobin Ehlis [Thu, 30 Nov 2017 20:47:11 +0000 (13:47 -0700)]
layers:Add image checks for DS image being cleared

Adding checks for two new VUIDs related to vkCmdClearDepthStencilImage
function. Making sure that the image being cleared supports use as a
transfer destination and that the image was created with the usage bit
VK_IMAGE_USAGE_TRANSFER_DST_BIT.

6 years agocmake: Fix layers/icd cmake files for in-tree builds
Mark Lobodzinski [Tue, 5 Dec 2017 23:41:25 +0000 (16:41 -0700)]
cmake: Fix layers/icd cmake files for in-tree builds

See Github #2243.

Change-Id: I40119c73a1518357df4360654c888b8306aa94d8

6 years agolayers: Add warning for LOAD_OP_LOAD+LAYOUT_UNDEFINED
Jason Ekstrand [Mon, 4 Dec 2017 04:16:32 +0000 (20:16 -0800)]
layers: Add warning for LOAD_OP_LOAD+LAYOUT_UNDEFINED

While not technically an error (VK_IMAGE_LAYOUT_UNDEFINED is always
allowed as an initial layout), this combination is almost never what
you actually want.  If nothing else, it's a potential performance
problem because VK_ATTACHMENT_LOAD_OP_LOAD is liable to be more
expensive than VK_ATTACHMENT_LOAD_OP_DONT_CARE.  Give developers a
helpful warning in this case.

This would have caught an actual bug in some of the Sascha Willems
demos as fixed in this PR:

https://github.com/SaschaWillems/Vulkan/pull/400

Change-Id: I73c64ae60a65cfb200db00707d650ec8da7ba130

6 years agoRevert "tests: Update MismatchedQueueFamiliesOnSubmit"
Tobin Ehlis [Tue, 5 Dec 2017 19:06:36 +0000 (12:06 -0700)]
Revert "tests: Update MismatchedQueueFamiliesOnSubmit"

This reverts commit 21420916e4dee67474655fe08b3d1125598b407d.

6 years agotests: Update MismatchedQueueFamiliesOnSubmit
Petr Kraus [Tue, 5 Dec 2017 03:02:44 +0000 (04:02 +0100)]
tests: Update MismatchedQueueFamiliesOnSubmit

- report clearly if it is skipped
- don't rely on test state for the pool
- use VUID and update database
- should fix one of the "Unexpected" in CI tests

6 years agolayers:Limit warning on secondary command buffer
Tobin Ehlis [Fri, 1 Dec 2017 22:59:53 +0000 (15:59 -0700)]
layers:Limit warning on secondary command buffer

Only warn if a secondary command buffer has a renderPass that is valid
and has not set VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT. This
avoid warning for the case where uninitialized data is present in the
renderPass handle.

6 years agolayers: Remove unused variable from core validation.
Jamie Madill [Sun, 3 Dec 2017 17:25:32 +0000 (12:25 -0500)]
layers: Remove unused variable from core validation.

6 years agoloader: Fix Clang errors/warnings.
Jamie Madill [Sun, 3 Dec 2017 16:59:17 +0000 (11:59 -0500)]
loader: Fix Clang errors/warnings.

Fixes:

format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Werror,-Wformat]
error : expected ')' (issue with __FUNCTION__ and format string)

6 years agobuild: Change AppVeyor config to use multiple jobs.
Karl Schultz [Sat, 2 Dec 2017 21:17:12 +0000 (14:17 -0700)]
build: Change AppVeyor config to use multiple jobs.

This is a complete rewrite of the AppVeyor config file.

A separate job is used for each config in the Platform-Configuration
matrix.  This helps get around the problem of the 60-minute limit per job.

The invocation of the update_external_sources script has been
replaced with individual commands to build glslang and spirv-tools
only for the platform configuration selected for each job.
This avoids having to build glslang and spirv-tools 4 times for each job.

6 years agolayers:Add secondary CB warning
Tobin Ehlis [Tue, 28 Nov 2017 22:02:29 +0000 (15:02 -0700)]
layers:Add secondary CB warning

Fixes #2237

If VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not set by a
secondary command buffer, then any renderPass specified in the
inheritance info will be ignored. Adding a warning if a non-NULL
renderPass is included in the inheritance info but the
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not set. This is
likely an oversight by the user and the current validation error that
this case leads to (no active renderPass) doesn't directly point to the
root cause.

6 years agodemos: Fix barrier settings for texture in cube demos
Karl Schultz [Wed, 22 Nov 2017 23:43:15 +0000 (16:43 -0700)]
demos: Fix barrier settings for texture in cube demos

Change-Id: Ibaa3901daa7a632022b67e53dd34f79be594ded1

6 years agotests: Tests for pipeline multisample pnext check
John Zulauf [Thu, 16 Nov 2017 17:12:55 +0000 (10:12 -0700)]
tests: Tests for pipeline multisample pnext check

Added test for validation checks of
    VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext
    (VALIDATION_ERROR_1001c40d)

Change-Id: I41fb10698d88db1e4b143007c36b5a798e1adc6b

6 years agolayers: Update pipeline multisample pnext check
John Zulauf [Tue, 14 Nov 2017 18:43:19 +0000 (11:43 -0700)]
layers: Update pipeline multisample pnext check

Updated validation check for
VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext
(VALIDATION_ERROR_1001c40d) to include the valid extension pNext sType
values valid for the current spec:
    VkPipelineCoverageModulationStateCreateInfoNV,
    VkPipelineCoverageToColorStateCreateInfoNV, or
    VkPipelineSampleLocationsStateCreateInfoEXT

Change-Id: Ic3e054110c2bad4b44121a67e7e61e627fa9c559

6 years agotests: Added PipelineMultiSample VUID tests
John Zulauf [Sun, 12 Nov 2017 02:13:43 +0000 (19:13 -0700)]
tests: Added PipelineMultiSample VUID tests

Added tests for validation checks:

VUID-VkPipelineMultisampleStateCreateInfo-sampleShadingEnable-00784
(VALIDATION_ERROR_10000620)

VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786
(VALIDATION_ERROR_10000624)

Change-Id: I49fcfc8f55275f27a976ea88619674c3b87285ae

6 years agolayers: Added PipelineMultiSample VUID checks
John Zulauf [Mon, 6 Nov 2017 18:15:53 +0000 (11:15 -0700)]
layers: Added PipelineMultiSample VUID checks

Added validation checks for:

VUID-VkPipelineMultisampleStateCreateInfo-sampleShadingEnable-00784
(VALIDATION_ERROR_10000620)
    If the sample rate shading feature is not enabled,
    sampleShadingEnable must be VK_FALSE

VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786
(VALIDATION_ERROR_10000624)
    minSampleShading must be in the range [0,1]

Change-Id: I21cdaf99f8970df4f2e03026a4dae00746ad8386

6 years agotests: validation_cache review feedback
Cort Stratton [Tue, 28 Nov 2017 00:43:23 +0000 (16:43 -0800)]
tests: validation_cache review feedback

6 years agolayers: validation_cache review feedback
Cort Stratton [Tue, 28 Nov 2017 00:43:14 +0000 (16:43 -0800)]
layers: validation_cache review feedback

6 years agotests: Add test for vkMergeValidationCachesEXT()
Cort Stratton [Thu, 23 Nov 2017 01:24:36 +0000 (17:24 -0800)]
tests: Add test for vkMergeValidationCachesEXT()

6 years agolayers: Check EXT_validation_cache's sole non-trivial VU
Cort Stratton [Thu, 23 Nov 2017 01:23:16 +0000 (17:23 -0800)]
layers: Check EXT_validation_cache's sole non-trivial VU

A cache can't be merged with itself.

6 years agolayers: Tidy up shader cache, reserve space before merging
Chris Forbes [Thu, 23 Nov 2017 00:54:46 +0000 (16:54 -0800)]
layers: Tidy up shader cache, reserve space before merging

6 years agoinlined commitIdLen into assert
Cort Stratton [Thu, 23 Nov 2017 00:19:21 +0000 (16:19 -0800)]
inlined commitIdLen into assert

6 years agoConvert SPIRV-Tools commit ID to binary before use as a UUID
Cort Stratton [Thu, 23 Nov 2017 00:05:49 +0000 (16:05 -0800)]
Convert SPIRV-Tools commit ID to binary before use as a UUID

This doubles the number of effective hash bits from 64 to 128.

6 years agoFix build errors:
Cort Stratton [Thu, 23 Nov 2017 00:04:23 +0000 (16:04 -0800)]
Fix build errors:

- No more SPIRV-Tools revision file. Instead, the
  revision-parsing script just runs "git rev-parse HEAD"
  in the spirv-tools repository to extract the commit ID.
- Invoke the revision-parsing script from the .sh Android scripts,
  in addition to the .bat scripts.

6 years agoFix for Android build error with Linux host
Cort Stratton [Wed, 22 Nov 2017 21:06:57 +0000 (13:06 -0800)]
Fix for Android build error with Linux host

6 years agoUse SPIRV-Tools commit ID as validation cache version
Cort Stratton [Tue, 7 Nov 2017 03:13:53 +0000 (19:13 -0800)]
Use SPIRV-Tools commit ID as validation cache version

6 years agoshader module codeSize is already in bytes
Cort Stratton [Wed, 1 Nov 2017 20:46:21 +0000 (13:46 -0700)]
shader module codeSize is already in bytes

6 years agolayers: Add layer metadata for EXT_validation_cache extension
Chris Forbes [Mon, 30 Oct 2017 23:08:19 +0000 (16:08 -0700)]
layers: Add layer metadata for EXT_validation_cache extension

6 years agolayers: Add VK_EXT_validation_cache implementation for shaders
Chris Forbes [Mon, 24 Jul 2017 22:35:29 +0000 (15:35 -0700)]
layers: Add VK_EXT_validation_cache implementation for shaders

6 years agolayers: Add xxhash
Chris Forbes [Mon, 24 Jul 2017 22:39:07 +0000 (15:39 -0700)]
layers: Add xxhash

6 years agoAdd missing include in android_util.cpp
Petr Kraus [Tue, 28 Nov 2017 02:22:41 +0000 (03:22 +0100)]
Add missing include in android_util.cpp

6 years agotests: Fix UncompressedToCompressedImageCopy
Cort Stratton [Tue, 28 Nov 2017 21:11:37 +0000 (13:11 -0800)]
tests: Fix UncompressedToCompressedImageCopy

Created images were implicitly using TILING_LINEAR,
despite testing for TILING_OPTIMAL support.

Fixes failure on Vega mentioned in #2153

6 years agoloader: fix memory leak for layers with >1 dev_exts
Cort Stratton [Tue, 28 Nov 2017 20:11:05 +0000 (12:11 -0800)]
loader: fix memory leak for layers with >1 dev_exts

6 years agolayers: Fix typos in viewport state validation msgs
Petr Kraus [Thu, 23 Nov 2017 14:47:38 +0000 (15:47 +0100)]
layers: Fix typos in viewport state validation msgs

6 years agotests: Implement lineWIdth state checks
Petr Kraus [Fri, 24 Nov 2017 03:08:20 +0000 (04:08 +0100)]
tests: Implement lineWIdth state checks

6 years agolayers: Fix lineWidth checks
Petr Kraus [Fri, 24 Nov 2017 02:09:03 +0000 (03:09 +0100)]
layers: Fix lineWidth checks

- migrate to parameter_validatio
- do not check against limit (outside limits is valid; impl clamps
value)

6 years agolayers: Quick fix odd create PSO param checks
Petr Kraus [Fri, 24 Nov 2017 02:05:50 +0000 (03:05 +0100)]
layers: Quick fix odd create PSO param checks

- param check did only check the first create info
- `cullMode` check should be redundant to the automated part

6 years agoheader: Update to version 1.0.66 of the Vulkan hdr
Mark Lobodzinski [Mon, 27 Nov 2017 19:00:45 +0000 (12:00 -0700)]
header: Update to version 1.0.66 of the Vulkan hdr

- update vulkan.h
- update Lin/Win json file versions
- update vk.xml
- update vuid_mapping.py
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp
- fixed error in vk.xml, unofficially

Change-Id: Ia719bc069cb776c5b174f41667d591b43aaaf4d7

6 years agotests:Fix MSVS build warnings
Tobin Ehlis [Fri, 10 Nov 2017 17:23:48 +0000 (10:23 -0700)]
tests:Fix MSVS build warnings

6 years agolayers: Fix MSVS conversion warning.
Jamie Madill [Wed, 8 Nov 2017 21:25:22 +0000 (16:25 -0500)]
layers: Fix MSVS conversion warning.

This fixes the following:

warning C4245: 'argument': conversion from 'int' to 'unsigned int', signed/unsigned mismatch

It also modifies the build to enable this warning by default.

Change-Id: If2e6c8d43811162a9a382883b3d55a148975fc37

6 years agoloader: Fix improper cast warning.
Jamie Madill [Wed, 8 Nov 2017 19:48:32 +0000 (14:48 -0500)]
loader: Fix improper cast warning.

warning C4057: 'function': 'LPBYTE' differs in indirection to slightly different base types

This was popping up in some Windows builds. Also add it to the list
of warnings enabled by default with MSVS.

Change-Id: I2703f2e57ba3fb33ec03fbc7b8324c75187abec6