platform/upstream/Vulkan-LoaderAndValidationLayers.git
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>
7 years agolayers: Remove some noise from PV, add to authors
Chris Forbes [Thu, 24 Nov 2016 01:52:24 +0000 (14:52 +1300)]
layers: Remove some noise from PV, add to authors

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Fix broken use of phys device as device dispatch key
Chris Forbes [Thu, 24 Nov 2016 01:45:16 +0000 (14:45 +1300)]
layers: Fix broken use of phys device as device dispatch key

This made no sense. The physical device's dispatch key is the same as
the instance.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: move device dispatch table into layer_data in PV
Chris Forbes [Thu, 24 Nov 2016 01:44:17 +0000 (14:44 +1300)]
layers: move device dispatch table into layer_data in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move dispatch table into instance_layer_data
Chris Forbes [Thu, 24 Nov 2016 01:15:23 +0000 (14:15 +1300)]
layers: Move dispatch table into instance_layer_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: get rid of instance_extension_map in PV
Chris Forbes [Wed, 23 Nov 2016 23:42:33 +0000 (12:42 +1300)]
layers: get rid of instance_extension_map in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: split PV layer data for device and instance
Chris Forbes [Wed, 23 Nov 2016 22:35:31 +0000 (11:35 +1300)]
layers: split PV layer data for device and instance

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove extra 'no depth/stencil attachments exist' error
Chris Forbes [Mon, 28 Nov 2016 05:07:18 +0000 (18:07 +1300)]
layers: Remove extra 'no depth/stencil attachments exist' error

This is now covered by other fairly clear errors.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Just one CB, and one error, in InvalidCommandPoolConsistency
Chris Forbes [Mon, 28 Nov 2016 05:03:11 +0000 (18:03 +1300)]
tests: Just one CB, and one error, in InvalidCommandPoolConsistency

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: use consistent format for image+view in InvalidUsageBits
Chris Forbes [Mon, 28 Nov 2016 05:00:00 +0000 (18:00 +1300)]
tests: use consistent format for image+view in InvalidUsageBits

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Set command buffer inheritance info stype properly
Chris Forbes [Mon, 28 Nov 2016 04:56:51 +0000 (17:56 +1300)]
tests: Set command buffer inheritance info stype properly

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Use correct stype for VkImageViewCreateInfo
Chris Forbes [Mon, 28 Nov 2016 04:53:04 +0000 (17:53 +1300)]
tests: Use correct stype for VkImageViewCreateInfo

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Don't pass uninitialized junk in ImageLayerUnsupportedFormat
Chris Forbes [Mon, 28 Nov 2016 04:51:10 +0000 (17:51 +1300)]
tests: Don't pass uninitialized junk in ImageLayerUnsupportedFormat

This test is still wobbly, but slightly less so...

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Squash errors in IgnoreUnrelatedDescriptor
Chris Forbes [Mon, 28 Nov 2016 04:46:55 +0000 (17:46 +1300)]
tests: Squash errors in IgnoreUnrelatedDescriptor

The descriptor pool was created without the FREE_DESCRIPTOR_SET flag;
descriptor sets must not be individually freed.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove bogus CreateSharedSwapchainsKHR impl in swapchain
Chris Forbes [Mon, 28 Nov 2016 02:25:34 +0000 (15:25 +1300)]
layers: Remove bogus CreateSharedSwapchainsKHR impl in swapchain

This wasn't even wired up. Parameter validation also now does these
checks.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: GH1131, Add error enums to object tracker
Mike Schuchardt [Fri, 11 Nov 2016 23:10:51 +0000 (16:10 -0700)]
layers: GH1131, Add error enums to object tracker

Added error enums to object_tracker.cpp and updated
vk_validation_error_database.txt check_implemented column to match

Change-Id: Icdd08ef50316be023b218b0b36a997a8a61e2a1e

7 years agolayers: Remove handrolled clipped / sharingMode validation from
Chris Forbes [Sun, 27 Nov 2016 22:25:19 +0000 (11:25 +1300)]
layers: Remove handrolled clipped / sharingMode validation from
swapchain

PV now does this

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Tweak PV generator to track newly introduced enums separately
Chris Forbes [Sun, 27 Nov 2016 22:14:17 +0000 (11:14 +1300)]
layers: Tweak PV generator to track newly introduced enums separately

