platform/upstream/Vulkan-LoaderAndValidationLayers.git
7 years agoloader: gh1026- Fix compiler warnings
Mark Young [Wed, 12 Oct 2016 20:18:44 +0000 (14:18 -0600)]
loader: gh1026- Fix compiler warnings

Fixed the compiler fixes encountered in the loader.

Change-Id: I4b3bb34b2d7e2231ccae61c684029af337d7c25e

7 years agotests: Get run_wrap_objects_tests.sh working.
Mike Stroyan [Tue, 27 Sep 2016 20:13:14 +0000 (14:13 -0600)]
tests: Get run_wrap_objects_tests.sh working.

Fail from run_loader_tests.sh if run_wrap_objects_tests.sh fails.

Don't run tests in parallel to avoid hangs on some devices.

Filter out new "Unexpected:" lines from vk_layer_validation_tests.
Those lines include varying details that never pass a diff.

7 years agodemos: Add .py extension to smoke build script
Mark Lobodzinski [Tue, 11 Oct 2016 15:25:23 +0000 (09:25 -0600)]
demos: Add .py extension to smoke build script

Change-Id: I7fbcdc26fe774baefbdb3796470f41c3393ddfda

7 years agoscripts: Add python extension to script
Mark Lobodzinski [Tue, 11 Oct 2016 15:21:19 +0000 (09:21 -0600)]
scripts: Add python extension to script

Change-Id: If5c338ba6eb991cc489ef0a37296a111917ddd52

7 years agobuild: Remove dead code from build script
Mark Lobodzinski [Tue, 11 Oct 2016 15:18:55 +0000 (09:18 -0600)]
build: Remove dead code from build script

Change-Id: Id6dbde9743573659b57c2ee60634245ca10a827a

7 years agoloader: Remove dead code from loader gen script
Mark Lobodzinski [Tue, 11 Oct 2016 15:17:57 +0000 (09:17 -0600)]
loader: Remove dead code from loader gen script

Change-Id: Ie6ad81c1f0097b93c3006a737d57a69d81ee70e8

7 years agotests: Remove document validation test
Cody Northrop [Tue, 11 Oct 2016 20:18:20 +0000 (14:18 -0600)]
tests: Remove document validation test

This test requires files outside of the build directory, which
doesn't work when distributing build results.  It will soon be
superseded by a new test for valid enums.  It is still covered
by Linux run_all_tests.sh

7 years agotests: Add InvalidStorageImageLayout test
Tobin Ehlis [Tue, 11 Oct 2016 14:10:51 +0000 (08:10 -0600)]
tests: Add InvalidStorageImageLayout test

New test attempts to update a STORAGE_IMAGE descriptor without GENERAL
image layout and verifies that validation flags error.

7 years agotests: Fix some unexpected errors on DescriptorSetCompatibility
Tobin Ehlis [Mon, 10 Oct 2016 20:54:43 +0000 (14:54 -0600)]
tests: Fix some unexpected errors on DescriptorSetCompatibility

Use GENERAL layout for STORAGE_IMAGE descriptor updates and make sure
descriptor pool allows freeing of descriptor sets.

7 years agolayers: Validate correct layout for STORAGE_IMAGE descriptors
Tobin Ehlis [Mon, 10 Oct 2016 20:02:48 +0000 (14:02 -0600)]
layers: Validate correct layout for STORAGE_IMAGE descriptors

According to the spec "Load and store operations on storage images can only
be done on images in VK_IMAGE_LAYOUT_GENERAL layout."

This change flags an error if a STORAGE_IMAGE descriptor is updated with an
image layout other than GENERAL.

7 years agocube.c: Remove excess tests from presentation fences
szdarkhack [Sat, 8 Oct 2016 06:51:22 +0000 (09:51 +0300)]
cube.c: Remove excess tests from presentation fences

Instead of using a bool array and both checking and writing to it every frame for no reason, just create the presentation fences with the VK_FENCE_CREATE_SIGNALED_BIT flag.

7 years agolayers: Update database file for spec on 10/11/16
Tobin Ehlis [Tue, 11 Oct 2016 15:59:09 +0000 (09:59 -0600)]
layers: Update database file for spec on 10/11/16

