platform/upstream/Vulkan-Loader.git
6 years agoloader: Rework include dependencies
Lenny Komow [Mon, 25 Jun 2018 20:09:51 +0000 (14:09 -0600)]
loader: Rework include dependencies

This change removes the assumption that vk_layer.h will include
vk_layer_dispatch_table.h, since it will be removed from vk_layer.h
in the near future.

Change-Id: I3fed5efbc35781c96aa9d0977d046c8555e04a7c

6 years agotests: Remove validation error messages file
Mark Lobodzinski [Tue, 3 Jul 2018 18:08:46 +0000 (12:08 -0600)]
tests: Remove validation error messages file

This is unneeded for Loader and causes dependency issues.

6 years agotests: Update JSON files for 1.1.79 header
Mark Lobodzinski [Tue, 3 Jul 2018 17:18:17 +0000 (11:18 -0600)]
tests: Update JSON files for 1.1.79 header

6 years agobuild: Beautify cmake files
Mike Weiblen [Sat, 30 Jun 2018 18:07:29 +0000 (12:07 -0600)]
build: Beautify cmake files

Add .cmake-format.py
Add cmake-format docs to CONTRIBUTING.md
Minor edits to existing files

Due to a bug in cmake-format, use this script to reformat:

for i in CMakeLists.txt external/CMakeLists.txt loader/CMakeLists.txt tests/CMakeLists.txt tests/layers/CMakeLists.txt
do
    sed --in-place='' 's/^  *#/#/' $i
    cmake-format --in-place $i
done

Change-Id: I8e59c77ae184c88485a97a015ac81d4f71ac4897

6 years agobuild: Insert copyright in cmake files
Mike Weiblen [Tue, 26 Jun 2018 20:36:20 +0000 (14:36 -0600)]
build: Insert copyright in cmake files

6 years agocmake: Update Kitware copyright
Mike Weiblen [Tue, 26 Jun 2018 19:41:15 +0000 (13:41 -0600)]
cmake: Update Kitware copyright

Get latest Kitware copyright notice from
https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt @ d45d5e2

6 years agorepo: Update json files from 1.1.77 to 1.1.78
Mark Lobodzinski [Tue, 26 Jun 2018 19:22:33 +0000 (13:22 -0600)]
repo: Update json files from 1.1.77 to 1.1.78

6 years agobuild: Improve googletest handling
Karl Schultz [Fri, 22 Jun 2018 21:20:48 +0000 (15:20 -0600)]
build: Improve googletest handling

Behavior is largely unchanged except that specifying BUILD_TESTS=ON
with googletest not present no longer quietly skips building the tests.

- Make inclusion of external directory unconditional.  We may someday
  put something there is not related to testing.
- Make default for BUILD_TEST dependent on googletest presence.
- Remove if() around entire contents of tests CMake file.
- Add CMake messaging to clarify googletest activity.
- Throw a CMake error if googletest not present and BUILD_TESTS=ON

6 years agoheader: Update MacOS json files for 1.1.77 header
Jeremy Kniager [Tue, 19 Jun 2018 22:37:25 +0000 (16:37 -0600)]
header: Update MacOS json files for 1.1.77 header

Change-Id: I7f04938632f42727b8b1edc15be8981c1f239649

6 years agoloader: Change a loader warning to an info message
Lenny Komow [Tue, 19 Jun 2018 20:54:53 +0000 (14:54 -0600)]
loader: Change a loader warning to an info message

The loader implemented a warning when it was unable to get layers from
the windows registry. The warning would be present even when there was
intentionally no layers available. This change makes it an info
message.

Change-Id: Ic2325daf3a402817b52fae3eb63dd854a57beb99

6 years agodoc: Update BUILD.md [skip ci]
Karl Schultz [Mon, 18 Jun 2018 19:44:40 +0000 (13:44 -0600)]
doc: Update BUILD.md [skip ci]

6 years agocmake: Fixup FOLDER properties
Karl Schultz [Thu, 14 Jun 2018 22:53:01 +0000 (16:53 -0600)]
cmake: Fixup FOLDER properties