Within each feature block, we need to generate a helper value for 'all
valid bits'. This worked fine; however, across features blocks an enum
may be used -- for example, core eums used in extension functions.

Previously, we'd clear out all the enums we know about at the feature
boundary, which left various fields unvalidated.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agobuild: Fix cube.cpp build issues for Wayland
Karl Schultz [Thu, 24 Nov 2016 00:15:17 +0000 (17:15 -0700)]
build: Fix cube.cpp build issues for Wayland

Fixes #1190

Change-Id: Iefb03b803b049a1634ae2075178afbd3dee691bd

7 years agoscripts:Mark 639 unimplemented in the database
Tobin Ehlis [Wed, 23 Nov 2016 20:10:13 +0000 (13:10 -0700)]
scripts:Mark 639 unimplemented in the database

I believe VALIDATION_ERROR_00639 was marked as implemented because the
case is handled in parameter_checker, but the code itself has not been
updated so I'm switching it back to 'N' in the database for now until
the error code is actually updated.

7 years agoscripts:Add exception for error 1790
Tobin Ehlis [Wed, 23 Nov 2016 20:08:01 +0000 (13:08 -0700)]
scripts:Add exception for error 1790

VALIDATION_ERROR_01790 is a special case that provides an exception
for valid usage when VK_AMD_negative_viewport_height extension is
enabled. There's no actual error to flag here, but the code does
handle the exception case correctly so adding it as an exception
in the stat script as well to reflect that it's implemented.

7 years agotests:Update AllocDescriptorFromEmptyPool
Tobin Ehlis [Wed, 23 Nov 2016 19:52:48 +0000 (12:52 -0700)]
tests:Update AllocDescriptorFromEmptyPool

Update the AllocDescriptorFromEmptyPool test with a new case where
we attempt to allocate more sets than available.
Update the error checking for both cases to use the unique error enum
instead of string matching.

Also update database file to reflect new test case.

7 years agolayers:Unique enums for vkAllocateDescriptorSets
Tobin Ehlis [Wed, 23 Nov 2016 19:23:32 +0000 (12:23 -0700)]
layers:Unique enums for vkAllocateDescriptorSets

Add appropriate unique error enums to the code for allocating
descriptor sets from a pool without enough sets left and without
enough descriptors left.
These were already flagged as implemented but the enums hadn't been
added to the code.

7 years agolayers:Separate push constant max size errors
Tobin Ehlis [Wed, 23 Nov 2016 17:47:26 +0000 (10:47 -0700)]
layers:Separate push constant max size errors

There's separate valid usage language regarding the relationship
between a device's maxPushConstantsSize and the size and offset of
VkPushConstantRange. Splitting up the validation callbacks to flag
these two errors separately along with their respective unique error
enums.

7 years agolayers:Separate two error checks
Tobin Ehlis [Wed, 23 Nov 2016 16:41:12 +0000 (09:41 -0700)]
layers:Separate two error checks

There's separate valid usage language for VkPushConstantRange size
being non-zero and being multiple of 4. Breaking the validation
callbacks to flag these two errors separately along with their
respective unique error enums.

7 years agolayers: Handle partial failure in vkCreate*Pipelines
Maciej Jesionowski [Wed, 23 Nov 2016 09:44:34 +0000 (10:44 +0100)]
layers: Handle partial failure in vkCreate*Pipelines

This applies to vkCreate*Pipelines creating multiple objects with
a single call.

Creation of *some* pipelines may fail and an error code will be
returned. In this case invalid handles will be set to NULL, and
the remaining handles must be managed properly.

7 years agoexternals: Update glslang and spriv-tools revision
Mark Young [Wed, 23 Nov 2016 22:23:32 +0000 (15:23 -0700)]
externals: Update glslang and spriv-tools revision

Update glslang to commit 1c573fb and spirv-tools to commit
6fa6a37.

Change-Id: I22692c213fdc1bada0ee14f110373b1d8c76b043

7 years agolayers: Fix windows build warnings
Mark Lobodzinski [Wed, 23 Nov 2016 18:28:30 +0000 (11:28 -0700)]
layers: Fix windows build warnings

Change-Id: Ifead20bae1e3c4f237ffc6f49422f20621b6349e