Update the error enum database file for spec as of 10/11/16.
There was only one change which was the removal of spurious </usage> tag
from error 500. Since this changed the error message, I had to force the
script to remap new 500 to the original 500.

Command line run to generate update:
python spec.py -update -remap 500-500

7 years agoscripts: Add database error check to spec.py
Tobin Ehlis [Tue, 11 Oct 2016 15:37:19 +0000 (09:37 -0600)]
scripts: Add database error check to spec.py

Fix broken database line where delimiter was incorrect.
Add check to spec.py script to detect if database line doesn't contain
expected number of elements and report error in that case.

7 years agolayers: Updating some CreateBuffer checks to use unique enums
Karl Schultz [Thu, 6 Oct 2016 23:53:48 +0000 (17:53 -0600)]
layers: Updating some CreateBuffer checks to use unique enums

Small batch of updates to use unique validation error enums and
messages for a few checks.  Updated the database file and
flagged some other checks that are missing with the error
enums and TODO notes.

Change-Id: I2020a88bbdcf7ea6d725f667523e89b160fe7ab8

7 years agolayers: Add validation flag for descriptor updates
Tobin Ehlis [Mon, 10 Oct 2016 17:14:52 +0000 (11:14 -0600)]
layers: Add validation flag for descriptor updates

Add update_descriptor_sets flag to bypass validation for
vkUpdateDescriptorSets() call.

7 years agolayers: Pass unique error codes through descriptor validation
Tobin Ehlis [Thu, 6 Oct 2016 23:43:11 +0000 (17:43 -0600)]
layers: Pass unique error codes through descriptor validation

Descriptor validation builds up error strings at multiple levels such as
UpdateError->WriteUpdate->BufferUpdate->BufferOffset. The final error is
then reported via a log_msg() call at the top level.

In order for this design to allow for the new unique error codes, we need
to pass error codes down the chain in the same way we pass error strings
down the chain.

This change adds error msg passing for descriptor updates. Many error
codes are added in as well as comments for codes that are missing or need
to be updated.

The database file is also updated to account for all of the checks that
were updated and/or reviewed.

7 years agotests: Fix Linux build warnings sdk-1.0.30.0
Mark Lobodzinski [Mon, 10 Oct 2016 20:13:08 +0000 (14:13 -0600)]
tests: Fix Linux build warnings

Change-Id: I1cc204244e9aa0fa651d3dcde24331b10c55eb2f

7 years agolayers: Fix Windows build warnings
Mark Lobodzinski [Mon, 10 Oct 2016 20:05:59 +0000 (14:05 -0600)]
layers: Fix Windows build warnings

NOEXCEPT is defined multiple times

Change-Id: I9aef970e9588c17071cd71a31873db4090d50b07

7 years agodemos: Fix Windows build warnrings
Mark Lobodzinski [Mon, 10 Oct 2016 20:05:36 +0000 (14:05 -0600)]
demos: Fix Windows build warnrings

Change-Id: I733704e8904a77aa9071565cfc1d18b23b1c0c1c

7 years agotests: GH429 Addr shader_checker validation tests
Mark Mueller [Thu, 8 Sep 2016 15:01:57 +0000 (09:01 -0600)]
tests: GH429 Addr shader_checker validation tests

Adds tests that challenge the validation layer on various shader
checker cases including:

1) BAD_SPECIALIZATION
    CreatePipelineCheckShaderBadSpecialization
2) PUSH_CONSTANT_NOT_ACCESSIBLE_FROM_STAGE
    CreatePipelineCheckShaderPushConstantNotAccessible
3) DESCRIPTOR_NOT_ACCESSIBLE_FROM_STAGE
    CreatePipelineCheckShaderDescriptorNotAccessible
4) DESCRIPTOR_TYPE_MISMATCH
    CreatePipelineCheckShaderDescriptorTypeMismatch
5) FEATURE_NOT_ENABLED
    CreatePipelineCheckShaderNotEnabled
6) BAD_CAPABILITY
    CreatePipelineCheckShaderBadCapability

