Lenny Komow [Mon, 2 Oct 2017 23:11:05 +0000 (17:11 -0600)]
loader: Add new core 1.1 entry points
Lenny Komow [Mon, 2 Oct 2017 21:58:17 +0000 (15:58 -0600)]
loader: Fix windows build
Lenny Komow [Mon, 2 Oct 2017 21:32:55 +0000 (15:32 -0600)]
loader: Fix loader marking 1.1 cmds as required
Lenny Komow [Mon, 2 Oct 2017 21:09:30 +0000 (15:09 -0600)]
tests: Fix loader test capitalization
Lenny Komow [Mon, 2 Oct 2017 21:08:53 +0000 (15:08 -0600)]
loader: Move manual KHR exts to core
Mark Lobodzinski [Mon, 23 Oct 2017 21:31:56 +0000 (15:31 -0600)]
loader: Update vulkan version location
Mark Lobodzinski [Tue, 24 Oct 2017 19:41:18 +0000 (13:41 -0600)]
scripts: Update generators for 1.1
Mark Lobodzinski [Thu, 28 Sep 2017 21:12:02 +0000 (15:12 -0600)]
scripts: Avoid duplicates in enum string helper
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.
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
Mark Lobodzinski [Mon, 18 Sep 2017 22:28:27 +0000 (16:28 -0600)]
header: KHX->KHR name changes
Mark Lobodzinski [Mon, 18 Sep 2017 21:13:54 +0000 (15:13 -0600)]
scripts: Update lvl_genvk.py with 1.1 changes
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.
Mark Lobodzinski [Tue, 6 Mar 2018 15:12:19 +0000 (08:12 -0700)]
docs: Update Contributing.md for msg output info
Change-Id: Iab9831c798970334808c5d0784e1e5128f05c6f6
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.
Karl Schultz [Tue, 12 Dec 2017 15:33:01 +0000 (10:33 -0500)]
macOS: Add macOS support
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
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
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
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
Karl Schultz [Tue, 27 Feb 2018 17:47:00 +0000 (10:47 -0700)]
docs: fix markdown lint issues in BUILD.md
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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
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
Mark Lobodzinski [Tue, 23 Jan 2018 22:56:01 +0000 (15:56 -0700)]
cmake: Fix glslang validator cmake hint path
Change-Id: I098b4ce4dcb924bcc1fc15da50332118a0756a43
Mark Lobodzinski [Mon, 22 Jan 2018 23:42:02 +0000 (16:42 -0700)]
cmake: Fix externals for submodule/subtree builds
Change-Id: Ia1c31ff75c9bf5c3d1ae9b903213437c3ae1ef06
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
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
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
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
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
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
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
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
Lenny Komow [Mon, 15 Jan 2018 22:43:36 +0000 (15:43 -0700)]
loader: Clean up mutexes on destruction
Change-Id: I7d1524da9167a576420c109ebbce8ebb5121cad0
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.
Mike Weiblen [Tue, 16 Jan 2018 18:54:01 +0000 (11:54 -0700)]
Revert "MikeW's private development tools."
This reverts commit
b103ee6a86b3296c4db52598d77ce792127a6082.
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
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.
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.
Lenny Komow [Wed, 27 Dec 2017 22:32:44 +0000 (15:32 -0700)]
docs: Update loader doc for pre-instance layers
Change-Id: I4780d36714a6a15c4c57cd0f6324f640249a9427
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
Mark Lobodzinski [Mon, 8 Jan 2018 16:08:06 +0000 (09:08 -0700)]
scripts: Default doc validator to non-verbose mode
Change-Id: Ib62e92a3b84609df55179e4868e5030a010f712f
Mark Lobodzinski [Mon, 8 Jan 2018 16:00:56 +0000 (09:00 -0700)]
scripts: Remove unused source_line_info.py
Change-Id: I1e8db79c88749a9c60469f01838dd1c485061528
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
Mark Lobodzinski [Mon, 8 Jan 2018 15:05:37 +0000 (08:05 -0700)]
docs: Updates for governance, readme
Change-Id: I98fbb73d85b14560c901c86264500c927ac679b4
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
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.
Mark Lobodzinski [Wed, 3 Jan 2018 18:25:32 +0000 (11:25 -0700)]
layers: Remove unique_objects ext list generation
Change-Id: I9b958f1799f1cab76a69c4de35590745d3e7a852
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
Mark Lobodzinski [Fri, 5 Jan 2018 16:04:50 +0000 (09:04 -0700)]
docs: Updated for README formatting on github
Change-Id: I774ceb555f38eff24d2b69ce83ea638f1ea53138
Mark Lobodzinski [Thu, 4 Jan 2018 23:12:41 +0000 (16:12 -0700)]
docs: Additional updates and corrections
Change-Id: Id2ade62aa11fb013b405e8426fdf4f90a05a48a4
Mark Lobodzinski [Thu, 4 Jan 2018 21:55:26 +0000 (14:55 -0700)]
docs: Add governance doc, Update readme, contributing
Change-Id: I92bebd8a33df564daff1b44633e79b56ffa6ae86
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
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
Mike Schuchardt [Wed, 3 Jan 2018 17:48:34 +0000 (10:48 -0700)]
build: Retarget AppVeyor build to VS2013
Change-Id: I88665dadbac75695034a731412984edbecbf988f
Lenny Komow [Wed, 3 Jan 2018 17:37:54 +0000 (10:37 -0700)]
loader: Change overzealous warning to debug msg
Change-Id: Idde5f8c8f009e365bdcf1fffaffa669d0557d66b
Mike Schuchardt [Wed, 3 Jan 2018 00:07:18 +0000 (17:07 -0700)]
build: Update BUILD.md to specify VS2013
Change-Id: I7533459cd338e233aad4d81ffc3c22aa87db1937
saschawillems [Fri, 29 Dec 2017 18:31:21 +0000 (19:31 +0100)]
Proper decoding for msbuild version number readout
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.
Karl Schultz [Sat, 23 Dec 2017 16:16:40 +0000 (09:16 -0700)]
build: Address clang compilation warnings
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.
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.
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
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.
Petr Kraus [Sun, 17 Dec 2017 16:37:33 +0000 (17:37 +0100)]
layers: Ignore pImmutableSamplers on non-samplers
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
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.
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.
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)
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
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.
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)
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.
Cort Stratton [Tue, 28 Nov 2017 00:43:14 +0000 (16:43 -0800)]
layers: validation_cache review feedback
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.
Cort Stratton [Tue, 7 Nov 2017 03:13:53 +0000 (19:13 -0800)]
Use SPIRV-Tools commit ID as validation cache version
Cort Stratton [Tue, 28 Nov 2017 20:11:05 +0000 (12:11 -0800)]
loader: fix memory leak for layers with >1 dev_exts
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
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