platform/upstream/Vulkan-Tools.git
6 years agodemos: Fix format of conditionals
Shannon McPherson [Thu, 29 Mar 2018 17:38:06 +0000 (11:38 -0600)]
demos: Fix format of conditionals

Change-Id: I6c9d5d089107cb8f616084e59c0eb3f002ef2688

6 years agolayers: Correct non-dispatchable type handling
John Zulauf [Wed, 28 Mar 2018 15:55:03 +0000 (09:55 -0600)]
layers: Correct non-dispatchable type handling

Update threading layer non-dispatchable type handling to reflect updates
to the vulkan header for Linux/x32 memory model support.  Includes new
static asserts to detect future mismatches.

Change-Id: Ieb1ae335978cf43083b4a17634d06cd7066ed144

6 years agolayers: Eliminate false positive on ownership xfer
John Zulauf [Sun, 25 Mar 2018 01:52:19 +0000 (19:52 -0600)]
layers: Eliminate false positive on ownership xfer

Add logic that correctly ignores the src(dst)StageMask for barrier
operations that are resource acquire(release) operations.  When barrier
operations transfer ownership they envitably run on two different queue
families which may have incompatible capabilities.  For release
operations dstStageMask should be ignored.  For acquire operations the
srcStageMask should be.

Note: this can only be done if *all* operations for a barrier command
are of one type, as the *StageMasks are specified at the command level.

Change-Id: I6c238ab121eaa1230e66716120d37204740408d6

6 years agolayers: Skip layout transition in release op
Chris Forbes [Mon, 21 Aug 2017 18:27:08 +0000 (11:27 -0700)]
layers: Skip layout transition in release op

6 years agolayers: Avoid a redundant CB lookup
Chris Forbes [Fri, 18 Aug 2017 22:00:48 +0000 (15:00 -0700)]
layers: Avoid a redundant CB lookup

6 years agoloader: Fix GetDeviceProcAddr with terminators
Lenny Komow [Thu, 29 Mar 2018 19:25:38 +0000 (13:25 -0600)]
loader: Fix GetDeviceProcAddr with terminators

Fix a bug where vkGetDeviceProcAddr would return a valid pointer for
any device command that used a custom terminator, even if it was part
of an extension which wasn't enabled

Change-Id: I3b088fe0c850fbaa5f7285ced81552273bc38e7e

6 years agotests: macOS CMake fixes for Xcode generator
Mike Schuchardt [Thu, 29 Mar 2018 16:12:04 +0000 (10:12 -0600)]
tests: macOS CMake fixes for Xcode generator

Put icd and test layer json files in $<CONFIG> directory when using
Xcode generator so layer tests can be executed and debugged from within
Xcode.

Change-Id: I079a89ea065ddeec98ce95766e284220c67b1859

6 years agoloader: Make assembly offsets use offsetof macro
Lenny Komow [Wed, 28 Mar 2018 20:31:32 +0000 (14:31 -0600)]
loader: Make assembly offsets use offsetof macro

Change-Id: I52d749e51e38b321d4fab4e0288c055ccdefe66f

6 years agolayers: Fix DestDescPool data race
Mark Lobodzinski [Wed, 28 Mar 2018 20:24:46 +0000 (14:24 -0600)]
layers: Fix DestDescPool data race

Data was destroyed after the down-chain call, which left the
possibility that before the items could be removed from the data
structure that they might be reused which would corrupt validation.
Fixed by destroying inside the lock before the down-chain call.

Change-Id: Icbc994ef043a1108c84474879617d4ada694b74b

6 years agolayers: Remove unnecessary destCmdPool null check
Mark Lobodzinski [Wed, 28 Mar 2018 20:20:07 +0000 (14:20 -0600)]
layers: Remove unnecessary destCmdPool null check

Change-Id: I69bb77b1874fa2148ab7902e71e57a15589ba684

6 years agolayers: Fix command buffer allocation ABA bug
Francois Duranleau [Tue, 27 Mar 2018 18:42:24 +0000 (14:42 -0400)]
layers: Fix command buffer allocation ABA bug

In core validation layer's DestroyCommandPool API entry function, the
ext layer's API call is executed outside of the lock, and before the
command pool's command buffers are erased from the layer's command
buffer map. That means that between next layer's call and the time the
lock is regained, any other thread can allocate other command buffers.
In particular, it may reuse the memory freed the command, and then the
core validation layer will not insert a new entry in the command buffer
map. So after the lock in regained and the command pool's command
buffers are erased from the map, leaving those allocated with no state,
leading to either crashes or assertions later on. The fix is to move the
release of command buffers before releasing the lock the first, before
calling the next layer's function, such that they will be removed from
the map before any other thread might reuse those addresses.