Change-Id: I5ed0efbb8729fa07815093b042e3d0cfce8ff5a3

7 years agodocs: GH429 change doc for shader_checker tests
Mark Mueller [Tue, 13 Sep 2016 22:21:50 +0000 (16:21 -0600)]
docs: GH429 change doc for shader_checker tests

This branch adds tests that challenge the validation layer on various
shader checker cases

Change-Id: I38072fb9afaa52148a24532e919c2ac81111480c

7 years agodemos: fix cubepp cross-platform build
Jeremy Hayes [Sun, 9 Oct 2016 19:57:43 +0000 (13:57 -0600)]
demos: fix cubepp cross-platform build

Change-Id: I823154dc0c61e7358d88fe6afc4f5808b640804d

7 years agodemos: fix uninitialized variable
Jeremy Hayes [Sun, 9 Oct 2016 19:48:31 +0000 (13:48 -0600)]
demos: fix uninitialized variable

Change-Id: If980d3a8d765185148cff0b037cb64e637ae8a75

7 years agodemos: fix cube cmake
Jeremy Hayes [Sun, 9 Oct 2016 18:26:27 +0000 (12:26 -0600)]
demos: fix cube cmake

Change-Id: Ia7a79bee7353ac484e691916591c585643a8753d

7 years agodemos: fix uninitialized variable
Jeremy Hayes [Sun, 9 Oct 2016 18:21:06 +0000 (12:21 -0600)]
demos: fix uninitialized variable

Change-Id: I1aa51806a82398fb03cfb81ae23782882d1e07ae

7 years agodemos: clang-format cube.cpp
Jeremy Hayes [Sun, 9 Oct 2016 17:48:12 +0000 (11:48 -0600)]
demos: clang-format cube.cpp

Change-Id: I5f55446eb6f3c312b6cc012733b7f4e454ac73ba

7 years agodemos: add cube cpp sample
Jeremy Hayes [Wed, 7 Sep 2016 21:55:11 +0000 (15:55 -0600)]
demos: add cube cpp sample

Demonstrate how to use vulkan.hpp.

Change-Id: Ia5ef4f55d45219aec607ae04efdb64c6ebbc9578

7 years agoheader: Move vulkan.hpp to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 21:35:29 +0000 (15:35 -0600)]
header: Move vulkan.hpp to version 1.0.30

Change-Id: Ifb8a3577cd41ea4a36fea78c12d2a92ea5437e11

7 years agoloader: Move SOVERSION to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 20:29:17 +0000 (14:29 -0600)]
loader: Move SOVERSION to version 1.0.30

Change-Id: I129086e47b0cdb12d31ffdd334d27c63e18dd097

7 years agolayers: Move Linux json files to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 20:28:36 +0000 (14:28 -0600)]
layers: Move Linux json files to version 1.0.30

Change-Id: Ia54d78a9440f40b61601836fedcf68aba3c90dc1

7 years agolayers: Move Windows json files to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 20:28:04 +0000 (14:28 -0600)]
layers: Move Windows json files to version 1.0.30

Change-Id: Iac3446e618e1b84be6d42eb7d3b55d3046b124d6

7 years agoheader: Move vk.xml to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 20:26:07 +0000 (14:26 -0600)]
header: Move vk.xml to version 1.0.30

Change-Id: Id238f998c88d19f1549273359d559a602963c002

7 years agoheader: Move vulkan.h to version 1.0.30
Mark Lobodzinski [Fri, 7 Oct 2016 20:24:32 +0000 (14:24 -0600)]
header: Move vulkan.h to version 1.0.30

Change-Id: I99dd0d24feca887ea5c69e97856e96728491b0b5

7 years agolayers: Fix access violation in LVT
Mark Lobodzinski [Fri, 7 Oct 2016 20:13:38 +0000 (14:13 -0600)]
layers: Fix access violation in LVT

Was sending an out-of-scope memory reference to the display driver
in unique_objects::AllocateMemory.

Change-Id: I6b700445125acab040310682c96e7507d0fd91aa