6 years agoheader: Update json files for 1.1.77 header
Mark Lobodzinski [Wed, 13 Jun 2018 20:30:07 +0000 (14:30 -0600)]
header: Update json files for 1.1.77 header

6 years agoci: Clean up AppVeyor config file
Karl Schultz [Wed, 13 Jun 2018 15:21:14 +0000 (09:21 -0600)]
ci: Clean up AppVeyor config file

- Get rid of TOP_DIR - it wasn't set to anything
- Remove unmeeded submodule update
- Build 2 jobs instead of 4
- Use -A CMake argument instead of creating a generator string
  based on the worker image and architecture.  Instead, set the
  architecture (platform Win32 or x64) with -A and take whatever
  Visual Studio version is provided by the worker image.  The
  worker image is specified by the "os" config property.

6 years agocmake: Move loader copy to test dir
Karl Schultz [Wed, 13 Jun 2018 00:16:30 +0000 (18:16 -0600)]
cmake: Move loader copy to test dir

- Move the CMake code to copy the loader DLL from the loader target
  definition to the test target definition.  The test should be
  taking responsibility for copying this DLL and it avoids doing the
  copy if BUILD_TESTS is on and gtest is not present.
- Use better CMake code to perform the copy.

6 years agoloader: Remove function pointer casts
Józef Kucia [Fri, 8 Jun 2018 08:18:20 +0000 (10:18 +0200)]
loader: Remove function pointer casts

6 years agocmake: Prevent redefinition of uninstall target
Karl Schultz [Tue, 12 Jun 2018 21:10:23 +0000 (15:10 -0600)]
cmake: Prevent redefinition of uninstall target

Allows for this repo to be included as a submodule of another
repo that defines its own uninstall target.  The uninstall target
is best defined at the top-level repo.

6 years agoloader: Fix up missing 1.1 function exports
Józef Kucia [Thu, 7 Jun 2018 08:22:34 +0000 (10:22 +0200)]
loader: Fix up missing 1.1 function exports

6 years agorepo: Make tests not try to build without gtest
Lenny Komow [Wed, 6 Jun 2018 21:40:13 +0000 (15:40 -0600)]
repo: Make tests not try to build without gtest

Change-Id: Idf3ed7bca713cb7ec1964513ac072344feaf17e6

6 years agorepo: Modify gtest build logic
Lenny Komow [Wed, 6 Jun 2018 16:55:24 +0000 (10:55 -0600)]
repo: Modify gtest build logic

Change the logic regarding building the loader tests and Google Test
to match that of Glslang and Vulkan-ValidationLayers

Change-Id: I9f5a9b5385369514e3bec979c8de75ae432d00a6

6 years agoloader: Add support for get display properties2
Lenny Komow [Thu, 31 May 2018 17:32:31 +0000 (11:32 -0600)]
loader: Add support for get display properties2

Change-Id: I14260b231dd097c85a99ab99c62876b868918869

6 years agodocs: Remove references to old repo
Mark Young [Mon, 4 Jun 2018 22:02:05 +0000 (16:02 -0600)]
docs: Remove references to old repo

Remove references to the old repo. Also, remove ninja build steps
since they are no longer valid.

Change-Id: I4a963ec7dc49af2d7d0d186079f0aee78d110d70

6 years agomake vulkan headers searchable with CMAKE_PREFIX_PATH
slava [Sun, 3 Jun 2018 08:56:11 +0000 (10:56 +0200)]
make vulkan headers searchable with CMAKE_PREFIX_PATH

6 years agodocs: Document new google test mechanism
Lenny Komow [Mon, 4 Jun 2018 17:42:37 +0000 (11:42 -0600)]
docs: Document new google test mechanism

Change-Id: Ib51d38610ba554082391495878bf0113a2885bc0

6 years agorepo: Make CI clone googletest
Lenny Komow [Fri, 1 Jun 2018 22:06:25 +0000 (16:06 -0600)]
repo: Make CI clone googletest

Change-Id: Ic942992d4fbc9701ba14e5973faed85b5b2e8c22

