platform/upstream/Vulkan-Loader.git
6 years agoloader: Remove duplicated delimiting chars in paths
Martin Blanchard [Wed, 9 May 2018 21:47:12 +0000 (22:47 +0100)]
loader: Remove duplicated delimiting chars in paths

Before loading a manifest file, its full path is strcmp() with already
loaded ones in order not to load the same file twice. While being simple
and efficent, this mechanism is not able to detect subtle duplicates
like these:

/usr/share/vulkan/icd.d/intel_icd.x86_64.json
/usr/share//vulkan/icd.d/intel_icd.x86_64.json

This patch ensure that searched paths do not contains such duplicated
directory delimiting characters in order to avoid this kind of problem.

Fixes #2331
Fixes #2629

6 years agolayers: Track display and display mode objects
Shannon McPherson [Wed, 2 May 2018 21:24:37 +0000 (15:24 -0600)]
layers: Track display and display mode objects

Add VkDisplayKHR and VkDisplayModeKHR tracking to
VK_LAYER_LUNARG_object_tracker.

Change-Id: I63004cfe734793593bea12700ea9cd1bdefeab0d

6 years agolayers: Fix down-chain null funcptr crashes
Mark Lobodzinski [Thu, 3 May 2018 19:16:52 +0000 (13:16 -0600)]
layers: Fix down-chain null funcptr crashes

Modified dispatch table helper to replace null device extension
function pointers with an appropriate stub function.

Change-Id: If5e22333f084d3f41c0eefdf3e82c9060b872e8c

6 years agolayers: Add missing promoted device extensions
John Zulauf [Wed, 25 Apr 2018 21:40:32 +0000 (15:40 -0600)]
layers: Add missing promoted device extensions

Add three missing device extensions to promoted device extensions list
in vk_extension_helper codegen.

    VK_KHR_relaxed_block_layout
    VK_KHR_shader_draw_parameters
    VK_KHR_storage_buffer_storage_class

Change-Id: I392155d318ca580e576436ef46695218e5eb446e

6 years agolayers: Sort promoted extensions list
John Zulauf [Wed, 25 Apr 2018 21:28:47 +0000 (15:28 -0600)]
layers: Sort promoted extensions list

For ease of maintenance, sort the promoted extension lists.

Change-Id: Ib1d690d55c6b9c3a156c9682fbe96bbebed17c14

6 years agolayers: Add dependency info to vk_extension_helper
John Zulauf [Thu, 12 Apr 2018 21:34:39 +0000 (15:34 -0600)]
layers: Add dependency info to vk_extension_helper

Add additional metadata to *Extensions structs to enable extension
dependency validation at CreateInstance CreateDevice time.

Refactor the code generator for the extension helper prior to
refactoring the generated code to address an incomplete.

Change-Id: I79ae680d9c41f1f153ee8108d4deac8ec8c5a886

6 years agolayers: Refactor codegen for vk_extension_helper
John Zulauf [Thu, 12 Apr 2018 20:24:57 +0000 (14:24 -0600)]
layers: Refactor codegen for vk_extension_helper

Refactor vk_extension helper prior to adding extension dependency
information to code gen. Refactor to simplify feature addition.

Change-Id: I7b2902dd1a4070c83810f57c0836b50cb6ecfb86

6 years agoloader: Eliminate warning for uninitialized value.
John Zulauf [Thu, 12 Apr 2018 19:15:47 +0000 (13:15 -0600)]
loader: Eliminate warning for uninitialized value.

Added default value to severity to kill a Linux warning.

Change-Id: Iaf3e62a0fa01d74874aaec4951f9a2aa38479ca0

6 years agolayers: Sort extension order for extension helper
John Zulauf [Tue, 10 Apr 2018 19:12:34 +0000 (13:12 -0600)]
layers: Sort extension order for extension helper

Sorted the extensions by name s.t. the output of the vk_extension_helper
generator would be consistent run-to-run.

Change-Id: Ief3d822b91260e469f7f2d563076d8a79f1a1bf0

6 years agoheader: Update to version 1.1.74 of Vulkan hdr
Mark Lobodzinski [Tue, 24 Apr 2018 15:58:32 +0000 (11:58 -0400)]
header: Update to version 1.1.74 of Vulkan hdr

- update layer json files
- update vulkan_core.h
- update vk.xml
- update vulkan.hpp
- update validusage.json
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- maintain local changes to reg.py

Change-Id: If0c52d13f78ddfcc7c9d316386c0d20399e97668

6 years agoloader: Fix a 1.0/1.1 versioning bug
Lenny Komow [Thu, 19 Apr 2018 19:20:22 +0000 (13:20 -0600)]
loader: Fix a 1.0/1.1 versioning bug