7 years agolayers: Add flags for some descriptor validation
Tobin Ehlis [Thu, 6 Oct 2016 20:16:14 +0000 (14:16 -0600)]
layers: Add flags for some descriptor validation

Add flags that can gate descriptor checks for in-use descriptor,
push constant ranges, and allocate & free descriptors.

7 years agolayers: Updating descriptor checks to use unique enums
Tobin Ehlis [Thu, 6 Oct 2016 18:58:06 +0000 (12:58 -0600)]
layers: Updating descriptor checks to use unique enums

Initial batch of updates to use unique validation error enums and
messages for a few checks. Updated the database file and flagged
some other checks that are missing along with "TODO" notes in the
code.

7 years agoFix Android Windows build script
Cody Northrop [Fri, 7 Oct 2016 16:58:50 +0000 (10:58 -0600)]
Fix Android Windows build script

7 years agodemos: Fix typo in vulkaninfo
Karl Schultz [Fri, 7 Oct 2016 14:51:59 +0000 (08:51 -0600)]
demos: Fix typo in vulkaninfo

Change-Id: Id3ac6abb9288d2a36d68b67a605b4681ce20f539

7 years agoLayers: Implement unique_objects layer using vk.xml
Mark Lobodzinski [Tue, 6 Sep 2016 22:12:23 +0000 (16:12 -0600)]
Layers: Implement unique_objects layer using vk.xml

UniqueObjects was the final LVL layer not using vk.xml for codegen.
The new implementation follows the threading layer model which
(outside of safe_struct dependencies) is more tolerant of API
changes. Also updated for structure and style.

build-android/android-generate.bat - Updated for build
build-android/android-generate.sh  - Updated for build
generator.py                       - Added Unique Objects Generator
genvk.py                           - Added call to U_O generator
layers/CMakeLists.txt              - Updated for build
layers/unique_objects.cpp          - New: manually generated code
layers/unique_objects.h            - Now a true header file
vk-layer-generate.py               - killed!

Change-Id: I0d57871dfd2600829502f0bffd7cf6f926b7d5e7

7 years agolayers: Fix wayland build break
Tobin Ehlis [Thu, 6 Oct 2016 15:11:25 +0000 (09:11 -0600)]
layers: Fix wayland build break

Cut-and-paste error

7 years agolayers: Initial codegen of unique error enums
Tobin Ehlis [Wed, 5 Oct 2016 23:18:15 +0000 (17:18 -0600)]
layers: Initial codegen of unique error enums

This is the initial commit of spec.py script that's used to generate a header
and database file that contain unique error enums per valid usage line in the
spec.

The basic usage is just "python spec.py" which will write out a header file to
"vk_validation_error_messages.h" that contains unique error enum values for
each valid usage line in the current spec that's online at
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html

The header also contains validation_error_map with unique enum values as keys
that map to customized output messages for each validation error.

Updated one check to use the new model in core_validation.

The database file contains an enum value and error message on each line, as well
as fields indicating if the enum has been implemented in code and the testname
for a layer validation test that verifies that particular check. Initially the
implemented fields are set to 'U' and testname set to 'Unknown' to indicate that
they haven't yet been checked. Will be updated manually as the code is scrubbed
and new error enums are added.

When updating the header as the spec changes, the "-update" option to spec.py
will pull the database file and use it as a baseline reference to compare against
the updated spec. The script will attempt to keep errors with same message to have
the same error enum. When it's unsure if messages are updated or new, the script
will flag errors for manual review.

7 years agolayers: Fix buffer_view destroy ordering
Tobin Ehlis [Thu, 6 Oct 2016 03:50:14 +0000 (21:50 -0600)]
layers: Fix buffer_view destroy ordering

Don't destroy buffer_view from map until after invalidating bound cmd buffers.

