platform/upstream/Vulkan-Loader.git
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

6 years agoloader: Fix windows build
Lenny Komow [Mon, 2 Oct 2017 21:58:17 +0000 (15:58 -0600)]
loader: Fix windows build

6 years agoloader: Fix loader marking 1.1 cmds as required
Lenny Komow [Mon, 2 Oct 2017 21:32:55 +0000 (15:32 -0600)]
loader: Fix loader marking 1.1 cmds as required

6 years agotests: Fix loader test capitalization
Lenny Komow [Mon, 2 Oct 2017 21:09:30 +0000 (15:09 -0600)]
tests: Fix loader test capitalization

6 years agoloader: Move manual KHR exts to core
Lenny Komow [Mon, 2 Oct 2017 21:08:53 +0000 (15:08 -0600)]
loader: Move manual KHR exts to core

6 years agoloader: Update vulkan version location
Mark Lobodzinski [Mon, 23 Oct 2017 21:31:56 +0000 (15:31 -0600)]
loader: Update vulkan version location

6 years agoscripts: Update generators for 1.1
Mark Lobodzinski [Tue, 24 Oct 2017 19:41:18 +0000 (13:41 -0600)]
scripts: Update generators for 1.1

6 years agoscripts: Avoid duplicates in enum string helper
Mark Lobodzinski [Thu, 28 Sep 2017 21:12:02 +0000 (15:12 -0600)]
scripts: Avoid duplicates in enum string helper

6 years agoscripts: Fix loader extension generator
Mark Lobodzinski [Thu, 28 Sep 2017 21:11:38 +0000 (15:11 -0600)]
scripts: Fix loader extension generator

Was incorrectly creating device/instance dispatch tables.

6 years agoscripts: Private repo VUID workaround
Mike Schuchardt [Thu, 20 Jul 2017 17:16:48 +0000 (11:16 -0600)]
scripts: Private repo VUID workaround

Workarounds for private codegen and tests so they can run without having
to update the VUID mapping or database

Change-Id: Idf71df859f55888103f93f863fc73a0c7a01de2c

6 years agoheader: KHX->KHR name changes
Mark Lobodzinski [Mon, 18 Sep 2017 22:28:27 +0000 (16:28 -0600)]
header: KHX->KHR name changes

6 years agoscripts: Update lvl_genvk.py with 1.1 changes
Mark Lobodzinski [Mon, 18 Sep 2017 21:13:54 +0000 (15:13 -0600)]
scripts: Update lvl_genvk.py with 1.1 changes

6 years agoscripts: Allow for skipping version_1_1 features
Mark Lobodzinski [Mon, 18 Sep 2017 20:15:09 +0000 (14:15 -0600)]
scripts: Allow for skipping version_1_1 features

Treat 1.1 features as 1.0, instead of as an extension.

6 years agodocs: Update Contributing.md for msg output info
Mark Lobodzinski [Tue, 6 Mar 2018 15:12:19 +0000 (08:12 -0700)]
docs: Update Contributing.md for msg output info

Change-Id: Iab9831c798970334808c5d0784e1e5128f05c6f6

6 years agodocs: Update brew package list
Mike Schuchardt [Wed, 7 Mar 2018 00:39:05 +0000 (17:39 -0700)]
docs: Update brew package list

Starting around Feb 27 2018, "python" installs python 3.x instead of
2.x.  Also remove git which should be present from the Xcode command
line tools and python2 which should be present in the base macOS
install.

6 years agomacOS: Add macOS support
Karl Schultz [Tue, 12 Dec 2017 15:33:01 +0000 (10:33 -0500)]
macOS: Add macOS support

6 years agobuild: Fix -Wmicrosoft-cast warnings with clang-cl
Nico Weber [Thu, 1 Mar 2018 14:55:46 +0000 (09:55 -0500)]
build: Fix -Wmicrosoft-cast warnings with clang-cl

MSVC allows implicit conversion from function pointers to void*.
The C++ standard doesn't allow this, and clang-cl emits a warning
when this is done.  This change fixes these warnings in
Vulkan-LoaderAndValidationLayers.

Arguably, loader_platform_get_proc_address() should return a
FARPROC so that the compiler can help checking calling conventions,
but this is the simplest fix that unblocks us.

This is needed for https://crbug.com/550065

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: Mod spec.py to use local validusage.json
Mark Lobodzinski [Thu, 1 Mar 2018 17:25:58 +0000 (10:25 -0700)]
scripts: Mod spec.py to use local validusage.json

This script by default used the latest version of validusage.json from
the web. Changed to use the local copy checked into the repo. Used the
json-file option to fetch from a non-default location, removed the
-json arg and the URL option entirely.

