platform/upstream/Vulkan-Loader.git
5 years agotrampoline: extract device cration routine
Felix Dörre [Tue, 11 Dec 2018 17:29:38 +0000 (18:29 +0100)]
trampoline: extract device cration routine

5 years agoloader: VK_EXT_headless_surface additions
Bryan Law-Smith [Mon, 1 Apr 2019 08:45:55 +0000 (09:45 +0100)]
loader: VK_EXT_headless_surface additions

As VK_EXT_headless_surface is a WSI extension, supporting it
requires changes to the loader. This commit makes the necessary
changes, which are mostly straightforward plumbing.

However, this commit also includes a minor tweak to avoid a
segmentation fault when an implicitly enabled layer provides
support for an instance extension.

5 years agorepo: Bump known good to 1.1.107 header
Lenny Komow [Fri, 26 Apr 2019 20:31:44 +0000 (14:31 -0600)]
repo: Bump known good to 1.1.107 header

Change-Id: I7b98293da8a326191cd7787936f373109d60e640

5 years agoRevert "build: Use Vulkan::Headers target for include paths"
Lenny Komow [Tue, 23 Apr 2019 17:29:12 +0000 (11:29 -0600)]
Revert "build: Use Vulkan::Headers target for include paths"

This reverts commit f22cdac76d5cebe4fe354114d6f48861bab477dd.

5 years agoloader: Fix mishandling of loader logging
Lenny Komow [Thu, 18 Apr 2019 17:11:14 +0000 (11:11 -0600)]
loader: Fix mishandling of loader logging

This fixes several instances where loader_log() was being called
incorrectly. It also removes a stray va_start within loader_log()

Change-Id: I6e8a66f999e78367e23241fac489db5efc927719

5 years agoUpdate Dispatch Table update to actual location
John Zulauf [Wed, 17 Apr 2019 21:39:44 +0000 (15:39 -0600)]
Update Dispatch Table update to actual location

DispatchTable struct now has it's own file.  Updated references to the correct file.

5 years agobuild: Use Vulkan::Headers target for include paths
Nuno Subtil [Fri, 8 Feb 2019 04:53:48 +0000 (20:53 -0800)]
build: Use Vulkan::Headers target for include paths

Change-Id: If693b2234d67f90c2e62a0706bac7c4b0e424f4c

5 years agoloader: Support VK_EXT_full_screen_exclusive ext
Lenny Komow [Mon, 15 Apr 2019 20:49:58 +0000 (14:49 -0600)]
loader: Support VK_EXT_full_screen_exclusive ext

This change adds manual handing for new APIs which need to unwrap an
ICD surface handle before calling down to the ICD.

Change-Id: Id64c8021a3d36800af9a59cafe52577a4d5d69ff

5 years agoscripts: Update known-good for 1.1.106 header
Mike Schuchardt [Sat, 16 Mar 2019 17:09:25 +0000 (10:09 -0700)]
scripts: Update known-good for 1.1.106 header

Changes:
- Integrate upstream script changes: We have to plumb-through the new
conventions object to continue using the makeCParamDecl utility function
- Add GGP to available platforms
- Add handling for extension dependencies: Previously, the codegen for
loader trampolines could not handle an extension command that depends on
more than one extension being present. This removes that limitation
- Add checks for device extensions: This adds a check for two functions
at device creation time:
  * VK_KHR_device_group
  * VK_EXT_full_screen_exclusive
The loader needs to know about these extensions for proper handling
of the vkGetDeviceGroupSurfacePresentModes2EXT terminator
- Update known-good file

Updated:
- `loader/loader.c`
- `loader/loader.h`
- `scripts/common_codegen.py`
- `scripts/dispatch_table_helper_generator.py`
- `scripts/helper_file_generator.py`
- `scripts/known_good.json`
- `scripts/loader_extension_generator.py`
- `scripts/loader_genvk.py`

Change-Id: I9f0828a8eee0e8e95b479e1b8feb31acaa10040d

5 years agoloader: Tweak code to better match conventions
Lenny Komow [Fri, 5 Apr 2019 16:57:59 +0000 (10:57 -0600)]
loader: Tweak code to better match conventions

Change-Id: Iaf91c8ea7e57663a8264efe07cf9f24ee17bc496

5 years agoloader: Fix implicit layer override behavior
Lenny Komow [Tue, 2 Apr 2019 00:14:29 +0000 (18:14 -0600)]
loader: Fix implicit layer override behavior

Change-Id: Icb0ce9070b6de1102c319f267fb3eb4a82b2760e

5 years agoloader: Change override mechanics
Lenny Komow [Tue, 26 Feb 2019 04:37:33 +0000 (21:37 -0700)]
loader: Change override mechanics

Previously, the override's layer list was treated as an authoritative
list of layers. Now it uses a whilelist/blacklist so the override can
enabled, disable, or leave a layer alone.