7 years agotests: Squash a bunch of spurious errors from WSI test
Chris Forbes [Thu, 6 Oct 2016 02:07:38 +0000 (15:07 +1300)]
tests: Squash a bunch of spurious errors from WSI test

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Migrate surface/swapchain interaction from swapchain to CV
Chris Forbes [Thu, 6 Oct 2016 00:01:33 +0000 (13:01 +1300)]
layers: Migrate surface/swapchain interaction from swapchain to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track current and prev swapchains for each surface in CV
Chris Forbes [Thu, 6 Oct 2016 00:01:17 +0000 (13:01 +1300)]
layers: Track current and prev swapchains for each surface in CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Set surface and usage for swapchain creation
Chris Forbes [Thu, 6 Oct 2016 00:00:07 +0000 (13:00 +1300)]
tests: Set surface and usage for swapchain creation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Add handle to SWAPCHAIN_NODE
Chris Forbes [Wed, 5 Oct 2016 22:07:30 +0000 (11:07 +1300)]
layers: Add handle to SWAPCHAIN_NODE

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Change 'VS' to 'vertex shader'
Mike Weiblen [Tue, 4 Oct 2016 01:19:41 +0000 (19:19 -0600)]
layers: Change 'VS' to 'vertex shader'

Change-Id: Ib9b20635225528d2fd6d012e6487d95f27a0f95d

7 years agolayers: Add environment var for settings file
Lenny Komow [Fri, 30 Sep 2016 20:15:25 +0000 (14:15 -0600)]
layers: Add environment var for settings file

Change-Id: I8a614f915ab9b61eca5b3b94f4cf43a33cacf250

7 years agotests: Update NonCoherentMemoryMapping with new case
Tobin Ehlis [Wed, 5 Oct 2016 21:07:24 +0000 (15:07 -0600)]
tests: Update NonCoherentMemoryMapping with new case

Add case to NonCoherentMemoryMapping test where regions with two separate
offsets are flushed from a mapped region to verify that offset of flush
region does not incorrectly affect validation of mapped region overrun.

7 years agolayers: Fix state tracking for vkFlushMappedMemoryRanges()
Tobin Ehlis [Wed, 5 Oct 2016 13:50:25 +0000 (07:50 -0600)]
layers: Fix state tracking for vkFlushMappedMemoryRanges()

Checks for underflow and overflow when flushing mapped memory where using the
flush offset instead of the original mapped region offset to determine size of
total mapped region.

7 years agolayer: Add tracking of surface extensions (and surface objects) to CV
Chris Forbes [Tue, 4 Oct 2016 04:42:54 +0000 (17:42 +1300)]
layer: Add tracking of surface extensions (and surface objects) to CV

V2: Don't leave commented-out junk lying around; init
SURFACE_STATE::surface in default-constructed case.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Unify two generic object structs
Chris Forbes [Tue, 4 Oct 2016 22:33:23 +0000 (11:33 +1300)]
layers: Unify two generic object structs

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Fix LayoutFromPresentWithoutAccessMemoryRead
Tony Barbour [Wed, 5 Oct 2016 19:23:46 +0000 (13:23 -0600)]
tests: Fix LayoutFromPresentWithoutAccessMemoryRead

Change-Id: I82b4d632dc36976521dc6f0bc90fe8d4666b4566

7 years agolayers: Only validate access masks if layout changes
Tony Barbour [Tue, 4 Oct 2016 18:03:50 +0000 (12:03 -0600)]
layers: Only validate access masks if layout changes

Change-Id: I21af32fb017de15760d72d4b32d99d84c383755f

7 years agodemos - fix cube's present barrier's dstAccessMask
Tony Barbour [Mon, 3 Oct 2016 22:01:41 +0000 (16:01 -0600)]
demos - fix cube's present barrier's dstAccessMask

Change-Id: I8f94d27f16864730514beb3e326b604f24bbb65a

7 years agotests: Add LayoutFromPresentWithoutSrcAccess test
Tony Barbour [Thu, 29 Sep 2016 19:42:40 +0000 (13:42 -0600)]
tests: Add LayoutFromPresentWithoutSrcAccess test

Change-Id: I42c63e7f83bbbc70dd18d51fe5111678eee5d04a

7 years agolayers: Check for srcAccess in present barriers
Tony Barbour [Thu, 29 Sep 2016 19:41:49 +0000 (13:41 -0600)]
layers: Check for srcAccess in present barriers

Change-Id: I7722a31a6ef576cf8bc79c6893e70bc4b1cf1c09