6 years agorepo: Remove google test submodule
Lenny Komow [Thu, 31 May 2018 22:24:31 +0000 (16:24 -0600)]
repo: Remove google test submodule

Change-Id: I25734926cdf267e565e0ab5878184a0955e435ee

6 years agodocs: Update build instructions for Vulkan-Headers
Lenny Komow [Fri, 1 Jun 2018 21:48:52 +0000 (15:48 -0600)]
docs: Update build instructions for Vulkan-Headers

Change-Id: I2897e25b3e6db340afa5a35d006ba88c0b3970b0

6 years agorepo: Make CI clone and install Vulkan-Headers
Lenny Komow [Fri, 1 Jun 2018 17:08:16 +0000 (11:08 -0600)]
repo: Make CI clone and install Vulkan-Headers

Change-Id: Ib1a3c82f829377814105d54f552ac3ef00f00681

6 years agorepo: Remove Vulkan-Headers submodule
Lenny Komow [Thu, 31 May 2018 20:18:40 +0000 (14:18 -0600)]
repo: Remove Vulkan-Headers submodule

Change-Id: I84ec2f2c07482685a275ca2d1804359f09321bad

6 years agobuild: Add FindVulkanHeaders.cmake module
Karl Schultz [Fri, 1 Jun 2018 18:17:55 +0000 (12:17 -0600)]
build: Add FindVulkanHeaders.cmake module

This is useful for locating the Vulkan headers and registry
in a Vulkan-Headers repository.

[skip ci]

6 years agoloader: Use new VkBase*Structure objects
Lenny Komow [Thu, 24 May 2018 19:20:37 +0000 (13:20 -0600)]
loader: Use new VkBase*Structure objects

The 1.1.75 Vulkan spec added two new structures, which accomplish the
same thing is the loader's VkStructureHeader. This removes the loader
struct and uses the ones from the spec.

Change-Id: I0b924b7bb45476645712f600bb6966448f67d8c7

6 years agobuild: Remove Vulkan headers from install target
Karl Schultz [Wed, 30 May 2018 23:42:14 +0000 (17:42 -0600)]
build: Remove Vulkan headers from install target

These are now installed by the Vulkan-Header repo.

6 years agodocs: Add notes for Win install target
Karl Schultz [Fri, 25 May 2018 19:46:58 +0000 (13:46 -0600)]
docs: Add notes for Win install target

[skip ci]

6 years agobuild: Activate install target for Windows.
Karl Schultz [Fri, 25 May 2018 17:37:20 +0000 (11:37 -0600)]
build: Activate install target for Windows.

6 years agorepo: Update headers to 1.1.75
Lenny Komow [Tue, 22 May 2018 22:31:46 +0000 (16:31 -0600)]
repo: Update headers to 1.1.75

Change-Id: I6ab1ec0bcbd3904b834d18637a437c700cf9e912

6 years agoscripts: Remove scripts that are in Vulkan-Headers
Lenny Komow [Tue, 22 May 2018 22:20:31 +0000 (16:20 -0600)]
scripts: Remove scripts that are in Vulkan-Headers

Change-Id: I741c441b5a7b88c496882906e59f5f50c8f289a0

6 years agodocs: Add a short readme to tests directory
Lenny Komow [Mon, 21 May 2018 21:07:21 +0000 (15:07 -0600)]
docs: Add a short readme to tests directory

6 years agotests: Add user env file for Visual Studio
Lenny Komow [Mon, 21 May 2018 19:58:53 +0000 (13:58 -0600)]
tests: Add user env file for Visual Studio

Add a .user file so that Visual Studio will properly set VK_LAYER_PATH
when running through the IDE.

6 years agotests: Make layer tests use layers from this repo
Lenny Komow [Mon, 21 May 2018 19:08:35 +0000 (13:08 -0600)]
tests: Make layer tests use layers from this repo

There are a couple of tests in the loader tests that test behavior
when enabling layers. This changes them to use layers that are present
in this repo, instead of validation layers.

6 years agodocs: Document CMake build options
Lenny Komow [Fri, 18 May 2018 15:52:22 +0000 (09:52 -0600)]
docs: Document CMake build options