7 years agotests: Update misc image VE enums for desired msgs
Mark Lobodzinski [Tue, 22 Nov 2016 21:54:44 +0000 (14:54 -0700)]
tests: Update misc image VE enums for desired msgs

Change-Id: I08413ccb984f71a91ea89233be742a23331059d7

7 years agotests: GH1182, Add buffer/image copy test cases
Mark Lobodzinski [Tue, 22 Nov 2016 21:48:36 +0000 (14:48 -0700)]
tests: GH1182, Add buffer/image copy test cases

Added cases to MiscImageLayerTest and updated the VE database.

Change-Id: Ic76d9c5aafc1532cc761c92feaffbf5745e86f93

7 years agolayers: GH1182, Validate VkBufferImageCopy depth
Mark Lobodzinski [Tue, 22 Nov 2016 21:46:39 +0000 (14:46 -0700)]
layers: GH1182, Validate VkBufferImageCopy depth

Validate that for buffer<-->image copies that (for 1D and 2D image
types) the offset is 0 and the depth is 1.

Change-Id: I8114ce78be926411a2938148bf4c60d86006f8a4

7 years agolayers: Removed obsolete CV validation checks
Mark Lobodzinski [Tue, 22 Nov 2016 18:40:48 +0000 (11:40 -0700)]
layers: Removed obsolete CV validation checks

Removed obsolete CopyImageToBuffer/CopyBufferToImage checks
that output errors if the layerCount was zero and removed
corresponding LVT.

Change-Id: I0a2bada5f896c30fb13cad8a4b3fe157d6d788d3

7 years agolayers: Moved image/buffer aspect check
Mark Lobodzinski [Tue, 22 Nov 2016 18:18:46 +0000 (11:18 -0700)]
layers: Moved image/buffer aspect check

Moved this validation check into a routine shared by both
copyImageToBuffer and copyBufferToImage.

Change-Id: If53581cb7dd847492f52b9c2c95b0be25654074f

7 years agolayers: Update ValidateBufferImageCopyData err enums
Mark Lobodzinski [Tue, 22 Nov 2016 17:44:37 +0000 (10:44 -0700)]
layers: Update ValidateBufferImageCopyData err enums

Updated enums and database.

Change-Id: If04fa10a233ffab9a1622a6bcdaad803de9c84a6

7 years agolayers: Update BufferImageCopy var names for style
Mark Lobodzinski [Tue, 22 Nov 2016 16:37:10 +0000 (09:37 -0700)]
layers: Update BufferImageCopy var names for style

Change-Id: If39d85522b27e571ab3e7c0e9fb8cc4e63ac0cf9

7 years agolayers: Update call structure for BufferImageCopies
Mark Lobodzinski [Tue, 22 Nov 2016 16:33:23 +0000 (09:33 -0700)]
layers: Update call structure for BufferImageCopies

Converted over to PreCallValidate structure for CmdCopyImageToBuffer
and CmdCopyBufferToImage.

Change-Id: I9e68376bbcaa4c7058eb820b55125c524983b1be

7 years agolayers: Clarify BufferImageCopy validation name
Mark Lobodzinski [Tue, 22 Nov 2016 16:17:10 +0000 (09:17 -0700)]
layers: Clarify BufferImageCopy validation name

This routine was used in both ImageToBuffer and BufferToImage but
the name was misleading.

Change-Id: I8ff99cff1757dbaa888cf543451e6a3a4872b003

7 years agolayers: Fix BindImageMemory typo
Mark Lobodzinski [Tue, 22 Nov 2016 22:29:38 +0000 (15:29 -0700)]
layers: Fix BindImageMemory typo

Change-Id: I77359a73635d4cdae066255e774a096a9b643a3e

7 years agolayers:Avoid copy of cmd buffer set
Tobin Ehlis [Mon, 21 Nov 2016 22:23:51 +0000 (15:23 -0700)]
layers:Avoid copy of cmd buffer set

No need to copy the entire unordered_set<GLOBAL_CB_NODE *> in
invalidateCommandBuffers(). Change it to take a "const &" instead.

7 years agolayers:Use ptr to cmd buffer object in log_msg
Tobin Ehlis [Mon, 21 Nov 2016 22:15:52 +0000 (15:15 -0700)]
layers:Use ptr to cmd buffer object in log_msg