Change-Id: I58db219deb2b6355c56aeb2d00187ac79ad531c2

5 years agoloader: Destroy debug callbacks/messengers properly
Ricardo Garcia [Thu, 14 Mar 2019 11:25:36 +0000 (12:25 +0100)]
loader: Destroy debug callbacks/messengers properly

When creating debug callbacks or messengers, each of them is added to a
linked list from the terminator, with the handle provided by the ICD.

When enabling some validation layers, this handle is renamed as part of
the chain and the application gets a different one.

In the removal process, the application usually receives one of these
function pointers using vkGetInstanceProcAddr:

  - debug_utils_DestroyDebugReportCallbackEXT
  - debug_utils_DestroyDebugUtilsMessengerEXT

Those trigger the chain calls but then try to remove the callback or
messenger from the linked list using the application-level handle, which
is not found because it doesn't match the one from the ICD.

The linked list should be accessed from the destruction terminators,
when the handle has already been unwrapped by the layers.

5 years agodeps: make update_deps.py the same across all repos
Bob Ellison [Thu, 21 Mar 2019 23:21:16 +0000 (17:21 -0600)]
deps: make update_deps.py the same across all repos

Matching update_deps.py from Khronos/Vulkan-Tools, Khronos/Vulkan-Loader,
Khronos/Vulkan-ValidationLayers, LunarG/VulkanSamples, and
LunarG/VulanTools.

5 years agodocs: Update CONTRIBUTING.md for CI process
Mike Weiblen [Thu, 21 Mar 2019 20:31:07 +0000 (14:31 -0600)]
docs: Update CONTRIBUTING.md for CI process

Change-Id: I9ea07d41a917bcd91051514d2ad98a9f0d1908fe

5 years agodocs: Update BUILD.md for CMake versions
Mike Weiblen [Thu, 21 Mar 2019 18:45:59 +0000 (12:45 -0600)]
docs: Update BUILD.md for CMake versions

5 years agodeps: allow a --generator switch to update_deps.py
Bob Ellison [Fri, 15 Mar 2019 23:18:30 +0000 (17:18 -0600)]
deps: allow a --generator switch to update_deps.py

This allows you to use any CMake generator available
on your system to configure the dependent repositories,
allowing you to match the same generator being used by
the project build.

update_deps.py:
- Take a parameter to specify a CMake generator, and pass it to CMake
  if present
- Allow the user to reduce the count of parallel make jobs that can
  happen at one time
- remove an unnecessary semicolon

5 years agobuild: Correct Metal platform name
Shannon McPherson [Wed, 6 Mar 2019 18:46:14 +0000 (11:46 -0700)]
build: Correct Metal platform name

In `common_codegen.py`, the Metal platform was defined without the
"_EXT" suffix

Change-Id: Ied604c46b55c669567517f5b2b7613d8c7f8ae64

5 years agobuild: Use Vulkan::Headers target to determine include paths
Nuno Subtil [Fri, 8 Feb 2019 04:53:48 +0000 (20:53 -0800)]
build: Use Vulkan::Headers target to determine include paths

Change-Id: I73b9b2bfd5e33a9da861937510029cb71f3b2648

5 years agobuild: Update known-good for 1.1.102 header
Shannon McPherson [Tue, 5 Mar 2019 18:02:09 +0000 (11:02 -0700)]
build: Update known-good for 1.1.102 header

Additionally, updated copyright dates and added Metal to the platform
list

Updated:
- `scripts/common_codegen.py`
- `scripts/known_good.json`

Change-Id: I54718d18bff98f24b79d6d7bdf075698f7689885

5 years agoloader: Update `loader.rc` copyright dates
Shannon McPherson [Fri, 1 Mar 2019 03:34:21 +0000 (20:34 -0700)]
loader: Update `loader.rc` copyright dates

Change-Id: If3c51f4d3177ad6745bfcbcf12e37860e306ece5

5 years agodocs: Add copyright internal to file as comment
KarenGhavam-lunarG [Fri, 22 Feb 2019 18:19:59 +0000 (11:19 -0700)]
docs: Add copyright internal to file as comment

Change-Id: Icbe3be658721c6a32bc3867b2dcc065e7ac94e00

5 years agobuild: Update known-good for 1.1.101 header
Shannon McPherson [Wed, 20 Feb 2019 20:52:37 +0000 (13:52 -0700)]
build: Update known-good for 1.1.101 header

Change-Id: Ia8d21df3024394a98cd7be378517b1900d77333c

5 years agodocs: Add Vulkan Logo
KarenGhavam-lunarG [Fri, 15 Feb 2019 18:28:04 +0000 (11:28 -0700)]
docs: Add Vulkan Logo

Adding Vulkan Logo for consistency across Vulkan SDK documentation.
Adding creative commons license (because there was no license on the documentation)