Change-Id: Ic74794d7de1b7f652aa75a262ebf808cb8b6a4db

6 years agorepo: Allow BUILD_LOADER=OFF on Windows
Lenny Komow [Thu, 17 May 2018 20:59:13 +0000 (14:59 -0600)]
repo: Allow BUILD_LOADER=OFF on Windows

If the repo is built without the loader, cmake will now look for an
SDK installation on Windows. On Linux, it will look in the standard
system paths for a loader.

6 years agorepo: Remove API_NAME from cmake files
Lenny Komow [Thu, 17 May 2018 19:31:30 +0000 (13:31 -0600)]
repo: Remove API_NAME from cmake files

There used to be functionality to specify a name other than "Vulkan"
for the files, which would allow side by side installations. This
has proven to cause more trouble than it solves, so I'm removing it.

6 years agorepo: Stop building dynamic and static loaders
Lenny Komow [Thu, 17 May 2018 18:01:41 +0000 (12:01 -0600)]
repo: Stop building dynamic and static loaders

Add a cmake variable to select weather you want a dynamic or a static
loader, rather than building both every time. This avoids the
redundancy of building everything twice.

6 years agoscripts: Use vk.xml in Vulkan-Headers for codegen
Lenny Komow [Wed, 16 May 2018 21:46:30 +0000 (15:46 -0600)]
scripts: Use vk.xml in Vulkan-Headers for codegen

Change-Id: I071f5125dab74b6f646d7ddd1c996ae4c1edb672

6 years agoscripts: Remove unused scripts
Lenny Komow [Wed, 16 May 2018 17:51:00 +0000 (11:51 -0600)]
scripts: Remove unused scripts

There were numerous scripts in this repo that weren't used, but were
inherited from the old Vulkan-LoaderAndValidationLayers repo. Most
of them were validation layer codegen, but there were also some
utilities for dealing with glslang and spriv-tools.

6 years agorepo: Add MacOS config to Travis CI
Lenny Komow [Tue, 15 May 2018 17:20:09 +0000 (11:20 -0600)]
repo: Add MacOS config to Travis CI

6 years agodocs: Update MacOS build section
Jeremy Kniager [Tue, 15 May 2018 16:27:44 +0000 (10:27 -0600)]
docs: Update MacOS build section

Updated the MacOS section of
BUILD.md to reflect the repo split changes.

Change-Id: I27a2dc2e36866cdf58ed111758432bff6ecad2ad

6 years agocmake: Update header lookup location
Jeremy Kniager [Tue, 15 May 2018 16:25:33 +0000 (10:25 -0600)]
cmake: Update header lookup location

Updated the CMakeList.txt file to look for
header files in the Vulkan-Headers submodule.

Change-Id: I633e224d7b4c94e5db36e3ec67d8aeb078670d8a

6 years agocmake: Add warning if submodules not initialized
Mark Lobodzinski [Mon, 14 May 2018 20:52:49 +0000 (14:52 -0600)]
cmake: Add warning if submodules not initialized

6 years agodocs: Fix broken link in readme
Lenny Komow [Mon, 14 May 2018 19:21:38 +0000 (13:21 -0600)]
docs: Fix broken link in readme

6 years agodocs: Update readme for recent repo split
Lenny Komow [Mon, 14 May 2018 16:40:34 +0000 (10:40 -0600)]
docs: Update readme for recent repo split

6 years agorepo: Cleanup .gitignore
Karl Schultz [Sun, 13 May 2018 17:21:40 +0000 (11:21 -0600)]
repo: Cleanup .gitignore

6 years agorepo: Change project name to Vulkan-Loader
Karl Schultz [Sun, 13 May 2018 16:59:16 +0000 (10:59 -0600)]
repo: Change project name to Vulkan-Loader

6 years agorepo: Update AppVeyor config
Karl Schultz [Sat, 12 May 2018 00:11:55 +0000 (18:11 -0600)]
repo: Update AppVeyor config