This new error was incorrectly referencing the ptr to the cb_node,
which is internal validation state, instead of the cmd buffer object
that the node wraps.

7 years agoscripts: Improve paths in update_ext_resources.sh
Mark Lobodzinski [Tue, 22 Nov 2016 15:02:59 +0000 (08:02 -0700)]
scripts: Improve paths in update_ext_resources.sh

Script was relying on $PWD for determining the current path which
is unreliable in some situations. Updated to a more robust method
allowing spaces in paths.

Change-Id: Ibdb780c479ad7fa831d113e445cc598830806806

7 years agobuild: Add check for spirv-headers revision file
Mark Lobodzinski [Fri, 18 Nov 2016 20:48:44 +0000 (13:48 -0700)]
build: Add check for spirv-headers revision file

Change-Id: I9bc225275c4d890f44c7ab4dd2076b981778ac20

7 years agobuild: Move revision files into external_revisions
Mark Lobodzinski [Fri, 18 Nov 2016 20:20:36 +0000 (13:20 -0700)]
build: Move revision files into external_revisions

Moved glslang, spirv-tools and spirv-headers revision files into
the external_revisions subdirectory.  Modified the Win/Lin update
external sources files to use the new locations.

Change-Id: I56138d5ae21430bcc564e6a42723accae1bcb9de

7 years agodocs: Fix loader doc mention of linux dirs
Mark Young [Tue, 22 Nov 2016 15:44:21 +0000 (08:44 -0700)]
docs: Fix loader doc mention of linux dirs

The Linux "Properly-Installed ICDs" section wasn't coming across
into HTML properly.

Change-Id: I2538b3c027c88ad5923d23f554bba1734c60ec06

7 years agoloader: Fix debug report memory leaks
Mark Young [Mon, 21 Nov 2016 23:20:06 +0000 (16:20 -0700)]
loader: Fix debug report memory leaks

Found a couple of memory leaks in the debug report code in the loader
while testing out allocators in cube.

Change-Id: I56b401394ca43bd8eb9b4f85baa52dfa597a6f49

7 years agoscripts:Some database clean-ups
Tobin Ehlis [Mon, 21 Nov 2016 22:51:45 +0000 (15:51 -0700)]
scripts:Some database clean-ups

Fix a bad test name in database file.
Update two checks which are implemented but didn't have "Y" in their
implemented column of the database file.
Fix a bug in stats script that failed to turn off red txt coloring.

7 years agotests: Update layer doc to reflect recent test changes
Karl Schultz [Tue, 22 Nov 2016 01:31:48 +0000 (18:31 -0700)]
tests: Update layer doc to reflect recent test changes

Change-Id: I52ed15e0455b88ad7cf7474baa1d1790a13a86f0

7 years agolayers:Database update
Tobin Ehlis [Mon, 21 Nov 2016 20:58:59 +0000 (13:58 -0700)]
layers:Database update

Update database to record that check 1006 is implemented and has a test

7 years agotests:Add InvalidQueryPoolCreate test
Tobin Ehlis [Mon, 21 Nov 2016 19:33:49 +0000 (12:33 -0700)]
tests:Add InvalidQueryPoolCreate test

This test intentionally creates a device with the
pipelineStatisticsQuery feature disabled and then attempts to create a
QueryPool that for queryType VK_QUERY_TYPE_PIPELINE_STATISTICS.

7 years agolayers:Verify pipe stats are enabled for device
Tobin Ehlis [Mon, 21 Nov 2016 19:30:06 +0000 (12:30 -0700)]
layers:Verify pipe stats are enabled for device

From Riku Salminen

At vkCreateQueryPool() time, make sure that if PIPELINE_STATISTICS
are requested, then the device must have pipelineStatisticsQuery
enabled.

7 years agotests:Add DSUpdateEmptyBinding test
Tobin Ehlis [Mon, 21 Nov 2016 17:36:16 +0000 (10:36 -0700)]
tests:Add DSUpdateEmptyBinding test

Try to update an empty descriptor binding and verify that correct error
is flagged.

Also updated database file to record testname and the fact that the
check is implemented.

7 years agotests:Use unique error enum
Tobin Ehlis [Mon, 21 Nov 2016 17:33:40 +0000 (10:33 -0700)]
tests:Use unique error enum

Update InvalidDSUpdateIndex test to use unique error enum.

Update database to record test for this case.