Change-Id: Id088b08c8e66a3cdfca2b9e771797bffe941e5d3

6 years agoscripts: Add validusage.json to LVL repo
Mark Lobodzinski [Tue, 27 Feb 2018 16:19:15 +0000 (09:19 -0700)]
scripts: Add validusage.json to LVL repo

In the future, this file will be updated as part of the Vulkan
header update process, and will be used as part of managing VUID
identifiers and lifetimes.

Change-Id: I6e29c1148e8752147310649a5ccfd99f385c0f46

6 years agodocs: fix markdown lint issues in BUILD.md
Karl Schultz [Tue, 27 Feb 2018 17:47:00 +0000 (10:47 -0700)]
docs: fix markdown lint issues in BUILD.md

6 years agodocs: Remove osx-specific func from Linux instrs
Mark Lobodzinski [Wed, 21 Feb 2018 22:31:52 +0000 (15:31 -0700)]
docs: Remove osx-specific func from Linux instrs

Fixed a pre-existing typo in the android instructions for Linux.

Change-Id: I7ceea88d07a69a60fc1afe4b2facf3e03f0da0e5

6 years agodocs: Reorg and update BUILD.md
Mark Lobodzinski [Mon, 19 Feb 2018 23:31:41 +0000 (16:31 -0700)]
docs: Reorg and update BUILD.md

Also changed to one-sentence-per-line markdown style.

Change-Id: I41d6fcb8fa4a07711f19325c350950d5be3e269c

6 years agobuild: Modify .gitattributes for unix line endings
Mike Weiblen [Fri, 23 Feb 2018 20:26:08 +0000 (13:26 -0700)]
build: Modify .gitattributes for unix line endings

Shell scripts were forced to a carriage-return line ending -- changed
this to a line feed line ending.

Change-Id: I98b738e4f09ccc622632194586435e5ee6d855eb

6 years agolayers: Fix dev-profile test layer dest loc
Mark Lobodzinski [Fri, 23 Feb 2018 18:02:09 +0000 (11:02 -0700)]
layers: Fix dev-profile test layer dest loc

Destination for device-profile layer binaries was incorrect when
repo built as a submodule.

Change-Id: I5859465f5584e3a0c624a05b42baf9525fb112f3

6 years agotweak travis config to make it easier to see which profile is failing
Chris Forbes [Fri, 23 Feb 2018 18:16:17 +0000 (10:16 -0800)]
tweak travis config to make it easier to see which profile is failing

6 years agoscripts: Strip xref markup from vu error messages
Mike Schuchardt [Wed, 21 Feb 2018 16:03:34 +0000 (09:03 -0700)]
scripts: Strip xref markup from vu error messages

Convert asciidoctor xref markup from "<<anchor, text>>" to "text" for VU
error messages.  Longer term plan is to modify the upstream validusage
build target in Vulkan-Docs to emit plain text to begin with.

Change-Id: I6ca6ffb4701df27c9c1666598fbeceb0f3a03216

6 years agoheader: Update to version 1.0.69 of the Vulkan hdr
Mark Lobodzinski [Tue, 20 Feb 2018 16:37:55 +0000 (09:37 -0700)]
header: Update to version 1.0.69 of the Vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated layer json files
- updated vulkan.hpp
- updated validation_error_database.txt
- updated vk_validation_error_messages.h
- updated vuid_mapping.py

Note that the VU text in the database file contains artifacts from
the registry/VUID toolchain. These will be addressed in a follow-on
patch set.

Change-Id: I6994ec17a6edcb6c9028c792c68863cd39f1fc56

6 years agolayers: Move U_O:DestroySwapchain out of codegen
Mark Lobodzinski [Fri, 16 Feb 2018 16:58:07 +0000 (09:58 -0700)]
layers: Move U_O:DestroySwapchain out of codegen

This function in the unique_objects layer will need to clean up some
swapchain image index tracking information and so will now be
manually written.

Change-Id: I306fdd9f7a3c75c21b82fe21951804bd86259781

6 years agotests: clang-format only
Dave Houlton [Wed, 7 Feb 2018 00:49:16 +0000 (17:49 -0700)]
tests: clang-format only

No code changes, just full clang-format.

Change-Id: I096d1b5509897bd642545e3369ccd83ca2849441

6 years agoloader: Don't add duplicate JSON files from Khronos registry path.
Norbert Garnys [Tue, 13 Feb 2018 15:32:03 +0000 (16:32 +0100)]
loader: Don't add duplicate JSON files from Khronos registry path.