5 years agobuild: Update known-good for 1.1.100 header
Shannon McPherson [Thu, 14 Feb 2019 21:53:39 +0000 (14:53 -0700)]
build: Update known-good for 1.1.100 header

Change-Id: I15103bacaf978d77b0657ed3c361b72ea50452e0

5 years agobuild: Revert known-good to 1.1.97 header
Shannon McPherson [Mon, 11 Feb 2019 18:35:47 +0000 (11:35 -0700)]
build: Revert known-good to 1.1.97 header

Reverting known-good file to 1.1.97 due to a spec bug introduced in the
1.1.99 header

Change-Id: Idaebd56d69ecd8736fc603a3bc4e4ce3e9b7a7d8

5 years agorepo: Bump known good to 1.1.99
Lenny Komow [Tue, 5 Feb 2019 21:33:16 +0000 (14:33 -0700)]
repo: Bump known good to 1.1.99

Change-Id: I8530c6346abece739536c323cfb1c2f6e2461dc6

5 years agoscripts: Merge upstream changes to genvk.py
Mike Schuchardt [Fri, 18 Jan 2019 01:10:24 +0000 (17:10 -0800)]
scripts: Merge upstream changes to genvk.py

5 years agoloader: Fix memory not being zeroed after allocate
Lenny Komow [Tue, 15 Jan 2019 22:11:45 +0000 (15:11 -0700)]
loader: Fix memory not being zeroed after allocate

Change-Id: Iee2abd14ca90c2a3d3725f9c737d70b596dfa122

6 years agorepo: Remove homebrew python installation in CI
Lenny Komow [Thu, 10 Jan 2019 20:37:12 +0000 (13:37 -0700)]
repo: Remove homebrew python installation in CI

The new Travis CI image seems to come with python 3 already installed.
As a result, trying it install it causes a homebrew error.

Change-Id: If627249e3d7ddc8b35df6d31c906cec65b931fec

6 years agoUpdate LICENSE and remove COPYRIGHT
Mark Young [Thu, 10 Jan 2019 00:11:03 +0000 (17:11 -0700)]
Update LICENSE and remove COPYRIGHT

After some discussion, we realized that the COPYRIGHT file was
falling out of date.  Considering that each component that isn't
Apache 2.0 already has it's own LICENSE file, we decided to simplify
our tree.

Change-Id: Ia14dc8f6232bb1caf2d43efc5101be255d5e24eb

6 years agorepo: Bump known good to 1.1.97
Lenny Komow [Wed, 9 Jan 2019 18:41:10 +0000 (11:41 -0700)]
repo: Bump known good to 1.1.97

Change-Id: I77de536aab5d98fafefa87aea552824688bab4c9

6 years agolayers: make win-build happy
Felix Dörre [Sun, 9 Dec 2018 18:49:48 +0000 (19:49 +0100)]
layers: make win-build happy

6 years agofmt: use formatting as suggested by CI
Felix Dörre [Sun, 9 Dec 2018 18:48:03 +0000 (19:48 +0100)]
fmt: use formatting as suggested by CI

6 years agotests: enhance layer tests to be able to handle VkCreateDevice
Felix Dörre [Sun, 9 Dec 2018 16:09:23 +0000 (17:09 +0100)]
tests: enhance layer tests to be able to handle VkCreateDevice

6 years agotests: enhance wrapped objects test
Felix Dörre [Tue, 4 Dec 2018 00:34:47 +0000 (01:34 +0100)]
tests: enhance wrapped objects test

6 years agoloader: Add comment to duplicate logic
Piers Daniell [Thu, 13 Dec 2018 20:58:11 +0000 (13:58 -0700)]
loader: Add comment to duplicate logic

Change-Id: Ib48dd217d18fb05963ae9194d9bc5057eeabee58

6 years agoloader: Remove duplicate scanned json files
Piers Daniell [Thu, 13 Dec 2018 20:29:48 +0000 (13:29 -0700)]
loader: Remove duplicate scanned json files

Change-Id: Ia0f222e5f7d8ac5448f341916aaa80380a2af6af

6 years agotests: Flock the implicit layer test
Jeremy Hayes [Tue, 18 Dec 2018 20:35:31 +0000 (13:35 -0700)]
tests: Flock the implicit layer test

Fix #121

Change-Id: I2e060a3ddda3bf919d6be8a3e0af7169ac0fee63

6 years agorepo: Bump known good to 1.1.96
Lenny Komow [Tue, 18 Dec 2018 00:16:47 +0000 (17:16 -0700)]
repo: Bump known good to 1.1.96

Change-Id: I2350da2fe487dc3c2031deec9cf3df57cc988136

6 years agodocs: Add explanation of version tagging scheme
Shannon McPherson [Tue, 18 Dec 2018 16:49:00 +0000 (09:49 -0700)]
docs: Add explanation of version tagging scheme