7 years agolayers:Remove redundant periods
Tobin Ehlis [Mon, 21 Nov 2016 16:50:49 +0000 (09:50 -0700)]
layers:Remove redundant periods

These error messages are all amended to error messages that already
include a period at the end so deleting the extra periods.

7 years agolayers:Check for update of empty binding
Tobin Ehlis [Mon, 21 Nov 2016 16:41:57 +0000 (09:41 -0700)]
layers:Check for update of empty binding

Validation error if descriptor update performed on an empty binding.

7 years agolayers: Tweak comments for swapchain checks to be less brittle
Chris Forbes [Mon, 31 Oct 2016 04:20:22 +0000 (17:20 +1300)]
layers: Tweak comments for swapchain checks to be less brittle

Referring to specific lines within an expression breaks every time this
code changes.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove (mostly poor) descriptions from CV error enums
Chris Forbes [Mon, 17 Oct 2016 02:01:40 +0000 (15:01 +1300)]
layers: Remove (mostly poor) descriptions from CV error enums

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotest: Disable the existing WSI tests
Chris Forbes [Wed, 12 Oct 2016 22:59:22 +0000 (11:59 +1300)]
test: Disable the existing WSI tests

The existing support in Swapchain for this is going to be generalized to
every known extension entrypoint in PV, but that hasn't happened yet.

Disable this test for now so we don't get random breakage as other bits
of swapchain get disassembled.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove husk of capabilities tracking from swapchain
Chris Forbes [Wed, 12 Oct 2016 02:00:46 +0000 (15:00 +1300)]
layers: Remove husk of capabilities tracking from swapchain

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove remaining bits of image tracking from swapchain
Chris Forbes [Wed, 12 Oct 2016 01:57:25 +0000 (14:57 +1300)]
layers: Remove remaining bits of image tracking from swapchain

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove husks of Acquire/Present from swapchain
Chris Forbes [Wed, 12 Oct 2016 00:31:00 +0000 (13:31 +1300)]
layers: Remove husks of Acquire/Present from swapchain

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move too many images case to CV
Chris Forbes [Wed, 12 Oct 2016 00:27:13 +0000 (13:27 +1300)]
layers: Move too many images case to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move most of remaining swapchain creation checks to CV
Chris Forbes [Tue, 11 Oct 2016 23:24:44 +0000 (12:24 +1300)]
layers: Move most of remaining swapchain creation checks to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move complaints about presenting on bad queues to CV
Chris Forbes [Tue, 11 Oct 2016 21:21:19 +0000 (10:21 +1300)]
layers: Move complaints about presenting on bad queues to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Have the instance WSI flags unconditionally exist
Chris Forbes [Tue, 11 Oct 2016 21:18:39 +0000 (10:18 +1300)]
layers: Have the instance WSI flags unconditionally exist

Code that changes its behavior based on these flags shouldn't also need
to be a mess of ifdef.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track surface support for gpu+queue
Chris Forbes [Tue, 11 Oct 2016 19:55:03 +0000 (08:55 +1300)]
layers: Track surface support for gpu+queue

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move caps query / swapchain creation interaction to CV
Chris Forbes [Tue, 11 Oct 2016 03:21:32 +0000 (16:21 +1300)]
layers: Move caps query / swapchain creation interaction to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Capture surface capabilities
Chris Forbes [Tue, 11 Oct 2016 02:57:55 +0000 (15:57 +1300)]
layers: Capture surface capabilities

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agobuild: Fix 32-bit Linux notes
Karl Schultz [Mon, 21 Nov 2016 20:25:32 +0000 (13:25 -0700)]
build: Fix 32-bit Linux notes

7 years agodemos: Set attachment description flag bits in cube
Tony Barbour [Mon, 21 Nov 2016 19:56:25 +0000 (12:56 -0700)]
demos: Set attachment description flag bits in cube

Fixes a cubepp crash running on AMD

Change-Id: Ie8ef8625a2e8a8a416bcbfe4a62871fef5e07f71

7 years agobuild: Update docs for Linux 32-bit
Karl Schultz [Sat, 19 Nov 2016 17:24:47 +0000 (10:24 -0700)]
build: Update docs for Linux 32-bit

Change-Id: I38c19a166b25af8dba6bdac4d4c09eb1cfdc698d