6 years agolayers: Fix gh #2504 and compiler warnings
Mark Young [Wed, 21 Mar 2018 19:35:34 +0000 (13:35 -0600)]
layers: Fix gh #2504 and compiler warnings

Remove extraneous objecgt info from the validation logging message.
Extra object logging was added accidentally in my change to
incorporate VK_EXT_debug_utils.

Fix output of Debug Utils messenger output for validation layers
to list individual objects.

Also, fixed a few compiler warnings that were appearing on Linux.

Change-Id: I043d7f734683dfa79fe7a26a5973975bde011cce

6 years agobuild: Add submodule init to update externals scripts
Mark Lobodzinski [Tue, 27 Mar 2018 21:31:16 +0000 (15:31 -0600)]
build: Add submodule init to update externals scripts

Change-Id: I78e35a0daaa5a62e432858861378543d412a77c7

6 years agobuild: Add gtest as a submodule
Mark Lobodzinski [Tue, 27 Mar 2018 20:53:16 +0000 (14:53 -0600)]
build: Add gtest as a submodule

Change-Id: I9a5c440bd81f48afd24961a52595d0ca995cb7bf

6 years agoloader: Fix up missing 1.1 function exports
Lenny Komow [Mon, 12 Mar 2018 23:53:17 +0000 (17:53 -0600)]
loader: Fix up missing 1.1 function exports

6 years agoloader: Add missing core entrypoints to trampoline.c
mchock-nv [Sat, 10 Mar 2018 00:59:15 +0000 (16:59 -0800)]
loader: Add missing core entrypoints to trampoline.c

The entrypoints associated with VK_KHR_descriptor_update_template didn't
make it into the trampoline file when the extension was promoted to
core. This change adds them.

See Issue #2476

Change-Id: I676720ae152f78fbb16cda93e92cd8ced0446e03

6 years agoscripts: Remove noisy debug in codegen
Mike Schuchardt [Tue, 27 Mar 2018 20:13:24 +0000 (14:13 -0600)]
scripts: Remove noisy debug in codegen

6 years agoicd: Add json file for running on macOS
Mike Schuchardt [Mon, 26 Mar 2018 19:14:25 +0000 (13:14 -0600)]
icd: Add json file for running on macOS

6 years agolayers: fix copyimage checks broken by spec change
Dave Houlton [Mon, 26 Mar 2018 23:08:30 +0000 (17:08 -0600)]
layers: fix copyimage checks broken by spec change

Changes to 'core' spec between 1.0.68 and .71 split some CmdCopyImage
VUIDs into two.  This updates the existing checks/tests and adds test
coverage for the new VUIDs.

Change-Id: I9efd0de2c830dca5b7214168d5339bf2fd9fdf08

6 years agoValidate line width for topology reaching rasterizer rather than input
Chris Forbes [Fri, 23 Mar 2018 04:13:46 +0000 (21:13 -0700)]
Validate line width for topology reaching rasterizer rather than input

6 years agolayers: Fix CV typo in error message
Mark Lobodzinski [Mon, 26 Mar 2018 21:31:25 +0000 (15:31 -0600)]
layers: Fix CV typo in error message

GH issue #2511 -- FrameBuffer->Framebuffer.

Change-Id: Ic8de4604a7615708df9f55d5f0f0d0d7724a5d6d

6 years agoheader: Update to version 1.1.71 of the Vulkan hdr
Mark Lobodzinski [Tue, 20 Mar 2018 19:44:19 +0000 (13:44 -0600)]
header: Update to version 1.1.71 of the Vulkan hdr

- updated vulkan_core.h
- updated vulkan-android.h
- updated vk.xml
- updated validusage.json
- updated layer json files
- updated vulkan.hpp
- updated vuid_mapping.py
- marked 27 VUIDs as complete

Change-Id: Ia5abee76e5346b3a1b769664033d91403946f7a9

6 years agoscripts: Fix safe_struct Android versioning issue
Mark Lobodzinski [Sat, 24 Mar 2018 19:24:18 +0000 (13:24 -0600)]
scripts: Fix safe_struct Android versioning issue

The VK_ANDROID_external_memory_android_hardware_buffer extension uses
an android structure that is undefined before android 'O'. Worked around
this issue by defining a dummy structure for earlier android OS versions.