To make sure we avoid enumerating old JSON files/drivers that might be present
in the non-device specific area of the registry when a newer device specific
JSON file is present, do a check before adding.
Find the file name, without path, of the JSON file found in the non-device
specific registry location. If the same JSON file name is already found in
the list, don't add it again.

6 years agoloader: Fix loader skipping layer files
Lenny Komow [Tue, 13 Feb 2018 17:30:02 +0000 (10:30 -0700)]
loader: Fix loader skipping layer files

Fix a bug where having a json file in the layer path that isn't a
valid layer would cause the other valid layers to be skipped

Change-Id: I8346bd223358f271a48799d249d3b3a941dd31f8

6 years agoloader: link with OneCore umbrella library
Slawomir Cygan [Thu, 25 Jan 2018 12:51:17 +0000 (13:51 +0100)]
loader: link with OneCore umbrella library

This change makes loader use OneCore umbrella[2] library, common
to all Windows 10 devices and required with for Universal
Windows drivers[1].

As this change may not be compatible with previous versions of
Windows, it's enabled via CMAKE option:
   -DENABLE_WIN10_ONECORE=1

[2] https://msdn.microsoft.com/en-us/library/windows/desktop/mt654039(v=vs.85).aspx
[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/getting-started-with-universal-drivers

Change-Id: Ib677face131ab2edb3e8cd2f764fe4e0ca44cecc

6 years agoloader: use Unicode functions from cfgmgr32.lib
Slawomir Cygan [Thu, 25 Jan 2018 12:48:54 +0000 (13:48 +0100)]
loader: use Unicode functions from cfgmgr32.lib

This change improves loader compatibility with Universal
Windows drivers[1]: do not use removed ANSI-based functions,
use Unicode equivalentsexposed in umbrella[2] library.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/getting-started-with-universal-drivers
[2] https://msdn.microsoft.com/en-us/library/windows/desktop/mt654039(v=vs.85).aspx

Change-Id: I8ead9c46815d15e1b2f2226eb30110c8efa4ec75

6 years agoloader: remove references to shlwapi.lib
Slawomir Cygan [Wed, 24 Jan 2018 14:34:15 +0000 (15:34 +0100)]
loader: remove references to shlwapi.lib

This change improves loader compatibility with Universal
Windows drivers[1]: shlwapi.lib is not a part of allowed APIs.

It seems PathFileExists call was already redundant as
ERROR_MOD_NOT_FOUND was already returned by the loader in
cse of wrong dll path.

PathIsRelative is replaced by equivalent check.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/getting-started-with-universal-drivers

Change-Id: I36854f38078670ac033e8bd415dbf368391e8448

6 years agobuild: Add min supported compiler versions to BUILD.md
Mark Lobodzinski [Wed, 7 Feb 2018 23:33:33 +0000 (16:33 -0700)]
build: Add min supported compiler versions to BUILD.md

Change-Id: I694aaf18e3f4f1d458fa2a4f84f84c4553e93a0a

6 years agobuild: Adjust travis config for VT updates
Karl Schultz [Tue, 6 Feb 2018 13:12:35 +0000 (06:12 -0700)]
build: Adjust travis config for VT updates

- VT update external script no longer accepts jsoncpp flag
  so remove call to build it.  The script now builds it all the time.
- Add back cmake flag to turn off LVL layers build.  LVL should
  now build the layer utils even with layer build disabled.  VT
  needs the layer utils to build devsim.

Change-Id: I1c5421d4b5553b3d39f68f075ee5850588696775

6 years agobuild: Move layer_utils build to top-level cmake
Mark Lobodzinski [Fri, 2 Feb 2018 20:58:41 +0000 (13:58 -0700)]
build: Move layer_utils build to top-level cmake

DevSim requires this library, but it is only built in LVL if LAYERS
are built. Moved the generation of this library out of the layers
cmake file and into the root cmake file.

Change-Id: I1c633e981fa1843cfb49204d2ac130beb8d99dfc

6 years agoscripts: Fix error if spirv-tools dir had no .git (#2346)
Cort Stratton [Fri, 2 Feb 2018 07:25:21 +0000 (23:25 -0800)]
scripts: Fix error if spirv-tools dir had no .git (#2346)

external_revision_generator.py generates a UUID for
VkValidationCacheEXT objects created by the layers, based on
the commit ID of the HEAD revision in the spirv-tools repo
used to build those layers. This implicitly required that
the spirv-tools source is hosted in a Git repository, which
is not the case in all validation layers build environments.

The script has been modified to accept *either* a path to
a Git working directory to query *or* a path to a file whose
contents are SHA1-hashed (if necessary) and treated as the
"commit ID" for the project.

Call sites for the script in the CMake and Android build paths
have been updated to use the --git_dir approach by default,
which matches the pre-existing behavior.

6 years agocmake: Move LVL temp/worker targets into subfolder
Mark Lobodzinski [Thu, 1 Feb 2018 16:27:03 +0000 (09:27 -0700)]
cmake: Move LVL temp/worker targets into subfolder

This sets up cmake to locate the temporary or worker MSVC projects
into a subfolder called lvl_cmake_targets. This simply unclutters
the Visual Studio Solution Explorer projects pane, and does not
affect functionality.

Change-Id: I6933d05758d6f174a4f66ceaef51d43627210e4f

6 years agobuild: Need to build LVL layers in CI to get utils
Karl Schultz [Thu, 1 Feb 2018 21:31:01 +0000 (14:31 -0700)]
build: Need to build LVL layers in CI to get utils

Layer utils now exist only in LVL, so when we build VulkanTools
in LVL CI (just to get devsim layer), we need to turn on LVL
layer building in order to get the layer util libs.

Change-Id: I4cc6df4ed0a782afeec19c61dc05bcc2bad47756

6 years agolayers: Improve doc validation init-list parsing
John Zulauf [Fri, 26 Jan 2018 20:42:08 +0000 (13:42 -0700)]
layers: Improve doc validation init-list parsing

Change VALIDATION_ERROR_ parsing to correctly recognize error ids in
initializer lists, including the formatting as done by clang-format.
{VALIDATION_ERRROR_nnnn, ... VALIDATION_ERROR_nnnn}

Change-Id: I25a1c0d0c9181ece458f7c83d2f184abea8d1f4a

6 years agoicd: Add VK_KHR_push_descriptor to blacklist
John Zulauf [Tue, 23 Jan 2018 23:30:00 +0000 (16:30 -0700)]
icd: Add VK_KHR_push_descriptor to blacklist

As VK_KHR_get_physical_device_properties2 pNext structure queries are
not implemented within mock_icd,
VkPhysicalDevicePushDescriptorPropertiesKHR::maxPushDescriptors cannot
be queried by the validation layers, causing numerous test failures when
this limit is checked (in a subsequen commit).  Added to ignore until
such time it is correctly reported.

Change-Id: I77b9a37c9ab2ce3e730b7fa6596e23ccc2be8d8c

6 years agolayer: Add utility template for sType init
John Zulauf [Tue, 23 Jan 2018 18:20:50 +0000 (11:20 -0700)]
layer: Add utility template for sType init

Add utility function to auto populate sType field based on typename
given to autogen of typemap helper. Return value optimization (copy
elision) should make this perfomance neutral vs. inline init.

Change-Id: I231cf92d5063c19f9ad5b14189dd162fdac76a43

6 years agocmake: Fix glslang validator cmake hint path
Mark Lobodzinski [Tue, 23 Jan 2018 22:56:01 +0000 (15:56 -0700)]
cmake: Fix glslang validator cmake hint path

Change-Id: I098b4ce4dcb924bcc1fc15da50332118a0756a43

6 years agocmake: Fix externals for submodule/subtree builds
Mark Lobodzinski [Mon, 22 Jan 2018 23:42:02 +0000 (16:42 -0700)]
cmake: Fix externals for submodule/subtree builds

Change-Id: Ia1c31ff75c9bf5c3d1ae9b903213437c3ae1ef06

6 years agoscripts: Exit from vuid_mapping.py with status 1 on errors
Jean-François Roy [Mon, 22 Jan 2018 23:05:11 +0000 (15:05 -0800)]
scripts: Exit from vuid_mapping.py with status 1 on errors

This patch modifies scripts/vuid_mapping.py to exit with status 1 on
errors. This allows the build system to fail code generation rules that
depend on this script.

Change-Id: I5659ae80e1989ea7530c9257e7619a9b35cc7294

6 years agocmake: Add PROJECT_BINARY_DIR to cmake files
Mark Lobodzinski [Fri, 19 Jan 2018 19:04:16 +0000 (12:04 -0700)]
cmake: Add PROJECT_BINARY_DIR to cmake files

Tests and test/layers CMakeLists.txt files were missing
this include path variable. This prevents LVL from building when
used as a submodule.

Change-Id: I0746b9ef280ca0bdd75a0a539c5bdc78114a60ba

6 years agocmake: Fix non-existant cmake variable
Mark Lobodzinski [Fri, 19 Jan 2018 18:50:58 +0000 (11:50 -0700)]
cmake: Fix non-existant cmake variable

Specified cmake variable does not exist, caused problems in some
out-of-source builds.

Change-Id: I526117ef060efea40451752e5fe7bad1e7a5589e

6 years agoloader: Fix static library initialization
Lenny Komow [Fri, 19 Jan 2018 18:22:28 +0000 (11:22 -0700)]
loader: Fix static library initialization

Fix the loader's global initialization being skipped when the loader
is built as a static library on windows

Change-Id: I492f87104fb3bf32aed3c7d251dee2caeb4f00ba

6 years agoloader: Restore pNext data in CreateDevice
Joey Bzdek [Mon, 23 Oct 2017 23:13:33 +0000 (17:13 -0600)]
loader: Restore pNext data in CreateDevice

In the terminator for CreateDevice, the
VkDeviceGroupDeviceCreateInfoKHX struct in the pNext chain is
replaced by a copy that has VkPhysicalDevice handles remapped. At the
end of the terminator, restore the modified pNext pointer to
partially comply to the const argument and give consistent behavior
to the caller.

Change-Id: I83a60a0102a736d056729383733e62b38b0ace2c

6 years agoloader: Fix enabling extensions from layers
Lenny Komow [Wed, 17 Jan 2018 20:53:59 +0000 (13:53 -0700)]
loader: Fix enabling extensions from layers

This resolves a bug where it was impossible to enable an extension
that was defined in a layer if that layer was not passed by the
application. This applied to implicit layers, explicit layers enabled
by environment variables, and metalayers.

Change-Id: I03bee6fb778936d970f78b9142679654424f80ae

6 years agolayers: Fix doc validation file list check
John Zulauf [Tue, 16 Jan 2018 22:32:45 +0000 (15:32 -0700)]
layers: Fix doc validation file list check

The check for required files was counting the files multiple times and
aborting silently.  The check now correct counts files and exits with
non-zero exit code on failure.

Change-Id: I5b158f7cca0dd541571d95c00c3450139daf32c4

6 years agoheader: Update to version 1.0.68 of the Vulkan hdr
Mark Lobodzinski [Tue, 16 Jan 2018 17:40:16 +0000 (10:40 -0700)]
header: Update to version 1.0.68 of the Vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated layer json files
- built and updated vulkan.hpp
- updated vk_validation_error_messages.h
- updated vk_validation_error_database.txt

Change-Id: I5aff6147531f9b91164849ee590f7f86e46e4652

6 years agoloader: Clean up mutexes on destruction
Lenny Komow [Mon, 15 Jan 2018 22:43:36 +0000 (15:43 -0700)]
loader: Clean up mutexes on destruction

Change-Id: I7d1524da9167a576420c109ebbce8ebb5121cad0

6 years agoLoader: fix open registry handle leak
Slawomir Cygan [Tue, 16 Jan 2018 16:17:07 +0000 (17:17 +0100)]
Loader: fix open registry handle leak

Each handle returned by RegOpenKey*() API functions should be
closed using RegCloseKey().

This change fixes AppVerifier warning on leaklin HKEY objects.

6 years agoRevert "MikeW's private development tools."
Mike Weiblen [Tue, 16 Jan 2018 18:54:01 +0000 (11:54 -0700)]
Revert "MikeW's private development tools."

This reverts commit b103ee6a86b3296c4db52598d77ce792127a6082.

6 years agobuild: Fix linux 32-bit assembly config
Lenny Komow [Mon, 15 Jan 2018 21:56:08 +0000 (14:56 -0700)]
build: Fix linux 32-bit assembly config

This fixes a bug whereby 32-bit Linux builds would not be able to
use the assembly code as the try_compile command would fail when it
attempted to link with compiler flags

Change-Id: I6e4479fb7926169a7fa5c01876834cdae8c3b637

6 years agobuild: Use DevSim from a VulkanTools build in CI
Karl Schultz [Fri, 12 Jan 2018 21:41:55 +0000 (14:41 -0700)]
build: Use DevSim from a VulkanTools build in CI

- Change Travis-CI to build VulkanTools and use the resulting
  DevSim binary instead of the one checked into the repo.
- Delete the DevSim binary and JSON file from layers/linux.
- Remove CMake rules related to DevSim binary.

7 years agoMikeW's private development tools.
Mike Weiblen [Wed, 11 Oct 2017 19:30:05 +0000 (13:30 -0600)]
MikeW's private development tools.

These tools are not intended to be pushed to master.

Includes Makefile for Linux, .bat files for Windows.

7 years agodocs: Update loader doc for pre-instance layers
Lenny Komow [Wed, 27 Dec 2017 22:32:44 +0000 (15:32 -0700)]
docs: Update loader doc for pre-instance layers

Change-Id: I4780d36714a6a15c4c57cd0f6324f640249a9427

7 years agoloader: Add pre-instance functions for layers
Lenny Komow [Tue, 19 Dec 2017 23:38:37 +0000 (16:38 -0700)]
loader: Add pre-instance functions for layers

Allow implicit layers (not explicit) to intercept calls before an
instance has been created.

Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860

7 years agoscripts: Default doc validator to non-verbose mode
Mark Lobodzinski [Mon, 8 Jan 2018 16:08:06 +0000 (09:08 -0700)]
scripts: Default doc validator to non-verbose mode

Change-Id: Ib62e92a3b84609df55179e4868e5030a010f712f

7 years agoscripts: Remove unused source_line_info.py
Mark Lobodzinski [Mon, 8 Jan 2018 16:00:56 +0000 (09:00 -0700)]
scripts: Remove unused source_line_info.py

Change-Id: I1e8db79c88749a9c60469f01838dd1c485061528

7 years agoheader: Update to version 1.0.67 of the Vulkan hdr
Mark Lobodzinski [Mon, 8 Jan 2018 15:17:24 +0000 (08:17 -0700)]
header: Update to version 1.0.67 of the Vulkan hdr

- updated vulkan.h
- updated cgenerator.py
- updated generator.py
- updated reg.py
- updated vk.xml
- updated layer json files
- updated vulkan.hpp
- updated vuid_mapping.py
- updated vk_validation_error_database.txt for spec changes, new VUIDs
- updated vk_validation_error_messages.h

Change-Id: Ifb67cf406aa82bf89e72ccfa4e1320cb3b199656

7 years agodocs: Updates for governance, readme
Mark Lobodzinski [Mon, 8 Jan 2018 15:05:37 +0000 (08:05 -0700)]
docs: Updates for governance, readme

Change-Id: I98fbb73d85b14560c901c86264500c927ac679b4

7 years agoAdd .vscode to .gitignore
Joey Bzdek [Fri, 5 Jan 2018 23:46:04 +0000 (16:46 -0700)]
Add .vscode to .gitignore

Metadata created by new lightweight IDE from microsoft, vscode

Change-Id: Ie250a850d190922e5666e975463d4fa96a1f270e

7 years agobuild: Improve update ext srcs script for better CI
Karl Schultz [Wed, 3 Jan 2018 19:50:46 +0000 (12:50 -0700)]
build: Improve update ext srcs script for better CI

Add options (--debug --release --32 --64) to the
update_external_sources.bat script so that it can
be used to build external libraries for only the
desired platform/configuration combinations.

This helps the AppVeyor CI builds by building only
the platform/configuration combination needed for the
current job.

7 years agolayers: Remove unique_objects ext list generation
Mark Lobodzinski [Wed, 3 Jan 2018 18:25:32 +0000 (11:25 -0700)]
layers: Remove unique_objects ext list generation

Change-Id: I9b958f1799f1cab76a69c4de35590745d3e7a852

7 years agolayers: Create instance & device extension lists
Mark Lobodzinski [Wed, 3 Jan 2018 18:18:31 +0000 (11:18 -0700)]
layers: Create instance & device extension lists

Added constant lists of device and instance extension names to
vk_extension_helper.h.

Change-Id: I4273aea866cbfea176a2631e04223ce92443caf0

7 years agodocs: Updated for README formatting on github
Mark Lobodzinski [Fri, 5 Jan 2018 16:04:50 +0000 (09:04 -0700)]
docs: Updated for README formatting on github

Change-Id: I774ceb555f38eff24d2b69ce83ea638f1ea53138

7 years agodocs: Additional updates and corrections
Mark Lobodzinski [Thu, 4 Jan 2018 23:12:41 +0000 (16:12 -0700)]
docs: Additional updates and corrections

Change-Id: Id2ade62aa11fb013b405e8426fdf4f90a05a48a4

7 years agodocs: Add governance doc, Update readme, contributing
Mark Lobodzinski [Thu, 4 Jan 2018 21:55:26 +0000 (14:55 -0700)]
docs: Add governance doc, Update readme, contributing

Change-Id: I92bebd8a33df564daff1b44633e79b56ffa6ae86

7 years agoicd: GetImageSubresourceLayout zeros passed layout
John Zulauf [Wed, 3 Jan 2018 15:47:35 +0000 (08:47 -0700)]
icd: GetImageSubresourceLayout zeros passed layout

Calling tests use return values from GetImageSubresourceLayout to
compute offsets in texures.  Zero'd values are safe for this usage and
add minimal overhead to icd.

Change-Id: If52cf240925d2f7a41bb22d87519a918be5eb60a

7 years agoicd: Move include to header to fix clang build
Karl Schultz [Tue, 2 Jan 2018 16:10:42 +0000 (09:10 -0700)]
icd: Move include to header to fix clang build

Move include <string> to header file to fix
clang build when using libstdc++.

Fixes #2303

Change-Id: Id2fc97be7cb83fa12ee1495ef57177c0a7dad893

7 years agobuild: Retarget AppVeyor build to VS2013
Mike Schuchardt [Wed, 3 Jan 2018 17:48:34 +0000 (10:48 -0700)]
build: Retarget AppVeyor build to VS2013

Change-Id: I88665dadbac75695034a731412984edbecbf988f

7 years agoloader: Change overzealous warning to debug msg
Lenny Komow [Wed, 3 Jan 2018 17:37:54 +0000 (10:37 -0700)]
loader: Change overzealous warning to debug msg

Change-Id: Idde5f8c8f009e365bdcf1fffaffa669d0557d66b

7 years agobuild: Update BUILD.md to specify VS2013
Mike Schuchardt [Wed, 3 Jan 2018 00:07:18 +0000 (17:07 -0700)]
build: Update BUILD.md to specify VS2013

Change-Id: I7533459cd338e233aad4d81ffc3c22aa87db1937

7 years agoProper decoding for msbuild version number readout
saschawillems [Fri, 29 Dec 2017 18:31:21 +0000 (19:31 +0100)]
Proper decoding for msbuild version number readout

7 years agolayers: Fix git.bat fallback on Windows.
Jamie Madill [Thu, 28 Dec 2017 17:39:51 +0000 (12:39 -0500)]
layers: Fix git.bat fallback on Windows.

This fixes the external revision generator script to first try to
use 'git', then fall back to 'git.bat' if the first invocation throws
a WindowsError.

7 years agobuild: Address clang compilation warnings
Karl Schultz [Sat, 23 Dec 2017 16:16:40 +0000 (09:16 -0700)]
build: Address clang compilation warnings

7 years agoandroid: Roll back to NDK r15c
Cody Northrop [Thu, 21 Dec 2017 16:31:53 +0000 (09:31 -0700)]
android: Roll back to NDK r15c

Until we can sort out issues with NDK r16 preventing us from
completing 32-bit test runs.

7 years agoscripts: Scan CWD in object tracker generator.
Jamie Madill [Wed, 20 Dec 2017 19:45:11 +0000 (14:45 -0500)]
scripts: Scan CWD in object tracker generator.

This makes it more easy to locate a header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.

Also reset the CWD after the header is found to keep the build intact.

This is similar to the change to the parameter validation generator.

7 years agotests: Turn off tr1 namespace deprecation warning
Mike Schuchardt [Mon, 11 Dec 2017 22:46:52 +0000 (15:46 -0700)]
tests: Turn off tr1 namespace deprecation warning

The tr1 namespace is used by Google Test and has been deprecated
starting with Visual Studio 15.5.  Turn off the deprecation warning
until we can update Google Test to prevent the build from failing.

Change-Id: I351170ce015ea7abc18ece4db0a511dae6352bf0

7 years agobuild: Add clang-format checking of pull request changes to CI
Karl Schultz [Mon, 18 Dec 2017 23:16:45 +0000 (16:16 -0700)]
build: Add clang-format checking of pull request changes to CI

Check modified lines in a pull request for correct clang-format.
Note that checking is not performed unless there is a pull request.

Heavily leveraged from https://github.com/KhronosGroup/SPIRV-Tools.

7 years agolayers: Ignore pImmutableSamplers on non-samplers
Petr Kraus [Sun, 17 Dec 2017 16:37:33 +0000 (17:37 +0100)]
layers: Ignore pImmutableSamplers on non-samplers

7 years agoandroid: Update to NDK r16b
Cody Northrop [Mon, 18 Dec 2017 05:05:31 +0000 (22:05 -0700)]
android: Update to NDK r16b

This allows us to switch to libc++ runtime as it is no longer beta:
https://android.googlesource.com/platform/ndk/+/ndk-release-r16/CHANGELOG.md

7 years agoscripts: Scan CWD in parameter validation script.
Jamie Madill [Fri, 15 Dec 2017 20:54:05 +0000 (15:54 -0500)]
scripts: Scan CWD in parameter validation script.

This makes it more easy to locate the header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.

Also reset the CWD after the header is found to keep the build intact.

7 years agoscripts: Prefer git.bat on Windows.
Jamie Madill [Fri, 15 Dec 2017 21:25:16 +0000 (16:25 -0500)]
scripts: Prefer git.bat on Windows.

Calling git.bat seems to work in every instance, whereas some
installations don't have access to "git" directly.

7 years agolayers: Fix Graphics Pipeline pointers not ignored
Petr Kraus [Thu, 14 Dec 2017 19:57:36 +0000 (20:57 +0100)]
layers: Fix Graphics Pipeline pointers not ignored

Some VkGraphicsPipelineCreateInfo pointers must be ignored under some
conditions, but were not in the layers.

Add relevant tests.

Fix tests found broken (using depth or color without attachment in
subpass)

7 years agolayers: VS2013 compatibility
Mike Schuchardt [Wed, 6 Dec 2017 20:31:29 +0000 (13:31 -0700)]
layers: VS2013 compatibility

Remove all usages of constexpr to restore compatibility with Visual Studio
2013.  Also make a handful of other minor edits where the VS2013
compiler was reporting errors.

Change-Id: I3c426bea460a4a902ab306b01deb1d76d60f5fa2

7 years agobuild: Remove clumsy syntax in Travis-CI config
Karl Schultz [Wed, 6 Dec 2017 01:00:11 +0000 (18:00 -0700)]
build: Remove clumsy syntax in Travis-CI config

We were using a clumsy workaround in order to
get good failure information when a Travis-CI build
failed and also to make it stop at the point of
failure.

This commit uses some techniques to workaround
travis-ci/travis-ci#1066, which asserts that
a Travis-CI job should stop when a before_install
or script command fails.  Today, Travis-CI
continues with the next commands.

This was tested with both an intentional build
script error and a compilation error.  In both
cases the Travis-CI job ended at the point of
failure and the logs were clear enough to
diagnose the problem.

7 years agoloader: Fix Clang errors/warnings.
Jamie Madill [Sun, 3 Dec 2017 16:59:17 +0000 (11:59 -0500)]
loader: Fix Clang errors/warnings.

Fixes:

format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Werror,-Wformat]
error : expected ')' (issue with __FUNCTION__ and format string)

7 years agobuild: Change AppVeyor config to use multiple jobs.
Karl Schultz [Sat, 2 Dec 2017 21:17:12 +0000 (14:17 -0700)]
build: Change AppVeyor config to use multiple jobs.

This is a complete rewrite of the AppVeyor config file.

A separate job is used for each config in the Platform-Configuration
matrix.  This helps get around the problem of the 60-minute limit per job.

The invocation of the update_external_sources script has been
replaced with individual commands to build glslang and spirv-tools
only for the platform configuration selected for each job.
This avoids having to build glslang and spirv-tools 4 times for each job.

7 years agolayers: validation_cache review feedback
Cort Stratton [Tue, 28 Nov 2017 00:43:14 +0000 (16:43 -0800)]
layers: validation_cache review feedback

7 years agoFix build errors:
Cort Stratton [Thu, 23 Nov 2017 00:04:23 +0000 (16:04 -0800)]
Fix build errors:

- No more SPIRV-Tools revision file. Instead, the
  revision-parsing script just runs "git rev-parse HEAD"
  in the spirv-tools repository to extract the commit ID.
- Invoke the revision-parsing script from the .sh Android scripts,
  in addition to the .bat scripts.

7 years agoUse SPIRV-Tools commit ID as validation cache version
Cort Stratton [Tue, 7 Nov 2017 03:13:53 +0000 (19:13 -0800)]
Use SPIRV-Tools commit ID as validation cache version

7 years agoloader: fix memory leak for layers with >1 dev_exts
Cort Stratton [Tue, 28 Nov 2017 20:11:05 +0000 (12:11 -0800)]
loader: fix memory leak for layers with >1 dev_exts

7 years agoheader: Update to version 1.0.66 of the Vulkan hdr
Mark Lobodzinski [Mon, 27 Nov 2017 19:00:45 +0000 (12:00 -0700)]
header: Update to version 1.0.66 of the Vulkan hdr

- update vulkan.h
- update Lin/Win json file versions
- update vk.xml
- update vuid_mapping.py
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp
- fixed error in vk.xml, unofficially

Change-Id: Ia719bc069cb776c5b174f41667d591b43aaaf4d7

7 years agolayers: Fix MSVS conversion warning.
Jamie Madill [Wed, 8 Nov 2017 21:25:22 +0000 (16:25 -0500)]
layers: Fix MSVS conversion warning.

This fixes the following:

warning C4245: 'argument': conversion from 'int' to 'unsigned int', signed/unsigned mismatch

It also modifies the build to enable this warning by default.

Change-Id: If2e6c8d43811162a9a382883b3d55a148975fc37