7 years agoloader: gh1014- Fix physical device dispatch table
Slawomir Cygan [Wed, 5 Oct 2016 16:38:02 +0000 (18:38 +0200)]
loader: gh1014- Fix physical device dispatch table

Instead of initializing dispatch tabled for up to *pPhysicalDeviceCount devices, initialize
always all dispatch tables.

This fixes corruption _after_ VulkanCTS dEQP-VK.api.info.instance.physical_devices test.

Change-Id: I29ff42456bed9acb6d2c4016fe7f1940b7f4bd3b

7 years agoloader: Small cleanup of unnecessary func call
Mark Young [Tue, 4 Oct 2016 21:19:30 +0000 (15:19 -0600)]
loader: Small cleanup of unnecessary func call

We had a function that was called only from one other place and
it wasn't necessary.  So removed the extra function call.

Change-Id: I3579215dc1d2f46b8c30b4ec3cb416c390fcf597

7 years agolayers: Clean up Windows build warnings
Mark Lobodzinski [Mon, 3 Oct 2016 22:01:12 +0000 (16:01 -0600)]
layers: Clean up Windows build warnings

Change-Id: Iec47464d56c862cb1a6f132241d200d6f68efa21

7 years agodemos: Clean up Windows build warning
Mark Lobodzinski [Mon, 3 Oct 2016 22:00:40 +0000 (16:00 -0600)]
demos: Clean up Windows build warning

Change-Id: I39daaa144e82eeabbe532cb32d334d4e60e6a7e2

7 years agocube: demonstrate how to select other VkPresentModeKHR's
Ian Elliott [Mon, 3 Oct 2016 18:11:12 +0000 (12:11 -0600)]
cube: demonstrate how to select other VkPresentModeKHR's

This comes from the Khronos-internal discussion of
https://github.com/LunarG/VulkanSamples/issues/98.  Cube will, by default,
choose VK_PRESENT_FIFO_KHR mode.  However, when that change was made, the old
(example) code was lost that showed how to search for the other present modes.
It was also discussed that there isn't good guidance on why an application
might want to use a mode other than FIFO.  This change adds both of those, but
only selects FIFO by default.  #ifdef's can be used to select other modes.
With that code is a reason why an application might wish to use that present
mode.

7 years agolayers: Tweak object_tracker for 32bit some more
Chris Forbes [Tue, 4 Oct 2016 01:54:13 +0000 (14:54 +1300)]
layers: Tweak object_tracker for 32bit some more

The previous approach doesn't actually work.

7 years agobuild: hide layer symbols in android build
Mike Stroyan [Wed, 28 Sep 2016 20:58:52 +0000 (14:58 -0600)]
build: hide layer symbols in android build

Hide symbols from layers that don't need to be exported.
This makes libraries smaller.
It reduces symbol lookup time and call overhead.
It prevents possible symbol collisions.

7 years agobuild: make android layers favor their own symbols
Mike Stroyan [Tue, 27 Sep 2016 16:43:13 +0000 (10:43 -0600)]
build: make android layers favor their own symbols

Use -Bsymbolic linking android layers so they don't get symbols
like vkCreateDebugReportCallbackEXT from outside the layer.

7 years agobuild: hide symbols from SPIRV in layers.
Mike Stroyan [Wed, 28 Sep 2016 21:15:51 +0000 (15:15 -0600)]
build: hide symbols from SPIRV in layers.

Core_validation was exporting SPRIV symbols that might
collide with application use.

7 years agoRevert "build: Restore default symbol visibility to layers/tests"
Mike Stroyan [Tue, 27 Sep 2016 20:23:43 +0000 (14:23 -0600)]
Revert "build: Restore default symbol visibility to layers/tests"

This reverts commit dd96dd21b438d48aa78e9de60ad0c550c856cf29.

7 years agolayers: mark exported functions in layer utils
Mike Stroyan [Wed, 28 Sep 2016 15:42:28 +0000 (09:42 -0600)]
layers: mark exported functions in layer utils

This allows layers to hide many functions that don't need export.