Change-Id: If515920d3b1707cbeb6a0377827c680d93d516ff

6 years agodocs: Move vkjson_info section from BUILD.md
Jeremy Kniager [Mon, 26 Mar 2018 19:33:19 +0000 (13:33 -0600)]
docs: Move vkjson_info section from BUILD.md

Moved the vkjson_info section from the Android
usage section in BUILD.md to its own file
libs/vkjson/README.md

Change-Id: I80ea8762c78e76fae43d2ca07820f46f7aef4c0c

6 years agodocs: Move documentation to repos
Jeremy Kniager [Fri, 23 Mar 2018 18:01:12 +0000 (12:01 -0600)]
docs: Move documentation to repos

Moved the following documentation from
LunarHub-Docs to LVL:

api_dump_layer.md
core_validation_layer.md
object_tracker_layer.md
parameter_validation_layer.md
threading_layer.md
unique_objects_layer.md

Change-Id: I448aaec1081f25468d115477748415e1a612d719

6 years agolayers: Consider storage block using new storage class to be a writable descriptor
Chris Forbes [Wed, 14 Mar 2018 16:28:35 +0000 (09:28 -0700)]
layers: Consider storage block using new storage class to be a writable descriptor

6 years agodemos: Remove logo absolute path
Shannon McPherson [Wed, 21 Feb 2018 18:41:11 +0000 (11:41 -0700)]
demos: Remove logo absolute path

Change-Id: I3949187010ddd870e4f4535b8a1d247b84cac96d

6 years agotests: Update and complete VkImage creation tests
Petr Kraus [Wed, 14 Mar 2018 18:58:16 +0000 (19:58 +0100)]
tests: Update and complete VkImage creation tests

6 years agolayers: Move sparseBinding feature vs flag check
Petr Kraus [Tue, 13 Mar 2018 11:31:39 +0000 (12:31 +0100)]
layers: Move sparseBinding feature vs flag check

6 years agolayers: Check CUBE to have 6+ layers
Petr Kraus [Tue, 13 Mar 2018 11:31:27 +0000 (12:31 +0100)]
layers: Check CUBE to have 6+ layers

6 years agolayers: Fix 1D height and depth extent check
Petr Kraus [Tue, 13 Mar 2018 11:31:08 +0000 (12:31 +0100)]
layers: Fix 1D height and depth extent check

6 years agolayers: Fix Superfluous inttypes.h Includes
Liam Middlebrook [Mon, 19 Mar 2018 19:28:04 +0000 (12:28 -0700)]
layers: Fix Superfluous inttypes.h Includes

The files that explicitly include <inttypes.h> are C++ files. The
convention for including C header files in C++ programs is to use a
special C++ header file that wraps the C header file. For example
<inttypes.h> would be included as <cinttypes>.

In vk_layer_logging.h:34 <cinttypes> is included.

In buffer_validation.cpp and parameter_validation_utils.cpp
"vk_layer_logging.h" is directly included.

In core_validation.cpp "vk_layer_logging.h" is indirectly included via
core_validation.h

This change removes the invalid and superfluous use of C header files
from the aforementioned C++ files.

Change-Id: I1bed9ea4bf6c3bb98ac5ae05ad227c0da58acb2c
Reviewed-by: dkoch
Reviewed-by: ddadap
6 years agobuild: Don't require glslang if not building layers
James Le Cuirot [Thu, 15 Mar 2018 22:25:19 +0000 (22:25 +0000)]
build: Don't require glslang if not building layers

6 years agolayers: Update CmdPushConstant Valid Usages
John Zulauf [Mon, 5 Mar 2018 17:36:21 +0000 (10:36 -0700)]
layers: Update CmdPushConstant Valid Usages

Updated the core validation layer and matching units to reflect changes
to the valid usage statements in the Vulkan specification to better
support the use of overlapping push constant ranges.  The following
valid usage was removed from the specification and the core validation
layer.

VUID-vkCmdPushConstants-stageFlags-00367 VALIDATION_ERROR_1bc002de

Two new valid usages have been added to the core validation layer.

VALIDATION_ERROR_1bc00e06 VUID-vkCmdPushConstants-offset-01795
VALIDATION_ERROR_1bc00e08 VUID-vkCmdPushConstants-offset-01796

The individual unit tests within the larger InvalidPushConstants test
case have been updated to reflect the changes to the valid usage checks.

Change-Id: I9bba3efa19f96c52e82b328bee64f8f2fbb10342

