-
bb74deab
by Ricardo Garcia
at 2020-04-02T10:18:53-06:00
Allow vkGetInstanceProcAddr to resolve itself with no instance
Fixes #365
-
d8f180e8
by Lenny Komow
at 2020-04-06T09:40:45-06:00
build: Enable building static loader on MacOS
-
9d88d9f6
by Wang YanQing
at 2020-04-06T09:57:04-06:00
docs: Correct one minor discrepancy in "Implicit vs Explicit Layers"
No place mentions the way previously that we could use environment
variable to enable explicit layers, so I think it is better to move
the notice in brackets to the more proper place.
-
c7197198
by Aaron Franke
at 2020-04-06T09:57:51-06:00
Add newlines to two DXGI files
-
122067a0
by Wang YanQing
at 2020-04-06T10:27:42-06:00
docs: Improve vkNegotiateLoaderLayerInterfaceVersion's description
The current description about the version number negotiation between
loader and layer is easy to cause disagreement, and the description
about the version number negotiation between loader and ICD is much
more readable, so I think it is better to adopt the same way as the
vk_icdNegotiateLoaderICDInterfaceVersion description to describe the
vkNegotiateLoaderLayerInterfaceVersion.
Signed-off-by: Wang YanQing <udknight@gmail.com>
-
bb8be13e
by Jamie Madill
at 2020-04-07T10:05:14-06:00
build: Fix not finding registry path in some cases
The Vulkan Headers detection script was coded to look for the Vulkan
registry in ${VULKAN_REGISTRY_PATH_HINT}/share/vulkan/registry. When
using the Vulkan-Headers repo the registry is located in just
${VULKAN_REGISTRY_PATH_HINT}/registry. This fix should allow both uses.
-
7e532417
by David Hubbard
at 2020-04-08T14:08:06-06:00
loader: Remove duplicate search paths on posix
Windows platforms remove duplicate search paths due to registry keys
that are not device-specific but need to be searched. For the most
part, mac and linux do not need to do that. But if duplicate paths
crop up on a posix platform, it can cause the same device showing up
twice in the vkEnumeratePhysicalDevices results. There may be other
places it causes unexpected results as well.
VkPhysicalDeviceIDProperties.deviceUUID can be used later to tell that
the two entries are actually the same device and not a multi-GPU
system, but finding the root cause at that point is going to be very
difficult.
-
1289fa23
by David Hubbard
at 2020-04-08T14:08:06-06:00
loader: Fix clang-format formatting issues
-
4ea4716b
by Lenny Komow
at 2020-04-08T14:08:06-06:00
loader: Strip out empty search paths
Change-Id: Ibb0dfba07207716ccda0181cb2317dafc5bef2f4
-
48ab2f8c
by Lenny Komow
at 2020-04-08T14:08:06-06:00
tests: Update layer path test to strip empty paths
Change-Id: Ib6f209650894e44955b82aa47a5e24f2d3640acc
-
972305cf
by Shannon McPherson
at 2020-04-08T15:52:42-06:00
build: Update known-good for 1.2.137 header
Updated `known_good.json` and generated new source files
Change-Id: If8edd83ec20ef78e0067a43d5acbee80cfe00ead
-
e98559a6
by Kévin Petit
at 2020-04-09T09:38:50-06:00
Log debug messages with verbose severity instead of info
Both the loader and VK_EXT_debug_utils define four levels of severity,
map them one to one.
Signed-off-by: Kévin Petit <kpet@free.fr>
-
ba1f7760
by Lenny Komow
at 2020-04-10T14:05:21-06:00
build: Find headers package from external dir
A previous change allowed finding vulkan headers in the external
directory. This change modifies that to use the find_package()
interface through CMake. This allows versioning to work properly.
Change-Id: Ic00c45545d343286dce5c1ea4108e186d2bb6268
-
95a4ccd0
by Charles Giessen
at 2020-04-10T19:39:11-06:00
loader: Preload ICD's to speed up common path
The ideal of having the loader be stateless causes serious slowdowns
in application startup due to the need to load then unload ICD's
repeatedly while calling pre vkCreateInstance functions. By pre-
loading the ICD's which are found using loader_icd_scan, the
unecessary reloading of ICD's is avoided.
The preloaded ICD's will be unloaded with vkDestroyInstance. This
allows subsequent vkCreateInstance calls to use the most recent ICD
on the system, preventing issue where a new driver was installed
but an application couldn't use it unless they unloaded the loader
library completely.
Changes to be committed:
modified: loader/loader.c
modified: loader/loader.h
modified: loader/trampoline.c
Change-Id: Id169f94bea15e569b75c3a663b25444cc6c52c40
-
3f7e3cbf
by Charles Giessen
at 2020-04-11T14:37:17-06:00
loader: Fix deadlock introduced by preloading ICDs
The call to `loader_unload_preloaded_icds()` in vkDestroyInstance happens before the
loader_lock mutex was released, causing a deadlock due to the mutex not allowing
self re-entrant locking.
The fix is simply unload the ICDs after this lock was released.
Change-Id: I3f5774463b9872127893ed00183693dcf17a35d1
-
3682237c
by Charles Giessen
at 2020-04-15T14:06:58-06:00
tests: fix non-msvc windows test building
Building the tests outside of msvc wouldn't work due to improper setup.
This commit fixes the typos and missing debug/release switches for
google-test.
Change-Id: Ifdc2cdab8236c35ba9e14663fffaa412f40aaa6a
-
50eaecd7
by Corentin Wallez
at 2020-04-16T15:14:40-07:00
BUILD.gn: Generate libvulkan.so.1 on Linux
On Linux the standard name to use the Vulkan loader is libvulkan.so.1,
so we add a copy step to the GN build that copies libvulkan.so to
libvulkan.so.1.
Also ran `gn format` on BUILD.gn
-
4fb0e037
by Petr Kraus
at 2020-04-20T11:34:27-06:00
docs: Fix link in interface docs
-
3336e65e
by Lenny Komow
at 2020-04-24T11:13:12-06:00
loader: Check for null when creating a queue
Without a null check when creating a queue, it becomes impossible to
test for the case where the provided queue is null. Normally I would
prefer to check the return code, but these functions are void return.
Change-Id: I391be85526944b4d39377cfc33545e74c1ce327d
-
f39209eb
by Petr Kraus
at 2020-04-28T17:50:44-06:00
docs: Fix typo
-
1bf08b39
by Shannon McPherson
at 2020-05-04T13:44:54-06:00
build: Update known-good for 1.2.140 header
Changes:
- Updated `known_good.json`
- Propagated `loader_genvk.py` changes
- Generated new source files
- Modified `.gitattributes` to ensure generated source files should
always have LF line endings because that is how it will be generated on
all platforms going forward. Upstream change in Vulkan-Docs explicitly
generates code with LF line endings.
- Removed automatic CRLF to LF conversion git setting in `.appveyor.yml`
Change-Id: I1ca36b80dfabe83fa16e36116d1ad43c0a65ff78
-
aaba2f0a
by Shannon McPherson
at 2020-05-05T11:02:53-06:00
build: Fix `loader_genvk.py` error logging
A modification to one line of code was missed when updating the loader
genvk file for the 1.2.140 header update and when the change was
incorporated it exposed the newly added `logDiag` function which can be
found in `reflib.py` in Vulkan-Docs. Instead of adding another script to
the Loader repo, `write` functionality was reinstated in
`loader_genvk.py`.
Change-Id: Idf792b24c86120a8c278f46ac8a47013c4c37f16
-
3e390a15
by Charles Giessen
at 2020-05-15T13:18:31-06:00
loader: Preload ICD use its own mutex
Previously, if a layer called a pre-instance function
while being initialized (inside vkCreateInstance) a deadlock
would occur because the preload icd call used the same mutex.
Change-Id: I085ecfbcab26d746d77ca8466b4f63a13f6bea10
-
ead2b57f
by Charles Giessen
at 2020-05-26T09:52:38-06:00
loader: add per-application override layer settings
An array of strings was added to the override layer to provide
per-application overrides. The loader will now look for an override profile
which contains an app_key entry that matches the path & name of the currently
running executable. Previous behavior with a global override still works as
intended.
This changes is in conjunction with the VkConfig rewrite to allow for more
than one override profile to be enabled.
Changes to be committed:
modified: loader/loader.c
modified: loader/loader.h
modified: loader/vk_loader_platform.h
Change-Id: I9ddbc98a098d48064110db6c29998eddb336fcda
-
00658692
by Shannon McPherson
at 2020-05-26T10:50:54-06:00
Build: Update known-good files for 1.2.141 header
Change-Id: Ib5f2fab581fb98fa1391c8fde1009bb8bd1c09c7
-
460cdebf
by Timo Aaltonen
at 2020-06-12T07:14:11+03:00
Merge tag 'sdk-1.2.135.0' into d-u
-
9490c0a5
by Timo Aaltonen
at 2020-06-12T07:14:16+03:00
Merge branch 'debian-unstable' into d-u
-
4b1c2809
by Timo Aaltonen
at 2020-06-12T07:15:01+03:00
bump the version
-
694131dd
by Timo Aaltonen
at 2020-06-12T07:15:10+03:00
Refresh vulkan-headers to 1.2.141.0
-
5e329be0
by Timo Aaltonen
at 2020-06-12T07:20:44+03:00
release to sid