Change-Id: Ie33ffe2d58f737a98b28a51cb90026bfdbcbd88a

6 years agodocs: Fix grammar and consistency in loader doc
Bob Ellison [Thu, 13 Dec 2018 17:41:53 +0000 (10:41 -0700)]
docs: Fix grammar and consistency in loader doc

LoaderAndLayerInterface.md:
- entry-point => entry point
- MacOS => macOS (except in API function names)
- on the applications surfaces => on the application's surfaces
- Because layers are optionally, => Because layers are optional,
- a child of a one of the above => a child of one of the above
- action / operation => action or operation
- fixed indentation of the dispatch table description to what I think was intended
- the application and/or system can specify => the application and the system can each specify
- linking to the .dll and .so versions of the loader => linking to the dynamic versions of the loader
  (because .dylib is also a dynamic link)
- platform specific => platform-specific
- dlsym() => `dlsym` (to match usage elsewhere)
- setup => set up (when used as a verb)
- don't break link references across lines
  e.g. [XX XX XX XX](YY) should never be broken in the YY clause
- 3 enabled layers => three enabled layers (spell numbers up to 10)
- backwards compatibility => backward compatibility
- Windows paths use "\" instead of "/"
- libXXX.YYY => `libXXX.YYY` (to match usage elsewhere)
- Layers => layers (to match usage elsewhere, where "Layers" isn't a capitalized term)
- bottommost => bottom-most (for consistency elsewhere)
- the VK_LAYER_XXX ... => the VK_LAYER_XXX layer (for consistency elsewhere)
- either end all list or table items with periods, or none of them
- Khronos approved => Khronos-approved
- hand-shake => handshake
- logical device (This depends => logical device (this depends
- other-hand => other hand
- filtering out of => filtering of
- JSON formatted => JSON-formatted
- /path/to/something => `/path/to/something` (to match usage elsewhere)
- system wide registries => system registries
- fixed some "*" entries (which generally must be escaed, "\*", in markdown)
- environment variable enabled layer => environment-variable-enabled layer
- The implementation of each intercept functions is => The implementation fo each intercept function is
- corrected some "it's" to "its", and vice versa
- the extension suffix of the file ends with ".json" => the extension suffix of the file is ".json"
- added commas to fix illegal JSON file content
- semi-colon separated => semi-colon-separated
- other minor grammar and consistency fixes

6 years agoCMake: Unset linker flags before testing ASM compilation
Rémi Verschelde [Mon, 10 Dec 2018 20:38:10 +0000 (21:38 +0100)]
CMake: Unset linker flags before testing ASM compilation

Otherwise compilation would fail (at least on Linux with GCC) if the
'LDFLAGS' environment variable, or CMAKE_EXE_LINKER_FLAGS, are set to
any value that isn't supported by 'ld' for ASM, which means most C/C++
linker flags.

6 years agobuild: Update Travis-CI to Ubuntu 16.04
Karl Schultz [Thu, 6 Dec 2018 17:38:46 +0000 (10:38 -0700)]
build: Update Travis-CI to Ubuntu 16.04

6 years agorepo: Bump known good to 1.1.95
Lenny Komow [Tue, 4 Dec 2018 22:17:10 +0000 (15:17 -0700)]
repo: Bump known good to 1.1.95

Change-Id: Ie498d9e2811bc2b9f4af15be96bd0df1f6cc9a06

6 years agotests: Modify `vk_layer_logging.h` for hdr 1.1.95
Shannon McPherson [Mon, 3 Dec 2018 18:20:52 +0000 (11:20 -0700)]
tests: Modify `vk_layer_logging.h` for hdr 1.1.95

The `VkDebugUtilsObjectNameInfoEXT` member of the
`VkDebugUtilsMessengerCallbackDataEXT` struct was turned const in Vulkan
header 1.1.95 and modifications were required for compilation

Change-Id: I0e52d821239a2b74c8880864a9522359f2285d72

6 years agodocs: Use "ICD" instead of "layer" in ICD info
Wang YanQing [Sat, 17 Nov 2018 14:07:41 +0000 (22:07 +0800)]
docs: Use "ICD" instead of "layer" in ICD info

Although an ICD is a layer too, in this context, using "ICD" is better
than using "layer".

Change-Id: Ic9619c0a99412c34aaba40cf4c1cc2187a00731b
Signed-off-by: Wang YanQing <udknight@gmail.com>
6 years agorepo: Bump known good to 1.1.94
Lenny Komow [Wed, 28 Nov 2018 22:20:31 +0000 (15:20 -0700)]
repo: Bump known good to 1.1.94

Change-Id: Ib3b17bb464e8aea4907ccff1f96e3e890884133b

6 years agoloader: Fix unwrapped loader instance being used
Lenny Komow [Tue, 27 Nov 2018 18:08:02 +0000 (11:08 -0700)]
loader: Fix unwrapped loader instance being used

Change-Id: I64cbfa42e2e2ac83a6977acd59e6fff6bc6f73ef

6 years agoloader: Downgrade layer json warning to info
Lenny Komow [Mon, 12 Nov 2018 20:52:50 +0000 (13:52 -0700)]
loader: Downgrade layer json warning to info

The loader used to warn when using the vkGet*ProcAddr fields
in a layer json file from 1.1.0 on. However, it was desirable for
applications to still use this field to allow support from older
loaders. As such, this is no longer a warning.

Change-Id: I401febffe0a15081772dd4a791f5fffbd98d6ac9

6 years agorepo: Bump known good to 1.1.92
Lenny Komow [Mon, 12 Nov 2018 18:03:38 +0000 (11:03 -0700)]
repo: Bump known good to 1.1.92

Change-Id: I850fe7799cd13405c3505c164758292a07e2c6c0

6 years agoloader: Fix override expiration functionality
Lenny Komow [Mon, 12 Nov 2018 18:02:23 +0000 (11:02 -0700)]
loader: Fix override expiration functionality

Change-Id: Ib2415cb1a9218930dc68827abdd1587bd0672342

6 years agoscripts: Fix windows paths in helper.cmake
Mike Schuchardt [Fri, 9 Nov 2018 00:44:13 +0000 (16:44 -0800)]
scripts: Fix windows paths in helper.cmake

Normalize (all slashes going the same direction) and escape ("\" to "\\")
paths when writing helper.cmake.  CMake was previously interpreting the
single '\' characters and whatever followed as invalid escape sequences.
Linux and macOS are unaffected.

6 years agorepo: Fix MacOS travis build
Lenny Komow [Thu, 8 Nov 2018 18:01:56 +0000 (11:01 -0700)]
repo: Fix MacOS travis build

Travis changed its images to no longer have oclint installed by
default. This means we need to stop manually removing it.

Change-Id: I75790e7fb25815f509cbeb5ee6d5e1902cbc8a98

6 years agoloader: Fix double free when enabling override
Lenny Komow [Thu, 8 Nov 2018 17:26:54 +0000 (10:26 -0700)]
loader: Fix double free when enabling override

Change-Id: I92f0012528bf1fb4cd9acf3053a4850665b225e8

6 years agoloader: Fix mac bundle logic
Lenny Komow [Wed, 7 Nov 2018 22:27:30 +0000 (15:27 -0700)]
loader: Fix mac bundle logic

Change-Id: Id8eade275293d4812ecf3fb6ee8e6e1f4ed51885

6 years agoscripts: Remove Mir exceptions from codegen
Lenny Komow [Tue, 6 Nov 2018 21:49:42 +0000 (14:49 -0700)]
scripts: Remove Mir exceptions from codegen

Change-Id: Ief43a6294c4cd1a9397d6c6630bb0319c62f387c

6 years agorepo: Bump known good to 1.1.91
Lenny Komow [Tue, 6 Nov 2018 21:16:30 +0000 (14:16 -0700)]
repo: Bump known good to 1.1.91

Change-Id: Icae25bc3fbd2408c19efa0a647154380ffc4b17b

6 years agoloader: Fix VK_EXT_debug_utils termination
Mark Young [Wed, 31 Oct 2018 14:54:43 +0000 (08:54 -0600)]
loader: Fix VK_EXT_debug_utils termination

Some of the commands aren't needed in the loader, but this would
cause command chains to crash when they hit the NULL.
Also, the ICDs expect the commands to come through vkGetInstantProcAddr
not vkGetDeviceProcAddr.  So, we need to redirect them when generating
the ICD dispatch table because the device commands in the instance
extension exist in the device dispatch table but need to call into
the ICD using the instance queries.

Change-Id: I24cd0ea4f3e5058b1137881452df75bf1ff7487a

6 years agoloader: Fix python3 warning
Mark Young [Tue, 30 Oct 2018 22:48:10 +0000 (16:48 -0600)]
loader: Fix python3 warning

Python 3.8 will remove time.clock() and the warnings suggest that
time.process_time() or time.perf_counter() should be used instead.
So, move the script to using time.process_time().

Change-Id: I982da1560adec4aab49f42936334e520456647c1

6 years agoscripts: Compare to `None` using `is` operator
Michał Janiszewski [Tue, 30 Oct 2018 22:22:03 +0000 (23:22 +0100)]
scripts: Compare to `None` using `is` operator

This is a trivial change that replaces `==` operator with `is` operator, following PEP 8 guideline:

> Comparisons to singletons like None should always be done with is or is not, never the equality operators.

https://legacy.python.org/dev/peps/pep-0008/#programming-recommendations

Change-Id: I4f9f6c921e4158365d4e41965bfcd43b7a3c07e0

6 years agorepo: Bump known good to 1.1.90
Lenny Komow [Wed, 31 Oct 2018 17:13:09 +0000 (11:13 -0600)]
repo: Bump known good to 1.1.90

Change-Id: If494bd4abe7817d358eaa3966dd82e1c582cbd85

6 years agoloader: Fix unknown type
Tobin Ehlis [Wed, 31 Oct 2018 16:00:02 +0000 (10:00 -0600)]
loader: Fix unknown type

Set var to VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT instead of
VK_OBJECT_TYPE_UNKNOWN.

6 years agobuild: fix ninja on windows
Jeremy Hayes [Mon, 29 Oct 2018 21:57:54 +0000 (15:57 -0600)]
build: fix ninja on windows

Use target_compile_options to avoid setting invalid compile options on
asm targets.

Change-Id: I5d95cfd77a2d515f41c7b8c2c9193f3aff906be7

6 years agoRevert "build: Fix ninja on windows build"
Jeremy Hayes [Mon, 29 Oct 2018 19:56:59 +0000 (13:56 -0600)]
Revert "build: Fix ninja on windows build"

This reverts commit 41e6a818ff70370cf4d190d9141ee3caecf01806.

Change-Id: I48f98533126354a8c310aca7dfb321c560873955

6 years agoscripts: Extend scope of LaTeX handling
Shannon McPherson [Mon, 29 Oct 2018 17:25:49 +0000 (11:25 -0600)]
scripts: Extend scope of LaTeX handling

The 1.1.90 header introduced the use of "\textrm" in `vk.xml`, requiring
changes to `scripts/helper_file_generator.py`

Change-Id: I0ee5012611d95cfdd1715a4e870a3b2b4e7556ee

6 years agoloader: Fix multiple SubmitDebugUtils callbacks
Mark Young [Mon, 29 Oct 2018 20:54:37 +0000 (14:54 -0600)]
loader: Fix multiple SubmitDebugUtils callbacks

If an ICD also supported the VK_EXT_debug_utils extension, then
any call to vkSubmitDebutUtilsMessageEXT would get duplicated.

Change-Id: Ica3224ee598a99a925ec9343b6618d4d8ba190d0

6 years agoloader: Fix vkSubmitDebugUtilsMessageEXT
Mark Young [Mon, 29 Oct 2018 17:09:55 +0000 (11:09 -0600)]
loader: Fix vkSubmitDebugUtilsMessageEXT

If the object count was 0, then no message was reported by the loader.

Change-Id: Ia809d193fb117e85742af0db9856f896be0b2ea3

6 years agorepo: Remove MIR specific code
Tony-LunarG [Tue, 23 Oct 2018 20:08:03 +0000 (14:08 -0600)]
repo: Remove MIR specific code

Note that references in scripts/common_codegen.py and
scripts/loader_extension_generator.py will need to be
removed later

Change-Id: I7b17c80f7a06a339d7df0c199ff556212a7c6534

6 years agorepo: Fix Travis CI job for MacOS
Lenny Komow [Wed, 24 Oct 2018 20:10:27 +0000 (14:10 -0600)]
repo: Fix Travis CI job for MacOS

A change in the MacOS images caused a conflict when upgrading python3.
This change removes oclint first, since that package is the source of
the conflict

Change-Id: I990a7b0eb1f91f51fcc2ad2a0db120af49c7a754

6 years agoloader: Handle vkGetDeviceQueue2 correctly
John Anthony [Tue, 18 Sep 2018 12:19:48 +0000 (14:19 +0200)]
loader: Handle vkGetDeviceQueue2 correctly

Change-Id: I15f7677d5c6d8b4f0ff62bb7d371d173d58ae5f4

6 years agorepo: Update known good to 1.1.89
Lenny Komow [Mon, 22 Oct 2018 23:01:46 +0000 (17:01 -0600)]
repo: Update known good to 1.1.89

Change-Id: I31a45bd5e7ce076afab6e035a3fc2803be00b90f

6 years agorepo: Disable gcc 8 stringop warnings
Lenny Komow [Mon, 22 Oct 2018 22:34:26 +0000 (16:34 -0600)]
repo: Disable gcc 8 stringop warnings

GCC 8 introduced some new "stringop" wanrings. The loader deliberately
does things that trigger these warnings. As such, they should be
disabled

Change-Id: I08f640fae2930a06cbdd48095f11febfc9e866ed

6 years agoloader: Resolve incorrect error in create instance
Lenny Komow [Mon, 22 Oct 2018 19:16:56 +0000 (13:16 -0600)]
loader: Resolve incorrect error in create instance

Change-Id: Ib3f99bb150ddf9aaa36cbe08919d737f2636baf6

6 years agoloader: Override layer support and settings
Lenny Komow [Wed, 3 Oct 2018 23:44:02 +0000 (17:44 -0600)]
loader: Override layer support and settings

Add support for an override layer in the loader. This allows layers
to be set by an outside application.

Revamp the logic to detect manifest files in the various paths that
we allow them to be placed. This code significantly rewrites
loader_get_manifest_files.

Change-Id: I8abf558864b66eb71ee026ca559b0126cf2fa4e9

6 years agobuild: Fix ninja on windows build
Jeremy Hayes [Thu, 18 Oct 2018 19:09:54 +0000 (13:09 -0600)]
build: Fix ninja on windows build

Change-Id: Ie15d8a47636d228732950fb5b3462a2819d5b2af

6 years agorepo: Bump known good to 1.1.87
Lenny Komow [Thu, 11 Oct 2018 17:06:00 +0000 (11:06 -0600)]
repo: Bump known good to 1.1.87

Change-Id: If238e0fe6462cf90952d4c0132b49b46bbe96a4e

6 years agoCreate CODE_OF_CONDUCT.md
Khronos Group Webmaster [Wed, 10 Oct 2018 20:06:35 +0000 (16:06 -0400)]
Create CODE_OF_CONDUCT.md

6 years agotests: Use specific version of gtest for CI
Tony-LunarG [Wed, 3 Oct 2018 23:54:41 +0000 (17:54 -0600)]
tests: Use specific version of gtest for CI

6 years agoscripts: Add fuchsia to platform dictionary
Shannon McPherson [Mon, 8 Oct 2018 19:43:26 +0000 (13:43 -0600)]
scripts: Add fuchsia to platform dictionary

Change-Id: I229825efa86109e3e24de722fac52179963d3e70

6 years agoRevert LICENSE to Apache 2.0
Khronos Group Webmaster [Wed, 3 Oct 2018 14:18:32 +0000 (10:18 -0400)]
Revert LICENSE to Apache 2.0

6 years agoUpdate LICENSE.txt
Khronos Group Webmaster [Thu, 27 Sep 2018 20:25:11 +0000 (16:25 -0400)]
Update LICENSE.txt

Change Apache 2.0 to Khronos Apache 2.0 CLA

6 years agobuild: Sync update_deps.py
Jeremy Kniager [Thu, 30 Aug 2018 14:18:43 +0000 (08:18 -0600)]
build: Sync update_deps.py

Syncing changes made to update_deps.py
in Vulkan-ValidationLayers.

Change-Id: If617596654b982023ee883fe131390c760c53532

6 years agorepo: Update known good to 1.1.85 headers
Lenny Komow [Thu, 20 Sep 2018 17:38:22 +0000 (11:38 -0600)]
repo: Update known good to 1.1.85 headers

Change-Id: If1383facdfcd39b9ac07164574bb6264dcc82100

6 years agobuild: CMakeLists.txt cleanup, part 1
Mike Weiblen [Thu, 20 Sep 2018 18:12:14 +0000 (12:12 -0600)]
build: CMakeLists.txt cleanup, part 1

This is a first pass reorganization of CMake files in this repo.
It consists primarily of dead code/variable removal, simplification,
and reformatting by latest cmake-format.

bump to cmake_minimum_required(3.4) for ccache

simplify excessive use of generator expressions

clarify why CMAKE_OSX_DEPLOYMENT_TARGET is pre-project().

clarify setting Windows install prefix if needed

remove unused DisplayServer variable

remove obsolete argument to endif()

remove unneeded ccache property RULE_LAUNCH_LINK

ccache doesn't affect linking, so the property is meaningless.

remove unneeded CMAKE_VERBOSE_MAKEFILE hardcode.

remove extra CMAKE_MODULE_PATH

remove extra cmake_minimum_required

change PYTHON_CMD to PYTHON_EXECUTABLE

change CMAKE_SYSTEM_NAME to UNIX/APPLE/WIN32
    Use consistent platform identification.
    Note that UNIX evaluates true for OSX, so whenever the code intends
    "Linux only", we use (UNIX AND NOT APPLE).

remove unneeded TARGET_NAMES variable

remove unneeded VK_LAYER_RPATH variable

change 'ln -sf' to 'cmake -E create_symlink'

reorder dependencies for clarity

rearrange order of macro arguments

rename run_vk_xml_generate to GenerateFromVkXml
rename add_vk_layer to AddVkLayer
    Borrowing from the Google style guide, use camel-case
    to more easily identify locally-defined macros/functions.

remove unneeded WRAP_SRCS variable

remove unneeded TEST_SRCS variable

move check of VulkanRegistry_FOUND

move SCRIPTS_DIR closer to point of use

move include(FindPkgConfig) earlier

move CMAKE_MACOSX_RPATH earlier

move option() eariler

move GenerateFromVkXml invocations earlier

Move invocations to be closer to the definition of the macro.
Minor edits to comments.

move API_NAME earlier

remove unused BUILDTGT_DIR variable

move add_executable() earlier

combine if(WIN32) trees

.cmake-format.py 0.4.1

reformat using cmake-format 0.4.1

Change-Id: Ia251e932dbc9a8f2655201bb12248dea8c940c30

6 years agorepo: Update known-good to 1.1.84
Lenny Komow [Tue, 11 Sep 2018 17:17:15 +0000 (11:17 -0600)]
repo: Update known-good to 1.1.84

Change-Id: I73b1337dad35d7ecf28c6acfc61c37832cc4497b

6 years agoloader: Fix unused variable compiler warning
Lenny Komow [Tue, 11 Sep 2018 15:33:03 +0000 (09:33 -0600)]
loader: Fix unused variable compiler warning

Change-Id: I331c532e55034f004b55e2738214c0301a08375e

6 years agoloader: Fix overzealous duplicate manifest warning
Lenny Komow [Thu, 23 Aug 2018 20:19:43 +0000 (14:19 -0600)]
loader: Fix overzealous duplicate manifest warning

This downgrades the warning when a manifest file is given multiple
times to a debug message (previously it was a warning). This is
because any Windows system that has multiple GPUs that use the same
driver will encounter duplicates as correct behavior.

Change-Id: Id64f4c34d58c4b806164b3e7cd7a07dab36ab88f

6 years agorepo: Bump known good to 1.1.83
Lenny Komow [Tue, 21 Aug 2018 20:23:33 +0000 (14:23 -0600)]
repo: Bump known good to 1.1.83

Change-Id: Ie85da5d3a20b8bad4f4c4a5f7429c0fb7463a7b2

6 years agoloader: Add missing entry point to gpa helper
Lenny Komow [Tue, 21 Aug 2018 16:48:56 +0000 (10:48 -0600)]
loader: Add missing entry point to gpa helper

Resolves an issue where vkGetBufferMemoryRequirements2 was not present
in gpa helper, which caused problems when calling GetProcAddr

Change-Id: I40933ec5adba54b09b88200d46b307150bb52d9d

6 years agobuild: Correct Windows architecture options
Shannon McPherson [Wed, 8 Aug 2018 21:13:49 +0000 (15:13 -0600)]
build: Correct Windows architecture options

6 years agobuild: Unify `update_deps.py` between repos
Shannon McPherson [Wed, 8 Aug 2018 20:20:59 +0000 (14:20 -0600)]
build: Unify `update_deps.py` between repos

6 years agodocs: Fix path typo in interface doc
Petr Kraus [Tue, 7 Aug 2018 15:40:05 +0000 (17:40 +0200)]
docs: Fix path typo in interface doc

6 years agoloader: Remove layer negotiation from device chain
Lenny Komow [Fri, 3 Aug 2018 21:00:44 +0000 (15:00 -0600)]
loader: Remove layer negotiation from device chain

Previously, when the loader created a device chain it would attempt
to negotiate the layer interface version. Now, it just saves the
version when creating the instance chain.

Change-Id: I8a48914474e5600e023d837b01198c23da9c8464

6 years agoloader: Save gipa and gpda ptrs in instance chain
Karl Schultz [Thu, 2 Aug 2018 23:58:42 +0000 (17:58 -0600)]
loader: Save gipa and gpda ptrs in instance chain

Change-Id: Iaf7d0084cbeb41e7542787a5b013a918a2431b82

6 years agoloader: Fix VK_EXT_debug_utils crash
Lenny Komow [Thu, 2 Aug 2018 23:24:14 +0000 (17:24 -0600)]
loader: Fix VK_EXT_debug_utils crash

Fix a crash where the debug utils extension would crash if no layers
were present that implemented a given entry point.

Change-Id: Ied1da23dfdc952893a5aaad4ae01f69bd6010523

6 years agorepo: Bump known good to 1.1.82 headers
Lenny Komow [Mon, 30 Jul 2018 16:30:14 +0000 (10:30 -0600)]
repo: Bump known good to 1.1.82 headers

Change-Id: I7ac0d6f31bd1c09d37a6436c022769bd134fea58

6 years agoFix build with CFLAGS="-std=c11 -D_GNU_SOURCE"
Tom Anderson [Thu, 26 Jul 2018 00:10:16 +0000 (17:10 -0700)]
Fix build with CFLAGS="-std=c11 -D_GNU_SOURCE"

6 years agorepo: Bump known good to 1.1.81 headers
Lenny Komow [Tue, 24 Jul 2018 22:10:55 +0000 (16:10 -0600)]
repo: Bump known good to 1.1.81 headers

Change-Id: I1da4208c4a57914e3795eef5907128d350029b1a

6 years agodocs: Remove vk_layer_dispatch_table.h from BUILD.md
Mike Weiblen [Tue, 24 Jul 2018 23:07:49 +0000 (17:07 -0600)]
docs: Remove vk_layer_dispatch_table.h from BUILD.md

Change-Id: I34fded0bcc970fd09640993ed4dfd67fbc29dcbe