6 years agolayers: Add alias support to kVulkanObjectTypes
John Zulauf [Fri, 16 Mar 2018 17:52:57 +0000 (11:52 -0600)]
layers: Add alias support to kVulkanObjectTypes

Updated vk_object_types.h generation to correctly handle promoted and
alias handle types.

Change-Id: I3d655b0f408a6cee08bf3d1ce453d9c5aac61376

6 years agolayers: Fix enum cross reference to handle missing
John Zulauf [Mon, 12 Mar 2018 21:48:06 +0000 (15:48 -0600)]
layers: Fix enum cross reference to handle missing

Modify enum cross reference table creation to handle missing items from
VK_DEBUG_REPORT_OBJECT_TYPE_ list, as it is no longer being updated.

Change-Id: I112a08f82249c446757495309699c80fe7094635

6 years agolayers: Fix memleak of instance object in object tracker layer
Gabríel Arthúr Pétursson [Sun, 18 Mar 2018 01:50:54 +0000 (01:50 +0000)]
layers: Fix memleak of instance object in object tracker layer

CreateInstance calls CreateObject for the instance. There was no
corresponding DestroyObject in DestroyInstance.

6 years agolayers: Fix incorrect generation of get_debug_report_enum
Gabríel Arthúr Pétursson [Sun, 18 Mar 2018 17:34:01 +0000 (17:34 +0000)]
layers: Fix incorrect generation of get_debug_report_enum

There is no corresponding DebugReportObjectType enum for
kVulkanObjectTypeDebugUtilsMessengerEXT, so map it to the unknown type.

The generation script skipped over this enum, causing buffer overflow
faults in the VkLayerTest.ValidationCacheTestBadMerge test.

6 years agolayers: Fix allocator mismatch in unwrapped extension structs chain
Gabríel Arthúr Pétursson [Sun, 18 Mar 2018 20:21:11 +0000 (20:21 +0000)]
layers: Fix allocator mismatch in unwrapped extension structs chain

The safe_* structs are allocated using C++'s new allocator in
CreateUnwrappedExtensionStructs, but were freed using free().

This mismatch is undefined behavior.

Fix by having FreeUnwrappedExtensionStructs call delete on the correct
safe class.

6 years agolayers: Fix queue bits for CmdWriteTimeStamp
Mark Lobodzinski [Fri, 16 Mar 2018 20:20:58 +0000 (14:20 -0600)]
layers: Fix queue bits for CmdWriteTimeStamp

Transfer queue is called out but was omitted. Verified all other
Cmd queue flag cases as well.

Change-Id: I8fdb1385326d9862407f7b5c426c2b6bdb4f663e

6 years agolayers:Check for descriptor with invalid sampler
Tobin Ehlis [Fri, 16 Mar 2018 13:54:24 +0000 (07:54 -0600)]
layers:Check for descriptor with invalid sampler

Fixes #2485

Verify that a descriptor's sampler is still valid at draw time. We had
a validation hole here where we missed this case if the sampler was
destroyed before the related descriptor was bound to a cmd buffer. This
plugs that hole by making sure all sampler descriptors used at draw
time still have a valid sampler.

6 years agoscripts: Remove helper-generator struct_size source
Mark Lobodzinski [Thu, 8 Mar 2018 21:25:05 +0000 (14:25 -0700)]
scripts: Remove helper-generator struct_size source

This was unused in this repository.

Change-Id: I3e3375139cf2718e4aff4ee2237bc1d756cd0205

6 years agoscripts: Remove lvl_genvk.py struct_size defs
Mark Lobodzinski [Thu, 8 Mar 2018 21:24:33 +0000 (14:24 -0700)]
scripts: Remove lvl_genvk.py struct_size defs

Change-Id: I8a26ef87ab3a15fb582258e11841abc87f107e9f

6 years agoandroid: Removed building of struct_size helpers
Mark Lobodzinski [Thu, 8 Mar 2018 21:29:38 +0000 (14:29 -0700)]
android: Removed building of struct_size helpers

Change-Id: I2e3fee12a8b25f5ae3251687b64d7359a6572db6

6 years agolayers: Removed build of struct_size helpers
Mark Lobodzinski [Thu, 8 Mar 2018 21:07:22 +0000 (14:07 -0700)]
layers: Removed build of struct_size helpers

These are no longer used in this repository.

Change-Id: I07c5402d3e7f9b4578eabe274d0e7b6b76ca6186

