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
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
Tony Barbour [Thu, 8 Dec 2016 21:30:55 +0000 (14:30 -0700)]
demos: Fix compile warning in smoke
Change-Id: I60ee7f881cfd2bd78de21fa14146ef5667e20cc6
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
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.
Karl Schultz [Thu, 8 Dec 2016 18:41:14 +0000 (11:41 -0700)]
docs: Add travis build status to README
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
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
Mark Lobodzinski [Mon, 5 Dec 2016 22:27:44 +0000 (15:27 -0700)]
scripts: Remove unused vk_helper.py struct_wrappers
Change-Id: I9dcc1df2d979f1c36a88bb2d6181636c543431a1
Mark Lobodzinski [Mon, 5 Dec 2016 22:10:19 +0000 (15:10 -0700)]
scripts: Remove graphviz options from vk_helper.py
Change-Id: I8b7ff75f334e8c2f2e07c04b6183abcd96e662df
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
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.
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
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.
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.
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.
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.
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.
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
Cody Northrop [Tue, 6 Dec 2016 18:24:47 +0000 (11:24 -0700)]
docs: Update Smoke command to invoke layers on Android
Cody Northrop [Fri, 2 Dec 2016 18:25:54 +0000 (11:25 -0700)]
smoke: Port arg parsing from Hologram
Cody Northrop [Fri, 2 Dec 2016 18:25:30 +0000 (11:25 -0700)]
smoke: Allow Android to specify layers other than standard_validation
Cody Northrop [Fri, 2 Dec 2016 18:23:28 +0000 (11:23 -0700)]
smoke: Add layers to Android APK
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
Jeremy Hayes [Fri, 2 Dec 2016 21:47:37 +0000 (14:47 -0700)]
layers: remove dead code
Change-Id: I152ce109cada7bee85678217f39819ffe51580b9
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
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
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.
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.
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.
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.
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.
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
Karl Schultz [Fri, 2 Dec 2016 17:19:29 +0000 (10:19 -0700)]
tests: Update layer doc to reflect recent added checks
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
Mark Lobodzinski [Thu, 1 Dec 2016 21:51:56 +0000 (14:51 -0700)]
build: Removed obsolete ICD refs from android script
Change-Id: I38ddea801f3efb887eac9da469428d3476f7adc3
Mark Lobodzinski [Thu, 1 Dec 2016 21:50:29 +0000 (14:50 -0700)]
build: Removed ICD dirs from gitignore
Change-Id: I4e15f423964d101b1c0518bda9305f84b9ed35f9
Mark Lobodzinski [Thu, 1 Dec 2016 21:49:27 +0000 (14:49 -0700)]
build: Updated BUILD.md for ICD removal/whitespace
Change-Id: Iebd6eeadeb31c0947314c388043a21d11a900b26
Mark Lobodzinski [Thu, 1 Dec 2016 21:47:23 +0000 (14:47 -0700)]
scripts: Remove ICD reference from build script
Change-Id: Iaa32b64423a7df3e8533d3fcd3a38f07e4a94051
Jeremy Hayes [Thu, 1 Dec 2016 18:39:42 +0000 (11:39 -0700)]
layers: remove unnecessary log_msg
Change-Id: I2ea237e46b028c0d2afa3a0f559eef42d8639a25
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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().
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
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.
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.
Frank Henigman [Fri, 25 Nov 2016 03:15:20 +0000 (22:15 -0500)]
loader: spell 'separator' correctly
PATH_SEPERATOR -> PATH_SEPARATOR
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
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.
Lenny Komow [Tue, 29 Nov 2016 21:24:39 +0000 (14:24 -0700)]
misc: Make update external bat not clean build
Change-Id: Ief2218fb83fb1916b8fcabe60f48893e9393121e
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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
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.
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.
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.
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.
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.
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.
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.
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
Mark Lobodzinski [Wed, 23 Nov 2016 18:28:30 +0000 (11:28 -0700)]
layers: Fix windows build warnings
Change-Id: Ifead20bae1e3c4f237ffc6f49422f20621b6349e
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
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
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
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
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
Mark Lobodzinski [Tue, 22 Nov 2016 16:37:10 +0000 (09:37 -0700)]
layers: Update BufferImageCopy var names for style
Change-Id: If39d85522b27e571ab3e7c0e9fb8cc4e63ac0cf9
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
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
Mark Lobodzinski [Tue, 22 Nov 2016 22:29:38 +0000 (15:29 -0700)]
layers: Fix BindImageMemory typo
Change-Id: I77359a73635d4cdae066255e774a096a9b643a3e
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.
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.
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
Mark Lobodzinski [Fri, 18 Nov 2016 20:48:44 +0000 (13:48 -0700)]
build: Add check for spirv-headers revision file
Change-Id: I9bc225275c4d890f44c7ab4dd2076b981778ac20