6 years agorepo: Update Travis-CI config
Karl Schultz [Fri, 11 May 2018 22:40:24 +0000 (16:40 -0600)]
repo: Update Travis-CI config

6 years agorepo: Update documentation files
Karl Schultz [Fri, 11 May 2018 17:42:38 +0000 (11:42 -0600)]
repo: Update documentation files

6 years agorepo: Reenable Linux install target
Karl Schultz [Fri, 11 May 2018 21:48:06 +0000 (15:48 -0600)]
repo: Reenable Linux install target

6 years agorepo: Minor updates for repo split
Karl Schultz [Fri, 11 May 2018 16:20:05 +0000 (10:20 -0600)]
repo: Minor updates for repo split

Add cmake code to copy gtest libs to test binary dir for Windows.

6 years agorepo: Fixup test code and scripts
Karl Schultz [Thu, 10 May 2018 23:18:26 +0000 (17:18 -0600)]
repo: Fixup test code and scripts

6 years agorepo: Remove dependencies on layers dir
Karl Schultz [Thu, 10 May 2018 14:53:04 +0000 (08:53 -0600)]
repo: Remove dependencies on layers dir

6 years agorepo: Make loader tests work on Linux
Karl Schultz [Wed, 9 May 2018 23:40:36 +0000 (17:40 -0600)]
repo: Make loader tests work on Linux

6 years agorepo: Add googletest submodule
Karl Schultz [Wed, 9 May 2018 22:44:57 +0000 (16:44 -0600)]
repo: Add googletest submodule

6 years agorepo: Make loader build work on Linux
Karl Schultz [Wed, 9 May 2018 20:07:11 +0000 (14:07 -0600)]
repo: Make loader build work on Linux

6 years agorepo: Update Vulkan-Headers submodule pointer
Karl Schultz [Wed, 9 May 2018 17:27:07 +0000 (11:27 -0600)]
repo: Update Vulkan-Headers submodule pointer

6 years agorepo: Update Vulkan-Headers submodule pointer
Karl Schultz [Wed, 9 May 2018 16:51:32 +0000 (10:51 -0600)]
repo: Update Vulkan-Headers submodule pointer

6 years agorepo: Update submodules
Karl Schultz [Tue, 8 May 2018 22:58:11 +0000 (16:58 -0600)]
repo: Update submodules

Add Vulkan-Headers
Remove googletest

6 years agoicd:Add GPDP2 support for descriptor indexing
Tobin Ehlis [Fri, 11 May 2018 19:44:33 +0000 (13:44 -0600)]
icd:Add GPDP2 support for descriptor indexing

Set some default mock icd values for vkGetPhysicalDeviceProperties2
query of VkPhysicalDeviceDescriptorIndexingPropertiesEXT props.

6 years agoicd:Add support for extended features queries
Tobin Ehlis [Wed, 9 May 2018 22:39:27 +0000 (16:39 -0600)]
icd:Add support for extended features queries

Update mock ICD generator so that if we have an extension that's been
promoted to core, the core version will call any existing custom
implementation of the extension function.

Update Features query to detect the two existing extension structs
(VkPhysicalDeviceDescriptorIndexingFeaturesEXT and
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT) and enable all of
those features when those queries are present.

6 years agotests: Update tests to remove duplicate slashes
Lenny Komow [Thu, 10 May 2018 21:23:09 +0000 (15:23 -0600)]
tests: Update tests to remove duplicate slashes

Change-Id: Ie09bfcd61c57024f4c7a0ff884001989fec2a565

6 years agoloader: Fix gcc 8.1 cast warning
Lenny Komow [Wed, 9 May 2018 17:09:58 +0000 (11:09 -0600)]
loader: Fix gcc 8.1 cast warning

Change-Id: Id8f0301c4f208d185abe2cc3df71021cb4aa29b1

6 years agoloader: Fix unhandled out of memory errors
Lenny Komow [Wed, 9 May 2018 16:48:41 +0000 (10:48 -0600)]
loader: Fix unhandled out of memory errors

Change-Id: I3b672a9d54e1509b550407f1b4ffae58b48beb85

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.