7 years agolayers: Be careful about casts. ptr -> uint64_t& isnt right on 32bit.
Chris Forbes [Mon, 3 Oct 2016 21:08:31 +0000 (10:08 +1300)]
layers: Be careful about casts. ptr -> uint64_t& isnt right on 32bit.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agoMove vulkan.hpp to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:31:34 +0000 (08:31 -0600)]
Move vulkan.hpp to version 1.0.29

Change-Id: I52f48c40290ff56df98d9eae3dfc3fe8748b5008

7 years agolayers: Update changed extension names for 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:17:59 +0000 (08:17 -0600)]
layers: Update changed extension names for 1.0.29

Change-Id: Ifc3484471e8f1e7ca585055b243f0688e7dfd33c

7 years agolayers: Move SOVERSION to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:15:08 +0000 (08:15 -0600)]
layers: Move SOVERSION to version 1.0.29

Change-Id: Ieb1befd5370d96404af8abf85bfed30fe43b5995

7 years agolayers: Move Linux json files to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:14:32 +0000 (08:14 -0600)]
layers: Move Linux json files to version 1.0.29

Change-Id: Ibea474bc21a54251372f757d21a5cfb401876a35

7 years agolayers: Move Windows json files to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:14:10 +0000 (08:14 -0600)]
layers: Move Windows json files to version 1.0.29

Change-Id: If3dbe050a7d8c9954ba1d7bc6aa29123a123a359

7 years agoheader: Move vk.xml to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:13:08 +0000 (08:13 -0600)]
header: Move vk.xml to version 1.0.29

Change-Id: Iae35f784b40eeafe07e1cf1af96924bd151ecd59

7 years agoheader: Move vulkan.h to version 1.0.29
Mark Lobodzinski [Mon, 3 Oct 2016 14:09:38 +0000 (08:09 -0600)]
header: Move vulkan.h to version 1.0.29

Change-Id: I500e04c6545daa53d21b8cf552a922a0462d066c

7 years agolayers: Add VK_AMD_draw_indirect_count ext to OT
Mark Lobodzinski [Wed, 28 Sep 2016 18:58:00 +0000 (12:58 -0600)]
layers: Add VK_AMD_draw_indirect_count ext to OT

Added CmdDrawIndirectCountAMD and CmdDrawIndexedIndirectCountAMD APIs
for this extension to object_tracker.

Change-Id: I99fcadc9660316864666f86040e256a392565569

7 years agolayers: Add VK_NV_external_memory_win32 ext to OT
Mark Lobodzinski [Wed, 28 Sep 2016 18:53:27 +0000 (12:53 -0600)]
layers: Add VK_NV_external_memory_win32 ext to OT

Added GetMemoryWin32HandleNV API for this extension to object_tracker.

Change-Id: I94cc6a3928f90c6ff964f7a2e5cba9aa2548d653

7 years agolayers: Add VK_NV_external_memory_caps ext to OT
Mark Lobodzinski [Wed, 28 Sep 2016 18:48:56 +0000 (12:48 -0600)]
layers: Add VK_NV_external_memory_caps ext to OT

Added GetPhysicalDeviceExternalImageFormatPropertiesNV API for the
VK_NV_external_memory_capabilities extension to object_tracker.

Change-Id: I36ab9a1656dbecbb2384ee173359968ea8e454eb

7 years agolayers: Add debug marker extension support to OT
Mark Lobodzinski [Wed, 28 Sep 2016 18:45:29 +0000 (12:45 -0600)]
layers: Add debug marker extension support to OT

Added object_tracker checking for Debug Marker functions SetObjectTag,
SetObjectName, Begin, End, and Insert.

Change-Id: Ibc13192bed2003d176df97719c9162b90051b703

7 years agolayers: Fix ResetDescriptorPool in OT
Chris Forbes [Thu, 29 Sep 2016 05:47:50 +0000 (18:47 +1300)]
layers: Fix ResetDescriptorPool in OT

Previously this didn't bother to clean up the descriptor sets associated
with the pool.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Merge Validate{Non,}DispatchableObject in OT
Chris Forbes [Thu, 29 Sep 2016 01:58:08 +0000 (14:58 +1300)]
layers: Merge Validate{Non,}DispatchableObject in OT