Fix a bug where when mixing a 1.0 and a 1.1 driver, if the loader
stores the 1.0 driver first, the apiVersion field in vkCreateInstance
will be rewritten to 1.0 for both drivers. Now it will only be
changed for the 1.0 driver, as intended.

Change-Id: I9e7c5e0b0b7c0eb660082319dcddd9e8ef8adc61

6 years agoscripts: Add spec.py check for ext changes
Mike Schuchardt [Fri, 6 Apr 2018 03:45:23 +0000 (21:45 -0600)]
scripts: Add spec.py check for ext changes

When the surrounding asciidoctor conditionals of a VUID change it may
impact validation even if the VUID text does not change.  Detect this in
spec.py and flag for manual intervention.

Change-Id: Idf802955ba9bbfe911edd4114fb28bdddf5fcc9b

6 years agoloader: Clarify loader warning
Mark Young [Wed, 18 Apr 2018 21:23:43 +0000 (15:23 -0600)]
loader: Clarify loader warning

Clarify several loader warnings about layers so that they include
the name of the layer that is causing an issue.

Change-Id: Ie48d73f6cc8466c3114597831fef451b3ab32bf7

6 years agomacos: Specify deployment target version
Karl Schultz [Wed, 18 Apr 2018 17:46:21 +0000 (11:46 -0600)]
macos: Specify deployment target version

This allows using the build on macOS 10.12 even if built on 10.13.

Change-Id: I21939163551bb9a0d0088513a23dc5d2cf7f5206

6 years agoscripts:Account for extnumber key to fix warnings
Tobin Ehlis [Tue, 17 Apr 2018 16:09:48 +0000 (10:09 -0600)]
scripts:Account for extnumber key to fix warnings

With the addition of the 'extnumber' key update comparison to skip over
the extnumber as well as extname in order to avoid a bunch of
irrelevant warnings.

6 years agoloader:Fix build warnings
Tobin Ehlis [Tue, 17 Apr 2018 16:05:20 +0000 (10:05 -0600)]
loader:Fix build warnings

Add "fall through" comments on intentional fall through switch cases to
avoid compiler warnings.

6 years agoloader: Bump loader copyright to 2018
Lenny Komow [Tue, 17 Apr 2018 02:09:48 +0000 (20:09 -0600)]
loader: Bump loader copyright to 2018

Change-Id: I59b80b7f4bff37ac15fd30acc3f4600164afee90

6 years agoheader: Update to version 1.1.73 of the Vulkan hdr
Mark Lobodzinski [Mon, 16 Apr 2018 14:15:59 +0000 (08:15 -0600)]
header: Update to version 1.1.73 of the Vulkan hdr

- update json files
- update vk.xml
- update vulkan_core.h
- update validusage.json
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp
- removed checks for the following deprecated VUIDs related to
  ImageCreateInfo and FormatProperties:
  - VALIDATION_ERROR_09e007ae
  - VALIDATION_ERROR_09e007b4
  - VALIDATION_ERROR_09e007ac
  - VALIDATION_ERROR_09e007a6
  - VALIDATION_ERROR_09e007b2
  - VALIDATION_ERROR_09e007a4
  - VALIDATION_ERROR_09e007aa
  - VALIDATION_ERROR_09e007a8
  - VALIDATION_ERROR_09e007a2
  - VALIDATION_ERROR_09e007b0
- modified CreateImageFormatSupportErrors test to remove killed checks
- modified ImageLayerUnsupportedFormat test to remove killed check

Change-Id: I8f1577747d87fdeb6f68b9db0340443a83c44630

6 years agoicd:Add new physical device query funcs to ICD
Tobin Ehlis [Fri, 13 Apr 2018 19:14:59 +0000 (13:14 -0600)]
icd:Add new physical device query funcs to ICD

Add mock ICD support for vkGetPhysicalDeviceSurfacePresentModesKHR,
vkGetPhysicalDeviceSurfaceFormats[2]KHR,
vkGetPhysicalDeviceSurfaceSupportKHR,
vkGetPhysicalDeviceSurfaceCapabilities[2]KHR,
vkGetSwapchainImagesKHR and
vkAcquireNextImagesKHR.

6 years agotravis: Avoid empty Travis CI job
Mark Lobodzinski [Thu, 12 Apr 2018 20:55:54 +0000 (14:55 -0600)]
travis: Avoid empty Travis CI job

Change-Id: Ifb917ab3cf72f0c89f3c7bc9b647156bf1259a50