6 years agolayers:Check secondary command buffer renderArea
Tobin Ehlis [Mon, 12 Mar 2018 17:26:39 +0000 (11:26 -0600)]
layers:Check secondary command buffer renderArea

Fixes #2480
Fixes #1501

Add delayed function call to verify secondary command buffer renderArea
against vkCmdClearAttachments() rects at vkCmdExecuteCommands() time.

Updated the lambda function container for delayed secondary command
buffer checks to include a reference to the primary command buffer.
Add lambda call at vkCmdClearAttachments() for secondary command buffer
and pass in primary command buffer reference so that area restriction
can be appropriately checked at vkCmdExecuteCommands() time when
renderArea of renderPass is known.

6 years agolayers:Consistent parens for function names
Tobin Ehlis [Mon, 12 Mar 2018 14:19:33 +0000 (08:19 -0600)]
layers:Consistent parens for function names

Add "()" where missing on a couple of output strings for
vkCmdClearAttachments function.

6 years agolayers: Downgrade maxResourceSize check to warning
Petr Kraus [Wed, 14 Mar 2018 18:53:58 +0000 (19:53 +0100)]
layers: Downgrade maxResourceSize check to warning

6 years agolayers: Update VkViewport check to 1.1
Petr Kraus [Sat, 10 Mar 2018 01:39:47 +0000 (02:39 +0100)]
layers: Update VkViewport check to 1.1

6 years agoloader: Remove old declaration for KHX extension
Lenny Komow [Fri, 9 Mar 2018 17:18:32 +0000 (10:18 -0700)]
loader: Remove old declaration for KHX extension

6 years agoscripts: helper_file_generator.py cleanup
Mike Schuchardt [Fri, 9 Mar 2018 16:02:56 +0000 (09:02 -0700)]
scripts: helper_file_generator.py cleanup

- Remove list as set anti-pattern
- Remove conditional that could never evaluate to False

6 years agoscripts: Merge upstream verbosity changes
Mike Schuchardt [Fri, 9 Mar 2018 15:39:43 +0000 (08:39 -0700)]
scripts: Merge upstream verbosity changes

From Vulkan-Docs /src/spec/genvk.py

6 years agodemos: Fix cube build on android
Mike Schuchardt [Thu, 8 Mar 2018 19:57:02 +0000 (12:57 -0700)]
demos: Fix cube build on android

- Add generated files to include path
- Use messageSeverity to determine android log priority
- Prefix ANativeWindow with struct to match vulkan_android.h

Change-Id: I1c29c41a95614701455074cdf7be49f47505a0fc

6 years agoheader: 1.1.70 update
Mike Schuchardt [Wed, 7 Mar 2018 23:19:13 +0000 (16:19 -0700)]
header: 1.1.70 update

Change-Id: Ifa07a957e3c0e51c9b5c00b6c9d7fff04905c8ab

6 years agoscripts: Roundup strings sizes in struct to multiple of 4
David Pinedo [Wed, 28 Feb 2018 23:20:42 +0000 (16:20 -0700)]
scripts: Roundup strings sizes in struct to multiple of 4

vktrace layer needs strings sizes to be multiple of 4 for
data alignment in the trace file.

6 years agolayers: Fix CmdDispatchBaseKHX rename in PV
Mark Lobodzinski [Thu, 1 Mar 2018 15:50:21 +0000 (08:50 -0700)]
layers: Fix CmdDispatchBaseKHX rename in PV

6 years agolayers: Update unique_objects changes for 1.1
Mark Lobodzinski [Wed, 28 Feb 2018 21:04:56 +0000 (14:04 -0700)]
layers: Update unique_objects changes for 1.1

6 years agolayers: Make unique_objects ID map global
Mark Lobodzinski [Wed, 28 Feb 2018 20:38:45 +0000 (13:38 -0700)]
layers: Make unique_objects ID map global

Increasingly, instance objects are referenced by device-level APIs.
Made unique ID map global, shared across all instances and devices.

Change-Id: I5b62e7b95ec25a2a8b390d46024b43c29f2199ce

6 years agoscripts: Remove unreleased extension names
Mike Schuchardt [Wed, 28 Feb 2018 21:24:26 +0000 (14:24 -0700)]
scripts: Remove unreleased extension names

Change-Id: Ia0270edcd17a8b8a33e390f781b7357208e7a676

6 years agobuild: Avoid using CMAKE_BINARY_DIR
Lenny Komow [Mon, 26 Feb 2018 22:29:58 +0000 (15:29 -0700)]
build: Avoid using CMAKE_BINARY_DIR

