-
f2b0c759
by dependabot[bot] at 2024-03-20T14:33:38-05:00
build(deps): bump github/codeql-action from 3.24.6 to 3.24.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.6 to 3.24.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8a470fddafa5cbb6266ee11b37ef4d8aae19c571...05963f47d870e2cb19a537396c1f668a348c7d8f)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
5e2b1458
by Charles Giessen at 2024-03-20T14:33:54-05:00
Fix CI sanitizer failures
-
cc7a7c09
by Andarwinux at 2024-03-20T15:29:55-05:00
loader: allow GAS on MinGW
Disabled by default, user must explicitly enable USE_GAS.
-
5c39f5d1
by Andarwinux at 2024-03-22T13:29:35-05:00
loader: add support for cross-compiling with LTO and ASM
-
21a9e152
by Anthony Roberts at 2024-03-22T13:29:49-05:00
Enable building of GAS .S files on Windows ARM64
-
d84c4d82
by Anthony Roberts at 2024-03-22T13:29:49-05:00
Update version of detours in known_good.json
-
0704d5a0
by Mike Schuchardt at 2024-03-22T16:13:59-07:00
build: Update to header 1.3.281
-
f60412f5
by dependabot[bot] at 2024-03-25T14:21:20-05:00
build(deps): bump github/codeql-action from 3.24.8 to 3.24.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.8 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/05963f47d870e2cb19a537396c1f668a348c7d8f...1b1aada464948af03b950897e5eb522f92603cc2)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
44260a22
by Charles Giessen at 2024-04-03T15:38:56-05:00
Add support for the lcov code coverage tool
-
2cb930f7
by Charles Giessen at 2024-04-04T17:16:18-05:00
Cleanup tests
Fixed a few bugs resulting in some tests not running everything they
were intended to, remove dead code, simplify codepaths, etc.
This was done using code coverage to find test code which wasn't being
executed.
-
77d1f980
by dependabot[bot] at 2024-04-09T11:01:27-05:00
build(deps): bump github/codeql-action from 3.24.9 to 3.24.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.9 to 3.24.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/1b1aada464948af03b950897e5eb522f92603cc2...4355270be187e1b672a7a1c7c7bae5afdc1ab94a)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
97482d50
by dependabot[bot] at 2024-04-15T12:03:17-06:00
build(deps): bump github/codeql-action from 3.24.10 to 3.25.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.10 to 3.25.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/4355270be187e1b672a7a1c7c7bae5afdc1ab94a...df5a14dc28094dc936e103b37d749c6628682b60)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
-
6d9e995c
by Alex Rønne Petersen at 2024-04-15T15:23:28-06:00
Fix update_deps.py script to handle Windows Arm64.
-
c684aed1
by Mike Schuchardt at 2024-04-16T12:40:21-07:00
build: Update to header 1.3.282
-
f0c17604
by Mike Schuchardt at 2024-04-19T09:48:08-07:00
build: Update to header 1.3.283
-
e94cd2e3
by dependabot[bot] at 2024-04-22T12:58:52-06:00
build(deps): bump github/codeql-action from 3.25.0 to 3.25.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.0 to 3.25.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/df5a14dc28094dc936e103b37d749c6628682b60...c7f9125735019aa87cfc361530512d50ea439c71)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
fa3b7bde
by Charles Giessen at 2024-04-24T15:31:21-06:00
Gracefully handle error results from vkEnumeratePhysicalDevices
If any driver returned non-VK_SUCCESS values (except for OOHM) when the
loader calls vkEnumeratePhysicalDevices, it would give up and return
immediately. This could result in perfectly functional drivers being
ignored.
The solution is to just skip over drivers that return non-VK_SUCCESS.
-
ae1a031e
by Charles Giessen at 2024-04-29T10:53:33-06:00
Add simple timer of ICD preloading in live tests
Adds a simple executable that times how long vkEnumerateInstanceExtensionProperties
takes over and over to see how well the ICD preloading functions.
-
a8710bb7
by Charles Giessen at 2024-04-29T10:53:33-06:00
Unload drivers which report 0 physical devices
The loader did not unload any ICD's which contained zero physical devices, which
could cause premature exhaustion of memory in some circumstances, like 32 bit
applications. While the policy of the loader has been to keep things open for
the duration of the instance, these ICD's don't meaningfully participate in
anything due to the lack of VkPhysicalDevices.
This change adds a check after vkEnumeratePhysicalDevices where pPhysicalDevices
is not NULL such that all loader_icd_terms which reported zero physical devices
have its vkDestroyInstance called, and removed from the loader_instance's
icd_term linked list.
-
9998427d
by Charles Giessen at 2024-04-29T10:53:33-06:00
Rename total_icd_count to icd_terms_count
-
58729839
by Charles Giessen at 2024-04-29T10:53:33-06:00
Enhance driver unloading tests
-
b0bfbc64
by Charles Giessen at 2024-04-29T10:53:33-06:00
Fix TestICD enabled instance extension tracking
-
b7c1e52b
by Charles Giessen at 2024-04-29T10:53:33-06:00
Use ICD lib_name in error reporting instead of index
The index must be referenced against the loader's internal index of each
ICD. Instead, we should print the lib_name in the error message, making
it more clear which driver the error is coming from.
-
cdf8e21a
by Charles Giessen at 2024-04-29T10:53:33-06:00
Enhance DriverUnloading tests
Drivers resize after 32 elements, so to test that path we need to loop
over instance level handle creation (surface, debug messenger, debug
report).
The driver unloading tests needed to create a debug report callback, so
that functionality was added to the test framework, modifying
VulkanFunctions with a new init function and to make InstWrapper call it
when creating an instance.
Modify how test_icd_version_7 operates so that by default the functions
are exported which is the 'assumed' codepath. This results in a bit of
duplication between version 6 & 7, but was kept so as to not modify
every test. This also clarifies how a test should enable querying of
the functions through vkGetInstanceProcAddr versus exporting those
functions (it was combined before).
-
a2daf4d4
by Charles Giessen at 2024-04-29T10:53:33-06:00
Refactor instance level objects to not use icd_index
The previous way per-ICD instance level objects were accessed was
using the ICD's index into an array that was allocated with the object.
This solution worked while the indexes were static, but with the
recent change to remove unused ICD's that is no longer the case.
This commit replaces an array per object with object arrays, one for each
type (surface, debug messenger, & debug report) and per ICD. That flips
where the index comes from, with the instance storing an array indication
which indices are used and which are free.
Whenever an instance level object is created, the loader checks if there
is a free index available, reusing it if available. Otherwise it resizes
its own store as well as each ICD's array for that object.
-
692f9ebe
by Charles Giessen at 2024-04-29T10:53:33-06:00
ci: Update to python 3.11
-
8cd99562
by Charles Giessen at 2024-04-29T10:53:33-06:00
Add missing VKAPI_ATTR/VKAPI_CALL in test_icd.cpp
Necessary for any functions called across dll boundaries on 32 bit windows.
-
a3c6cdd7
by Charles Giessen at 2024-04-29T14:04:07-06:00
Add VK_LAYER_PATH ordering test
-
d23f1a37
by dependabot[bot] at 2024-04-29T15:26:29-06:00
build(deps): bump github/codeql-action from 3.25.1 to 3.25.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.1 to 3.25.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c7f9125735019aa87cfc361530512d50ea439c71...d39d31e687223d841ef683f52467bd88e9b21c14)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
e99fce93
by Charles Giessen at 2024-05-02T14:34:00-06:00
Allow layers to call global functions in vkCreateInstance
Layers that want to call other global functions during vkCreateInstance
couldn't due to loader_gpa_instance_terminator missing the necessary logic.
Because those global functions have a different signature, it was decided
to update the terminator_<function> signatures to match the Vulkan API, and
make dedicated pre-instance intercetpion functions with the appropriate
Chain object as the first parameter.
Now during the call down to vkCreateInstance a layer can query for
pre-instance functions with vkGetInstanceProcAddr and is able to call them
using the Vulkan API function signature.
-
668bafa3
by Charles Giessen at 2024-05-02T15:08:41-06:00
Fix tests framework_config.h to work all the time
When using multi-config build systems such as MSVC, it was possible
for the framework_config.h to not be updated properly, resulting in
the wrong binaries being used during testing. By ditching the
common header file and directly specifying the header file to use
through a compiler definition, the code is now shorter and more
reliable.
-
a2089aaf
by Charles Giessen at 2024-05-03T09:34:52-06:00
Use std::filesystem instead of custom fs::path
Removes code and makes the codebase more understandable (by not
introducing weird behavior unique to fs::path).
Replaces a lot of the bespoke logic to handle string<->wstring due
to using std::filesystem::path.
-
5bd064f9
by Charles Giessen at 2024-05-06T14:54:24-06:00
Add Create/DestroyDebugReportCallback to test_icd
-
e69a59a9
by Charles Giessen at 2024-05-06T14:54:24-06:00
Destroy Instance objects before Instance & use correct allocator
The loader was accidentally destroying instance level objects after
it called vkDestroyInstance. This only was caught during driver unloading
because in a well behaved app, all objects are destroyed before calling
vkDestroyInstance.
The other issue was that a non-null pAllocator was passed into
object destruction but the members of VkAllocatorCallbacks were NULL,
due to just taking a pointer to the instance's allocator callbacks.
That has been fixed. A possible issue is that the allocator callbacks
used during object creation weren't used in destruction, which has
also been fixed.
-
720be519
by Charles Giessen at 2024-05-08T15:21:25-05:00
Check for NULL in unloading of preloaded-icd's
strcmp has undefined behavior if either parameter is NULL. Due to clearing
out unloaded entries, this would cause unload_drivers_without_physical_devices
to try to compare against already unloaded entries.
This commit also condenses the preloaded_icds list so that it doesn't contain
gaps.
-
0e884be3
by Timo Aaltonen at 2024-05-30T11:04:29+03:00
Merge branch 'upstream-unstable' into debian-unstable
-
84ccf7b0
by Timo Aaltonen at 2024-05-30T11:05:05+03:00
version bump
-
057df1e7
by Timo Aaltonen at 2024-05-30T11:05:56+03:00
Refresh vulkan-headers to vulkan-sdk-1.3.283.0
-
ee46e82a
by Timo Aaltonen at 2024-05-30T11:06:59+03:00
control: Bump policy to 4.7.0.
-
bf8ec0b1
by Timo Aaltonen at 2024-05-30T11:09:00+03:00
release to sid