Same deal.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Merge Create{Non,}DispatchableObject in OT
Chris Forbes [Thu, 29 Sep 2016 01:53:50 +0000 (14:53 +1300)]
layers: Merge Create{Non,}DispatchableObject in OT

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Combine Destroy{Non,}DispatchableObject
Chris Forbes [Thu, 29 Sep 2016 01:41:44 +0000 (14:41 +1300)]
layers: Combine Destroy{Non,}DispatchableObject

These did exactly the same thing, except for the slight wrinkle of
needing to cast to uint64_t & in the nondispatchable case to account for
MSVC crankiness. We can just do that always.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove allocator consistency check from swapchain
Chris Forbes [Thu, 29 Sep 2016 01:39:08 +0000 (14:39 +1300)]
layers: Remove allocator consistency check from swapchain

This is now covered by object_tracker

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Wire up INCONSISTENT_ALLOCATOR object tracker error
Chris Forbes [Thu, 29 Sep 2016 01:35:09 +0000 (14:35 +1300)]
layers: Wire up INCONSISTENT_ALLOCATOR object tracker error

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Track whether any object was created with a custom allocator
Chris Forbes [Thu, 29 Sep 2016 00:51:10 +0000 (13:51 +1300)]
layers: Track whether any object was created with a custom allocator

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Hold device dispatch table by value too
Chris Forbes [Mon, 3 Oct 2016 07:01:14 +0000 (20:01 +1300)]
layers: Hold device dispatch table by value too

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Hold instane dispatch table by value
Chris Forbes [Mon, 3 Oct 2016 06:54:31 +0000 (19:54 +1300)]
layers: Hold instane dispatch table by value

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Rename my_data->instance_data
Chris Forbes [Mon, 3 Oct 2016 06:35:49 +0000 (19:35 +1300)]
layers: Rename my_data->instance_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Split CV device and instance data
Chris Forbes [Mon, 3 Oct 2016 06:14:25 +0000 (19:14 +1300)]
layers: Split CV device and instance data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move queue_family_properties into PHYSICAL_DEVICE_STATE
Chris Forbes [Mon, 3 Oct 2016 05:06:20 +0000 (18:06 +1300)]
layers: Move queue_family_properties into PHYSICAL_DEVICE_STATE

This isn't instance-wide.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Dont pretend this is phy_dev_data in
Chris Forbes [Mon, 3 Oct 2016 04:57:18 +0000 (17:57 +1300)]
layers: Dont pretend this is phy_dev_data in
GetPhysicalDeviceQueueFamilyProperties

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Get rid of remaining use of single physical_device_state in
Chris Forbes [Mon, 3 Oct 2016 04:55:48 +0000 (17:55 +1300)]
layers: Get rid of remaining use of single physical_device_state in
instance

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Store ptr from device data to instance data
Chris Forbes [Mon, 3 Oct 2016 04:44:52 +0000 (17:44 +1300)]
layers: Store ptr from device data to instance data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Pull enabled_features out into layer_data, rename for clarity
Chris Forbes [Mon, 3 Oct 2016 04:42:38 +0000 (17:42 +1300)]
layers: Pull enabled_features out into layer_data, rename for clarity

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Stop pretending phys devices have their own layer_data
Chris Forbes [Mon, 3 Oct 2016 04:36:32 +0000 (17:36 +1300)]
layers: Stop pretending phys devices have their own layer_data

They don't -- the dispatch key is the same as the instance.
EnumeratePhysicalDevices just made a mess if there were multiple
physical devices in the system.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Rename my_data -> instance_data in EnumeratePhysicalDevices
Chris Forbes [Mon, 3 Oct 2016 04:21:20 +0000 (17:21 +1300)]
layers: Rename my_data -> instance_data in EnumeratePhysicalDevices

Makes it clearer what this is.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Use member initialization for CV state
Chris Forbes [Mon, 3 Oct 2016 04:18:42 +0000 (17:18 +1300)]
layers: Use member initialization for CV state

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