Using CMAKE_BINARY_DIR was breaking the use of this repo as a
submodule because the top level binary directory is different when
build as part of another repo.

6 years agolayers: Fix typo in CV downchain call
Mike Schuchardt [Fri, 23 Feb 2018 22:29:23 +0000 (15:29 -0700)]
layers: Fix typo in CV downchain call

Change-Id: I8d7ecbb1f4e63b9c4bc1ee9b53ea65c34fb2352d

6 years agodemos: Fix cube note building on windows
Lenny Komow [Fri, 23 Feb 2018 23:18:36 +0000 (16:18 -0700)]
demos: Fix cube note building on windows

6 years agolayers: Add remaining core_validation aliases
Mike Schuchardt [Fri, 23 Feb 2018 21:14:28 +0000 (14:14 -0700)]
layers: Add remaining core_validation aliases

vkBindBufferMemory2
vkGetBufferMemoryRequirements2
vkGetImageMemoryRequirements2
vkGetImageSparseMemoryRequirements2
vkGetPhysicalDeviceSparseImageFormatProperties2
vkBindImageMemory2

Change-Id: I1fb1a476e680c2d601a9b72029358b8b42950ed1

6 years agodemos: Fix compile error in cube.c
Mike Schuchardt [Fri, 23 Feb 2018 19:44:05 +0000 (12:44 -0700)]
demos: Fix compile error in cube.c

Change-Id: I9ff2429f6f2b79795bbc57e376decae8c0dae630

6 years agohelper: Fix compilation warning
Mark Young [Wed, 21 Feb 2018 22:30:27 +0000 (15:30 -0700)]
helper: Fix compilation warning

Adding vk_enum_string_helper.h produced a warning that
GetPhysDevFeatureString was unused.  Made it inline (as all
the other commands are in that header) and it made the compiler
happy.

Change-Id: I9452ddfc8de4af4c88b95e380b9520d9f59796da

6 years agocube: Use string_VkObjectType
Mark Young [Wed, 21 Feb 2018 22:29:41 +0000 (15:29 -0700)]
cube: Use string_VkObjectType

Use the existing string_VkObjectType utility found in
vk_enum_string_helper.h instead of the manually defined
DebugAnnotObjectToString function.

Change-Id: I9e9ecfc1c512ec1b9b98cce2f846c565ac98ecbf

6 years agocube: Update to use VK_EXT_debug_utils
Mark Young [Fri, 10 Nov 2017 17:05:14 +0000 (10:05 -0700)]
cube: Update to use VK_EXT_debug_utils

Update cube to use VK_EXT_debug_utils instead of
VK_EXT_debug_report.

Change-Id: I238072855abdf09c9d33a66b3a7cc0beecc0e8c7

6 years agolayers: Update VUIDs for 1.1
Mike Schuchardt [Thu, 22 Feb 2018 17:46:31 +0000 (10:46 -0700)]
layers: Update VUIDs for 1.1

- Add new VUIDs to database and vuid_mapping.py
- Remove deleted VUIDs from database
- Update vuid_mapping.py to disregard KHR/KHX suffix
- Update spec.py json comparison to update more fields from existing
  VUIDs and delete entries for removed VUIDs
- Update layers and tests that were pointing to deleted VUIDs to use
  replacements
- Revert vuid_mapping.py and run_all_tests.sh workarounds for undefined
  private VUIDs

Change-Id: Ie6c5b01237d5917be66a35337e3dbaf42fea3b00

6 years agoRevert "loader: Only return ext pointers if ext is enabled"
Lenny Komow [Fri, 23 Feb 2018 18:28:38 +0000 (11:28 -0700)]
Revert "loader: Only return ext pointers if ext is enabled"

This reverts commit 4537090525b430e2bc059cc59c7de3c80a7e7e6e.

6 years agolayers: Bump layer json files to 1.1.69
Lenny Komow [Thu, 22 Feb 2018 20:05:55 +0000 (13:05 -0700)]
layers: Bump layer json files to 1.1.69

6 years agoloader: Fix debug_report not returning NULL
Lenny Komow [Thu, 22 Feb 2018 18:54:18 +0000 (11:54 -0700)]
loader: Fix debug_report not returning NULL

Fix a bug where debug_report would be treated as an unknown extension
if it was used without being enabled.

6 years agoloader: Only return ext pointers if ext is enabled
Lenny Komow [Thu, 22 Feb 2018 18:28:16 +0000 (11:28 -0700)]
loader: Only return ext pointers if ext is enabled

