-
ee6f5ed0
by Shannon McPherson
at 2019-03-01T03:34:21Z
loader: Update `loader.rc` copyright dates
Change-Id: If3c51f4d3177ad6745bfcbcf12e37860e306ece5
-
210ca44c
by Shannon McPherson
at 2019-03-05T20:07:21Z
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
-
7c4909fb
by Nuno Subtil
at 2019-03-05T20:49:11Z
build: Use Vulkan::Headers target to determine include paths
Change-Id: I73b9b2bfd5e33a9da861937510029cb71f3b2648
-
2f0abfcf
by Shannon McPherson
at 2019-03-06T18:46:14Z
build: Correct Metal platform name
In `common_codegen.py`, the Metal platform was defined without the
"_EXT" suffix
Change-Id: Ied604c46b55c669567517f5b2b7613d8c7f8ae64
-
ae3d877d
by Bob Ellison
at 2019-03-18T20:47:20Z
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
-
a1230abd
by Mike Weiblen
at 2019-03-21T18:45:59Z
docs: Update BUILD.md for CMake versions
-
848a98f3
by Mike Weiblen
at 2019-03-21T20:31:07Z
docs: Update CONTRIBUTING.md for CI process
Change-Id: I9ea07d41a917bcd91051514d2ad98a9f0d1908fe
-
4273a371
by Bob Ellison
at 2019-03-26T22:00:30Z
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.
-
2bc7afaf
by Ricardo Garcia
at 2019-04-03T14:36:29Z
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.
-
2a680fb2
by Lenny Komow
at 2019-04-05T17:34:10Z
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
-
cccc2692
by Lenny Komow
at 2019-04-05T17:34:10Z
loader: Fix implicit layer override behavior
Change-Id: Icb0ce9070b6de1102c319f267fb3eb4a82b2760e
-
c2c2abeb
by Lenny Komow
at 2019-04-05T17:34:10Z
loader: Tweak code to better match conventions
Change-Id: Iaf91c8ea7e57663a8264efe07cf9f24ee17bc496
-
1df2ebd3
by Mike Schuchardt
at 2019-04-08T22:38:37Z
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
-
c51f36f9
by Lenny Komow
at 2019-04-15T21:35:58Z
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
-
f22cdac7
by Nuno Subtil
at 2019-04-18T00:58:56Z
build: Use Vulkan::Headers target for include paths
Change-Id: If693b2234d67f90c2e62a0706bac7c4b0e424f4c
-
54474dba
by John Zulauf
at 2019-04-18T16:33:59Z
Update Dispatch Table update to actual location
DispatchTable struct now has it's own file. Updated references to the correct file.
-
15d333fc
by Lenny Komow
at 2019-04-19T20:03:51Z
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
-
edc8fbe9
by Lenny Komow
at 2019-04-23T17:29:12Z
Revert "build: Use Vulkan::Headers target for include paths"
This reverts commit f22cdac76d5cebe4fe354114d6f48861bab477dd.
-
8df99b31
by Lenny Komow
at 2019-04-26T21:21:23Z
repo: Bump known good to 1.1.107 header
Change-Id: I7b98293da8a326191cd7787936f373109d60e640
-
5730569e
by Bryan Law-Smith
at 2019-04-26T21:23:45Z
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.
-
b2223847
by Felix Dörre
at 2019-04-29T22:13:15Z
trampoline: extract device cration routine
-
34c3c5ae
by Felix Dörre
at 2019-04-29T22:13:15Z
loader: use more specific arguments
-
00c6e46c
by Felix Dörre
at 2019-04-29T22:13:15Z
loader: eliminate the need for 'physical_device_tramp'
-
e97e0a1a
by Felix Dörre
at 2019-04-29T22:13:15Z
layers: add layer callbacks for device creation
-
b89fe437
by Felix Dörre
at 2019-04-29T22:13:15Z
tests: add test case for layer device creation
-
893bb561
by Felix Dörre
at 2019-04-29T22:13:15Z
cleanup: address review findings
-
1efbf511
by Felix Dörre
at 2019-04-29T22:13:15Z
layers: fix compile problems for WIN32
-
0679472c
by Felix Dörre
at 2019-04-29T22:13:15Z
layers: formatting
-
124130ec
by Mike Weiblen
at 2019-04-29T22:13:36Z
build: Update cmake_minimum_required(VERSION 3.11.3)
Change-Id: Ie05eeb1d7b880c20bd8c283b7fcc7c120d6f97eb
-
153ba165
by Lenny Komow
at 2019-05-07T17:37:20Z
scripts: Remove unused codegen from build
There was some old codegen that was used for generating validation
layers when those were in the same repo as the loader. Since they're
separate, we can remove the files so they only exist in the layers
repo.
Change-Id: Ia72f235ea0617f25258631e1003123ec3edd88d4
-
b2ec71bd
by Mike Schuchardt
at 2019-05-13T14:49:06Z
build: Add GN build
Add support for GN, Google's meta-build system for Ninja:
https://gn.googlesource.com/gn/
Pull BUILD.gn and script dependencies from
https://chromium.googlesource.com/angle/angle
Add build_overrides for this project to enable both standalone and
component builds using GN
Add GN configuration to Travis CI
-
e773d8ac
by Mike Schuchardt
at 2019-05-13T14:49:06Z
scripts: Temporary workaround for python2
Temporarily patch abc module with ABC helper class until upstream
conventions.py script stops using it.
-
77197106
by Bob Ellison
at 2019-05-15T20:40:27Z
update_deps: make --clean-repo switch work in all cases
--clean-repo right now will raise an exception if the repository
directory was not present. This makes it work in all cases.
-
36c0b570
by Mike Weiblen
at 2019-05-16T16:23:26Z
Revert "build: Update cmake_minimum_required(VERSION 3.11.3)"
This reverts PR 184 and its commit 124130ec3b181b2bb8a3c1cb0abe6d7259f995e2.
Change-Id: Ie55ef1a3a2aa1322cf960866e1bde7fa4e7b29fd
-
ecbb1f34
by Shannon McPherson
at 2019-05-24T21:00:10Z
scripts: Correct uneven braces in ldr ext gen
Platform guards did not surround opening and closing curly braces in
`loader_extension_generator.py`
Change-Id: Ibc93b42988704e077c34bb11a1dfea79cbf59a19
-
392a7eb3
by Shannon McPherson
at 2019-05-29T15:48:53Z
build: Update known-good for 1.1.108 header
Additionally, moved platform guards to surround
`GetPhysicalDeviceSurfacePresentModes2EXT`
Updated:
- `loader/extension_manual.c`
- `scripts/known_good.json`
Change-Id: I5c5eef6474915f8cb9aeaedcf95e84bb118badfb
-
9b673ea2
by Bob Ellison
at 2019-06-07T17:02:39Z
cmake: Use CMake 3.10.2 for CI
These changes ensure that the Travis and AppVeyor
builds use a known version of CMake.
-
570fb6c4
by Bob Ellison
at 2019-06-07T17:02:39Z
cmake: Adjust install process
After review, we decided for a slightly different install process, downloading
a CMake version explicitly instead of using chocolatey.
And Karl asked to be removed from the Travis notifications.
-
ecb0b1e6
by baldurk
at 2019-06-11T17:20:18Z
loader: Call through layers for device extensions
If we reach the terminator function then we look up json properties
per-layer there. This allows layers to participate in the
enumeration and filter the list of extensions before they reach the
application.
-
c169a4b1
by Daniel Stone
at 2019-06-24T19:31:18Z
docs: Remove Wayland disclaimer in docs
Wayland works totally fine, and has for a very long time.
Change-Id: Ifc582fd5068ad31758005f74b290f78e0f4554cc
-
8b365d02
by Daniel Stone
at 2019-06-24T19:31:18Z
docs: Consistently capitalise XCB in docs
Change-Id: I580e818bbf603f22e8a907ca614d17b310cf7136
-
9dcebf50
by Dan Sinclair
at 2019-06-24T21:17:33Z
tests: Set enable_testing in cmake file.
This CL adds the enable_testing() cmake call and registers
vk_loader_validation_tests as a test in cmake.
This allows the test to be run when `ctest` is executed.
Change-Id: I57fd579c7625fbf7bbd468a5716e3a68b601c1fd
-
cd4811a9
by Hernan Liatis
at 2019-06-24T23:21:15Z
loader: Fix bug in searching for missing extension
Fix small bug in instance creation when extension
(VK_KHR_surface) does not exist. Layer names were
traversed incorrectly.
Change-Id: Icbf435550b6e03ef16003c027d30da3ce5388e93
-
42d8e961
by Shannon McPherson
at 2019-06-25T16:04:58Z
build: Update known-good for 1.1.112 header
Change-Id: I7db7e5d53dd9ac911dac360c65397ad15bc3b079
-
3645fef3
by Shannon McPherson
at 2019-07-01T19:37:49Z
build: Update known-good for 1.1.113 header
Change-Id: Ifcb76dd1535211d8d12941e4a65bdf0ee286f5c5
-
f157e126
by Ambroz Bizjak
at 2019-07-02T19:55:00Z
cmake: Allow overriding SYSCONFDIR for CMake build on unix.
This adds a new CMake option SYSCONFDIR. If SYSCONFDIR is specified then it will be used via the SYSCONFDIR define, and /etc will not be automatically added via EXTRASYSCONFDIR. If SYSCONFDIR is not specified then the old logic will be used (CMAKE_INSTALL_FULL_SYSCONFDIR added via SYSCONFDIR, and /etc, if it's not the same, added via EXTRASYSCONFDIR).
-
17d26872
by myfreeweb
at 2019-07-05T16:54:15Z
build: use CMAKE_DL_LIBS instead of -ldl
e.g. FreeBSD does not use an extra library for dynamic loading, everything is in libc.
CMake provides the CMAKE_DL_LIBS variable to handle this. Use it.
-
1bb7f685
by Shannon McPherson
at 2019-07-08T15:22:35Z
build: Update known-good for 1.1.114 header
Change-Id: Iea7cb6e58a2fbe48c5aa1d881dd9c528db23b6ce
-
b423f800
by Lenny Komow
at 2019-07-10T17:59:25Z
repo: Add Windows Driver Kit headers to build
Change-Id: I70658c68d06374037fd42b268b2befb30b78466b
-
ba4cac0a
by Lenny Komow
at 2019-07-10T17:59:25Z
repo: Bump appveyor to Visual Studio 2017
Change-Id: Id7dd757b74ce01219d6545cd5c7b58e634bf6e71
-
6eb61431
by Lenny Komow
at 2019-07-10T17:59:25Z
loader: Get ICDs by calling enum adapter function
Change-Id: I5faa4e78ec1e445122ed7d640cc296c33d8a7aa4
-
232d005a
by Lenny Komow
at 2019-07-10T17:59:25Z
docs: Update build instructions for WDK dependency
Change-Id: Ifb5874c200ca7561c5f6c118ad69b48b331d2348
-
594cb04b
by Sandeep Shinde
at 2019-07-11T17:21:07Z
loader: Fix VK_KHR_surface_protected_capabilities
Loader is exposing VK_KHR_surface_protected_capabilities instance
extension support if one of the ICDs supports it.
An ICD, not supporting this extension, will not know about
VkSurfaceProtectedCapabilitiesKHR being passed as additional structure
to VkPhysicalDeviceSurfaceInfo2KHR in vulkan API
vkGetPhysicalDeviceSurfaceCapabilities2KHR().
Reset VkSurfaceProtectedCapabilitiesKHR.supportsProtected to false
always before calling vkGetPhysicalDeviceSurfaceCapabilities2KHR(). If
a particular ICD supports protected surfaces then it will set it
true.
An application will always receive either 1/0 in supportsProtected as
expected.
The issue got exposed through below CTS test failure on a Optimus windows
system with different ICDs versions, one supporting this extension and
another not supporting it.
- dEQP-VK.wsi.win32.surface.query_protected_capabilities
-
36d28090
by Shannon McPherson
at 2019-07-15T20:30:41Z
build: Update known-good for 1.1.115 header
Change-Id: I84ba49eed31acddd66cf6719dbbbe562325d95a9
-
411ac4a6
by Mike Weiblen
at 2019-07-17T00:17:21Z
build: Update cmake_minimum_required(VERSION 3.10.2)
Change-Id: Iedced8e252a1505c9cc0b1b07ba0d1012526689a
-
0d56723b
by Petr Kraus
at 2019-07-17T15:34:23Z
loader: Fix incorrect log handling of win32 wstrings
i.e. fixes missing output where it is prematurely cut after first wchar
Change-Id: Ib4a9ed75cc569a3f06833430740123c8c32918af
-
07c7c1c4
by Mike Schuchardt
at 2019-07-19T17:36:03Z
scripts: Port master codegen script from VVL
-
8f31c12e
by Mike Schuchardt
at 2019-07-19T17:36:03Z
build: CMake use pre-generated source
-
98821bde
by Mike Schuchardt
at 2019-07-19T17:36:03Z
CI: Add codegen check to appveyor and travis
-
84a2db96
by Mike Schuchardt
at 2019-07-19T17:36:03Z
build: GN use pre-generated source
-
b06d9d95
by Mike Schuchardt
at 2019-07-19T17:36:03Z
doc: Add codegen instructions
-
8bd09ccc
by Mike Schuchardt
at 2019-07-19T17:36:03Z
scripts: Remove bogus helper file generator opts
-
ab2bcb97
by Alexey Kryshen
at 2019-07-22T23:08:17Z
loader: Fix MinGW compilation
Change-Id: I2a80ed83b0431be07cb6f992f4c8742a86aca294