6 years agotravis: Set up to test commit messages
Mark Lobodzinski [Mon, 9 Apr 2018 21:28:28 +0000 (15:28 -0600)]
travis: Set up to test commit messages

Change-Id: I64adcdb59329eed77cd7c0dd4ff89362f73f72f4

6 years agoscripts: Add commit message format checker
Mark Lobodzinski [Mon, 9 Apr 2018 21:27:15 +0000 (15:27 -0600)]
scripts: Add commit message format checker

Change-Id: I94efe0326e3f68e19af605a1ff381da59d2d7d1d

6 years agoscripts: exclude vulkan headers from clang-format
Mike Schuchardt [Fri, 6 Apr 2018 04:44:05 +0000 (22:44 -0600)]
scripts: exclude vulkan headers from clang-format

Travis CI shows linux build failure on every header update because
upstream Vulkan-Docs files are not formatted with the clang-format style
of this repo.  This change excludes the vulkan headers directory from
the CI clang-format check.

Change-Id: I6d1bee486d06b690f65aa2c3098de14f3c5931c9

6 years agoheader: Update to version 1.1.72 of the Vulkan hdr
Mark Lobodzinski [Thu, 5 Apr 2018 21:46:53 +0000 (15:46 -0600)]
header: Update to version 1.1.72 of the Vulkan hdr

- updated layer json files
- updated vulkan_core.h
- updated validusage.json
- updated vk_validation_error_database.txt
- updated vk_validation_error_messages.h
- updated vuid_mapping.py
- updated vk.xml
- updated vulkan.hpp
- moved vuid 1ae00652 to 1ae00f06

Change-Id: Id6ba342841cca04c0669b7feb39d82e2b8052443

6 years agoscripts: Output vuid-string->message map
Mark Lobodzinski [Tue, 27 Mar 2018 20:49:31 +0000 (14:49 -0600)]
scripts: Output vuid-string->message map

Change-Id: Id4123053da62fb8d2b4d32393d11e4aa6c030f92

6 years agolayers: Add checks for CreateDescriptorUpdateTempl
John Zulauf [Wed, 4 Apr 2018 20:54:11 +0000 (14:54 -0600)]
layers: Add checks for CreateDescriptorUpdateTempl

Added four validation checks for vkCreateDescriptorUpdateTemplate(KHR)
and removed a false positive.

VALIDATION_ERROR_052002bc
    VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00350
VALIDATION_ERROR_052002be
    VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00351
VALIDATION_ERROR_052002c0
    VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00352
VALIDATION_ERROR_052002c2
    VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00353

Updated autogen of object tracker s.t. that logic for noautovalidation
handles matches parameter validation, and spec generation, eliminating a
source of false positives.

Change-Id: Ib831eabd45a5083168355bca6b0e2beda3a76222

6 years agodocs:Fix my name spelling in README
Tobin Ehlis [Thu, 5 Apr 2018 15:30:09 +0000 (09:30 -0600)]
docs:Fix my name spelling in README

6 years agomacos: Update vulkan framework version to 1.1
Karl Schultz [Wed, 4 Apr 2018 22:15:32 +0000 (16:15 -0600)]
macos: Update vulkan framework version to 1.1

6 years agolayers: Avoid reading pointer to array when count is zero
Gabríel Arthúr Pétursson [Wed, 21 Mar 2018 22:44:11 +0000 (22:44 +0000)]
layers: Avoid reading pointer to array when count is zero

Take for example VkSubmitInfo. It has, amongst others, two fields:
waitSemaphoreCount and pWaitSemaphores. The specification states that
if waitSemaphoreCount is zero, the application may leave pWaitSemaphores
uninitialized (in essence, that field is ignored).

The layers read that value anyway, triggering uninitialized read errors
by memory sanitization tools.

Fixes uninitialized read in QueueSubmitSemaphoresAndLayoutTracking.

6 years agolayers: Destroy object tracking after reporting undestroyed objects
Gabríel Arthúr Pétursson [Tue, 20 Mar 2018 21:52:06 +0000 (21:52 +0000)]
layers: Destroy object tracking after reporting undestroyed objects

Fixes a memleak in VkLayerTest.LeakAnObject.

6 years agomacos: Add new Vulkan headers to vulkan framework
Karl Schultz [Wed, 4 Apr 2018 20:56:13 +0000 (14:56 -0600)]
macos: Add new Vulkan headers to vulkan framework

6 years agodocs: Fix internal links in BUILD.md
Karl Schultz [Wed, 4 Apr 2018 00:28:03 +0000 (18:28 -0600)]
docs: Fix internal links in BUILD.md