The loader previously returned valid pointers to functions from
VK_KHR_swapchain and VK_KHR_display_swapchain even if the extensions
weren't enabled. This change fixed that.

6 years agoheader: Update to 1.1.69 private header
Mike Schuchardt [Wed, 21 Feb 2018 22:59:17 +0000 (15:59 -0700)]
header: Update to 1.1.69 private header

Change-Id: If9fc0f065f77ecff14123f665e603e6f2595d571

6 years agolayers: add GetDeviceQueue2() support
Yiwei Zhang [Wed, 14 Feb 2018 22:39:46 +0000 (14:39 -0800)]
layers: add GetDeviceQueue2() support

This change add GetDeviceQueue2() support to object tracker and core
validation layers.

6 years agolayers: Fix wrong format specifier in layer log
Lenny Komow [Thu, 15 Feb 2018 18:35:59 +0000 (11:35 -0700)]
layers: Fix wrong format specifier in layer log

6 years agoloader: Fix MSVC uninitialize variable warning
Lenny Komow [Wed, 14 Feb 2018 00:35:28 +0000 (17:35 -0700)]
loader: Fix MSVC uninitialize variable warning

6 years agoloader: Extend pre-instance intercepts for 1.1
Lenny Komow [Tue, 13 Feb 2018 22:58:47 +0000 (15:58 -0700)]
loader: Extend pre-instance intercepts for 1.1

Add the ability to intercept vkEnumerateInstanceVersion through the
pre-instance intercept mechanism

6 years agoscripts: Fix xlib_xrandr platform name
Mike Schuchardt [Wed, 7 Feb 2018 21:47:01 +0000 (14:47 -0700)]
scripts: Fix xlib_xrandr platform name

Change-Id: I3aa8e929d394322ebfcfbf2a59846b2adae057e3

6 years agoDevice group extension rename
Mike Schuchardt [Tue, 6 Feb 2018 23:56:31 +0000 (16:56 -0700)]
Device group extension rename

VK_KHX_device_group/VK_KHX_device_group_creation are now KHR

Change-Id: I2ade2e7162718a4683c9365ae177891285f177b4

6 years agoscripts: Update codegen to work with new aliasing
Mike Schuchardt [Thu, 28 Dec 2017 18:23:48 +0000 (11:23 -0700)]
scripts: Update codegen to work with new aliasing

Change-Id: I3739f7b7b6eb17a5e3e1bc9cc18e74569cb50f95

6 years agoFix vkGetDeviceQueue2 segfault when returned vkQueue is VK_NULL_HANDLE
Tom Cooper [Thu, 25 Jan 2018 14:07:53 +0000 (14:07 +0000)]
Fix vkGetDeviceQueue2 segfault when returned vkQueue is VK_NULL_HANDLE

This affects the Loader.

Change-Id: I05a3feb87781be773f30327601a2bf86a53ae115

6 years agoImplement initial VK_EXT_debug_utils changes
Mark Young [Thu, 9 Nov 2017 17:37:04 +0000 (10:37 -0700)]
Implement initial VK_EXT_debug_utils changes

This affects the loader, scripts, and layers and introduces the
changes to support the VK_EXT_debug_utils extension.

Change-Id: Ia5336f63e85b00f1e59416c06aacd4ae331fd692

6 years agobuild: Bump linux loader version to 1.1
Lenny Komow [Wed, 8 Nov 2017 22:11:00 +0000 (15:11 -0700)]
build: Bump linux loader version to 1.1

6 years agodocs: Update loader doc for 1.0 ICD handling
Lenny Komow [Tue, 7 Nov 2017 18:26:49 +0000 (11:26 -0700)]
docs: Update loader doc for 1.0 ICD handling

The 1.1 loader has to handle 1.0 ICDs specially during instance
creation. This commit documents that behavior.

6 years agoloader: Update 1.0 checking mechanism
Lenny Komow [Tue, 7 Nov 2017 17:42:19 +0000 (10:42 -0700)]
loader: Update 1.0 checking mechanism

The loader will now get vkEnumerateInstanceVersion from the ICD by
calling the ICD's GetInstanceProcAddr function.

6 years agoloader: Disable emulation for 1.1 core functions
Lenny Komow [Fri, 3 Nov 2017 20:37:11 +0000 (14:37 -0600)]
loader: Disable emulation for 1.1 core functions

Disable emulation for physical device functions when they are used
as core 1.1. The emulation will still be used if they are used as the
original instance extensions.

6 years agoloader: Check vkEnumerateInstanceVersion in ICD
Lenny Komow [Fri, 3 Nov 2017 19:14:32 +0000 (13:14 -0600)]
loader: Check vkEnumerateInstanceVersion in ICD

The loader will now check vkEnumerateInstanceVersion in each ICD
before creating an instance to determine if the loader needs to
change the apiVersion field.

6 years agodemos: Update Vulkan Instance Version reporting
Shannon McPherson [Mon, 30 Oct 2017 22:36:40 +0000 (16:36 -0600)]
demos: Update Vulkan Instance Version reporting

6 years agolayers: Enable 1.0 exts moved to 1.1 core
Mark Lobodzinski [Fri, 27 Oct 2017 19:22:23 +0000 (13:22 -0600)]
layers: Enable 1.0 exts moved to 1.1 core

Also plumbed api_version into CV and PV for validation and enabling
the appropriate 1.0 extensions by default in 1.1.

6 years agolayers: Update core_validation for aliases
Mark Lobodzinski [Wed, 25 Oct 2017 22:41:20 +0000 (16:41 -0600)]
layers: Update core_validation for aliases

Also refactored for pre/post architecture.

CreateDescriptorUpdateTemplate[KHR]
DestroyDescriptorUpdateTemplate[KHR]
UpdateDescriptorSetWithTemplate[KHR]
GetPhysicalDeviceQueueFamilyProperties2[KHR]
EnumeratePhysicalDeviceGroups[KHR]

6 years agolayers: Updated unique objects layer for aliases
Mark Lobodzinski [Wed, 25 Oct 2017 22:56:42 +0000 (16:56 -0600)]
layers: Updated unique objects layer for aliases

UpdateDescriptorSetWithTemplate[KHR]
CreateDescriptorUpdateTemplate[KHR]
DestroyDescriptorUpdateTemplate[KHR]

6 years agolayers: Updated Object Tracker layer for aliases
Mark Lobodzinski [Wed, 25 Oct 2017 22:57:04 +0000 (16:57 -0600)]
layers: Updated Object Tracker layer for aliases

GetPhysicalDeviceQueueFamilyProperties2[KHR]

6 years agolayers: Handle aliasing in parameter validation
Mark Lobodzinski [Wed, 25 Oct 2017 21:26:28 +0000 (15:26 -0600)]
layers: Handle aliasing in parameter validation

6 years agoloader: Remove repeated function from vulkan.def
Lenny Komow [Thu, 26 Oct 2017 17:08:27 +0000 (11:08 -0600)]
loader: Remove repeated function from vulkan.def

6 years agoloader: Re-add old 1.1 loader work
Lenny Komow [Wed, 25 Oct 2017 21:26:15 +0000 (15:26 -0600)]
loader: Re-add old 1.1 loader work

vkEnumerateInstanceVersion got removed, as did the checks for layer
versions when we rebased off of github. This adds them back in.

6 years agoloader: Fix crash in VK_KHR_surface
Lenny Komow [Wed, 11 Oct 2017 21:39:38 +0000 (15:39 -0600)]
loader: Fix crash in VK_KHR_surface

The VkSurfaceKHR object in vkGetDeviceGroupSurfacePresentModesKHR was
not getting properly unwrapped. As a result, an invalid surface handle
was being passed to the drivers (usually resulting in a crash).

6 years agoloader: Fix loader using stale VkApplicationInfo
Lenny Komow [Wed, 11 Oct 2017 19:39:33 +0000 (13:39 -0600)]
loader: Fix loader using stale VkApplicationInfo

Fix a bug where the loader could crash because it used a
VkApplicationInfo struct after the struct had gone out of scope.

6 years agoloader: Remove version check from vkCreateInstance
Lenny Komow [Wed, 11 Oct 2017 15:25:19 +0000 (09:25 -0600)]
loader: Remove version check from vkCreateInstance

6 years agoloader: Fix crash with null VkApplicationInfo
Lenny Komow [Wed, 11 Oct 2017 15:20:52 +0000 (09:20 -0600)]
loader: Fix crash with null VkApplicationInfo

Fix a crash when creating an instance where
pCreateInfo->pApplicationInfo is set to null.

6 years agoloader: Fix crash in aliased extensions
Lenny Komow [Tue, 10 Oct 2017 19:50:20 +0000 (13:50 -0600)]
loader: Fix crash in aliased extensions