6 years agoloader: Improve 1.0 driver apiVersion fixup
John Zulauf [Fri, 30 Mar 2018 22:52:23 +0000 (16:52 -0600)]
loader: Improve 1.0 driver apiVersion fixup

The 1.1 loader attempts to avoid VK_ERROR_INCOMPATIBLE_DRIVER from 1.0
drivers by patching up the supplied apiVersion during CreateInstance.
Added support for apiVersions > 0 and < 1.0.

Change-Id: Iae350624c6f9f711890814b48adc3f5a17fdc47b

6 years agoloader: Eliminate duplicate validation messages
John Zulauf [Mon, 2 Apr 2018 16:55:18 +0000 (10:55 -0600)]
loader: Eliminate duplicate validation messages

Layer version mismatch validation messages were being generated multiple
times for each mismatching layer.  Eliminated duplicate error messages
and fixed formatting issues.

Change-Id: Iffc5ff94f70fefc075b74764ae87a6593143f503

6 years agolayers: Add correct validation for apiVersion
John Zulauf [Fri, 30 Mar 2018 20:51:59 +0000 (14:51 -0600)]
layers: Add correct validation for apiVersion

Update and correct validation of passed apiVersion for 1.1 specified
behavior.  Instances with apiVersion > 1.1 will be validated as 1.1
instances (and warn).  Instances with apiVersions < 0 and < 1.0 will be
validated as 1.0 instances and generate an error.  Instances with
missing or 0 apiVersions will be treated as 1.0 instances.

LOGCONSOLE warning converted to log_msg warning.

Change-Id: I2debb6175cf094918fc86cdea2973ddae9479a0b

6 years agolayers: Remove layer prefix from log_msg calls
Mark Lobodzinski [Sun, 1 Apr 2018 16:38:15 +0000 (10:38 -0600)]
layers: Remove layer prefix from log_msg calls

Change-Id: Iea43bd2f8f2c92d99b5fdf40abe94149a6fb860c

6 years agolayers: Remove location field from log_msg calls
Mark Lobodzinski [Fri, 30 Mar 2018 20:26:00 +0000 (14:26 -0600)]
layers: Remove location field from log_msg calls

Removed location parameters from log_msg calls, and from layer
logging output functions.

Change-Id: Ia1e2ce012997efed1db7864761ae0e39c8bc7d9b

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 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 agotests: Switch to submodule version of gtest
Mark Lobodzinski [Tue, 27 Mar 2018 21:15:27 +0000 (15:15 -0600)]
tests: Switch to submodule version of gtest

Switch layer/loader tests over to use the submodule version of
gtest instead of the version checked into the tree.

Change-Id: I0d0bad7531ccf1de0248a48cea347471c99e179f

6 years agotests: Suppress gtest warnings
Mark Lobodzinski [Tue, 27 Mar 2018 23:13:13 +0000 (17:13 -0600)]
tests: Suppress gtest warnings

Gtest generates GCC warnings for some signed/unsigned mismatches.
Suppress this for the test output.

Change-Id: Ifa3406610e980b81e091976a062cde6457a71377

6 years agotests: Resolve gtest/xlib conflicts
Mark Lobodzinski [Tue, 27 Mar 2018 23:14:34 +0000 (17:14 -0600)]
tests: Resolve gtest/xlib conflicts

Gtest and Xlib each redefine 'None' and 'Bool', which causes
gtest compilation to fail hard. Temporarily clear the definitions
to allow gtest to build using an Xlib display server.

Change-Id: I75e53bbff9266a59ebf53a81c2e148e51de6b7c7

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 agoandroid: Start using gtest from NDK
Cody Northrop [Tue, 27 Mar 2018 18:22:53 +0000 (12:22 -0600)]
android: Start using gtest from NDK

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 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 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: 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 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 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 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 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 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 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 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 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 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 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 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: 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

6 years agoloader: Update loader for Vulkan 1.1
Lenny Komow [Mon, 2 Oct 2017 21:08:53 +0000 (15:08 -0600)]
loader: Update loader for Vulkan 1.1

6 years agoloader: Update functions names
Lenny Komow [Tue, 3 Oct 2017 19:59:21 +0000 (13:59 -0600)]
loader: Update functions names

6 years agoloader: Update vkEnumerateInstanceVersion for 1.1
Lenny Komow [Tue, 3 Oct 2017 16:11:24 +0000 (10:11 -0600)]
loader: Update vkEnumerateInstanceVersion for 1.1

6 years agoloader: Add new core 1.1 entry points
Lenny Komow [Mon, 2 Oct 2017 23:11:05 +0000 (17:11 -0600)]
loader: Add new core 1.1 entry points