[Git][xorg-team/vulkan/vulkan-loader][upstream-unstable] 112 commits: build: Update to header 1.4.322

"Timo Aaltonen (@tjaalton)" <[email protected]>
Newsgroups gmane.linux.debian.devel.x
Message-ID <[email protected]>

Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / vulkan / vulkan-loader


Commits:
235d1d2c by Mike Schuchardt at 2025-07-14T15:27:51-07:00
build: Update to header 1.4.322

- - - - -
0817c639 by Charles Giessen at 2025-07-15T16:27:57-05:00
Create prepending variants of add_if_manifest_file & string funcs

- - - - -
4775d547 by Charles Giessen at 2025-07-15T16:27:57-05:00
Add 30 minute timeout to github actions

- - - - -
1d2a2fdb by Charles Giessen at 2025-07-15T16:27:57-05:00
Add device and drivers fields to settings file

The loader settings file now can specify additional drivers to include, whether
to use those drivers exclusively, and filter/sort the VkPhysicalDevices using
the settings file provided list of deviceUUID's.

This lets the settings file control which drivers and/or devices are reported
by the loader, giving greater control over the runtime behavior of the loader.

device_configurations is an array of JSON objects which contain two fields
each, deviceUUID and deviceName.
deviceUUID is an array of 16 uint8_t's (expressed simply as numbers) which
takes the value of the
VkPhysicalDeviceVulkan11Properties::deviceUUID struct member.
deviceName is a
string taken from VkPhysicalDeviceProperties::deviceName. Only deviceUUID is
used to filter and sort VkPhysicalDevices, deviceName is for convenience and
ease of understanding the JSON loader settings file.

additional_drivers is an array of JSON object which contain just one field,
path, which is a path to the Manifest ICD JSON file for a driver.

additional_drivers_use_exclusively is a boolean field indicating whether the
loader should:
if false (default if unspecified) - look for drivers in the normal locations
and append the  additional_drivers to the back of the driver list.
if true - only use drivers in the additional_drivers, ignoring all other
driver search locations.

- - - - -
f9468767 by Charles Giessen at 2025-07-15T16:27:57-05:00
Document Loader Settings File

- - - - -
8f35302d by Carlo Bramini at 2025-07-18T10:52:10-05:00
Fix build for CYGWIN

Attached patch fixes build on CYGWIN.
Hopefully, the patch is small and easy because it is just needed to add CYGWIN to the list of existing UNIX platforms.

- - - - -
a1684e4b by Mike Schuchardt at 2025-07-20T22:56:25-07:00
build: Update to header 1.4.323

- - - - -
c8ac60ea by dependabot[bot] at 2025-07-29T11:03:40-05:00
build(deps): bump github/codeql-action from 3.29.2 to 3.29.4

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.2 to 3.29.4.
- [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/181d5eefc20863364f96762470ba6f862bdef56b...4e828ff8d448a8a6e532957b1811f387a63867e8)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
77ccbe4f by Charles Giessen at 2025-07-29T16:35:46-05:00
Get real path to layer & driver binaries

Queries the real path of loaded layers and drivers so that logging messages
contain the exact path used, instead of the path the loader gave to dlopen/
LoadLibrary. This ensures that logs are as accurate as can be, as the dynamic
linker may not respect the passed in library (due to environment variables
or other mechanisms which change which binary is loaded).

This requires normalizing paths before comparison, as the path given to
dlopen/LoadLibrary may represent the same location as the queried path, but
might not be identical strings. Normalization is done using the realpath()
function on platforms that support it, and a fallback implementation is
used elsewhere. The implementation only removes extra directory separators
("//"), extra current directory specifiers ("/./"), and removes relative
to parent directory specifiers ("/foo/../").

- - - - -
1df688ca by Charles Giessen at 2025-07-29T16:35:46-05:00
Generate VkResult operator<< overload

- - - - -
bacab744 by Charles Giessen at 2025-07-29T16:35:46-05:00
Large refactor of test framework

Makes many changes to test infrastructure:
* Split test_util into separate files for maintainability
* Move new files into tests/framework/util
* Move FolderManager into separate file from test_environment
* Rename COMMON_UNIX_PLATFORMS to TESTING_COMMON_UNIX_PLATFORMS
* Rewrote unix path redirection logic, relies on FileSystemManager
  * Relative paths are actually relative now
* Split unsecured folder location into unsecured driver/implicit layer/explicit layer/settings
* Fix bugs in tests that are attributable to old path redirection logic.
* Use normalized paths in test framework - ie normalize paths so they can be compared easily
* Make running with elevated privileges a framework level setting
* Split tests that change elevated privileges into separate tests
* Framework can set home & xdg env-vars at startup
* Platform specific folders are only defined on those platforms
* PlatformShim::add_manifest is now windows only, reflecting that only windows implemented it

- - - - -
508795c7 by Charles Giessen at 2025-07-29T16:35:46-05:00
loader settings unix search path follows driver/layer searching

The searching for the loader_settings.json file relied on faulty assumptions about which paths would be used,
notably ignoring XDG env-vars, as well as SYSCONFDIR, EXTRASYSCONFDIR, and the fallback xdg paths.

- - - - -
b54033fd by Charles Giessen at 2025-07-30T16:46:04-05:00
Add ubuntu-24.04-arm runner to github actions CI

- - - - -
f2389e27 by Charles Giessen at 2025-08-01T11:43:07-05:00
Use correct format specifier for size_t

- - - - -
7a1d96aa by ziga-lunarg at 2025-08-04T20:16:57+03:00
build: Update to header 1.4.324

- - - - -
ffd25df8 by dependabot[bot] at 2025-08-05T11:02:03-05:00
build(deps): bump github/codeql-action from 3.29.4 to 3.29.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.4 to 3.29.5.
- [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/4e828ff8d448a8a6e532957b1811f387a63867e8...51f77329afa6477de8c49fc9c7046c15b9a4e79d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
f0969bf5 by Charles Giessen at 2025-08-05T11:30:19-05:00
Print deviceUUID correctly by using %02x

- - - - -
6e96ed60 by Charles Giessen at 2025-08-05T11:30:19-05:00
More settings tests

- - - - -
434131b0 by Charles Giessen at 2025-08-05T11:30:19-05:00
Fix invalid settings configuration parsing errors

If any of the device configurations fields failed to parse, this would cause the entire array of
device configurations to fail to parse, which is surprising.

- - - - -
9fb3eda0 by Charles Giessen at 2025-08-05T11:30:19-05:00
Log settings file device_configuration deviceName's

- - - - -
670bc546 by Charles Giessen at 2025-08-05T11:30:19-05:00
Check json object type in settings file device configurations

- - - - -
c3394a6c by Charles Giessen at 2025-08-05T11:30:19-05:00
Log when device configurations removes VkPhysicalDevices

- - - - -
046e6584 by Charles Giessen at 2025-08-05T11:30:19-05:00
Correct settings tests when no devices are present

- - - - -
07aa8658 by Charles Giessen at 2025-08-06T09:38:52-05:00
Speedup tests by putting physical devices in a map

Requires extensive modifications to the tests since previously many tests accessed
the physical device array directly.

- - - - -
be3fe401 by ziga-lunarg at 2025-08-08T18:40:57+03:00
build: Update to header 1.4.325

- - - - -
eae3da9a by Jozsef Hapak at 2025-08-13T18:21:55-05:00
loader: make it possible to filter the physical devices by vendor, device and / or driver id

This change introduces the VK_LOADER_DEVICE_ID_FILTER,
VK_LOADER_VENDOR_ID_FILTER and VK_LOADER_DRIVER_ID_FILTER
enviroment variables, where a comma separated list of id ranges can be provided
to restrict the enumerated physical devices by device, vendor and/or driver id.

e.g. VK_LOADER_DEVICE_ID_FILTER or  VK_LOADER_VENDOR_ID_FILTER:
"0x10001-0x1FFFF,0x1eb1"

e.g. VK_LOADER_DRIVER_ID_FILTER:
"3,7-9"

- - - - -
4f5b66d8 by dependabot[bot] at 2025-08-13T18:22:35-05:00
build(deps): bump actions/checkout from 4 to 5

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
022c0022 by dependabot[bot] at 2025-08-13T18:24:06-05:00
build(deps): bump github/codeql-action from 3.29.7 to 3.29.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.7 to 3.29.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/51f77329afa6477de8c49fc9c7046c15b9a4e79d...76621b61decf072c1cee8dd1ce2d2a82d33c17ed)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
362c295a by BtbN at 2025-08-18T02:16:51-05:00
Fix stdcall assembly symbol naming on win32

- - - - -
484f3cd7 by BtbN at 2025-08-18T02:16:51-05:00
Silence stdcall fixup warnings on 32bit mingw builds

- - - - -
5e056ffd by dependabot[bot] at 2025-08-25T11:24:58-05:00
build(deps): bump github/codeql-action from 3.29.8 to 3.29.10

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.8 to 3.29.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/76621b61decf072c1cee8dd1ce2d2a82d33c17ed...96f518a34f7a870018057716cc4d7a5c014bd61c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
e753770b by Johannes Nixdorf at 2025-08-25T13:50:05-05:00
loader: Include limits.h for PATH_MAX

This fixes compiling against musl libc:

 loader/loader.c: In function 'normalize_pat':
 loader/loader.c:405:52: error: 'PATH_MAX' undeclared (first use in this function)
   405 |     char *path = loader_instance_heap_calloc(inst, PATH_MAX, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
       |                                                    ^~~~~~~~

- - - - -
5c5cfd4f by Charles Giessen at 2025-08-25T16:35:13-05:00
Allow VK_INSTANCE_LAYERS to order implicit layers

Implicit layers previously were always loaded closest to the application regardless of
whether they appeared in any environment variables. This commit allows users to order
implicit layers using VK_INSTANCE_LAYERS, so that if a user has put an implicit layer in
that environment variable, that layer will be loaded respecting its order relative to other
layers in the env-var. If VK_INSTANCE_LAYERS contains just a single implicit layer, this
will cause that implicit layer to be loaded after all other implicit layers, and before any
app-enabled layers.

This commit also updates the documentation to reflect the un-deprecated nature of
VK_INSTANCE_LAYERS as well as other fixes related to this change.

- - - - -
ade310ac by Charles Giessen at 2025-08-25T17:40:35-05:00
Fix spelling mistakes

- - - - -
35a62d31 by dependabot[bot] at 2025-08-26T07:44:12-05:00
build(deps): bump github/codeql-action from 3.29.10 to 3.29.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.10 to 3.29.11.
- [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/96f518a34f7a870018057716cc4d7a5c014bd61c...3c3833e0f8c1c83d449a7478aa59c036a9165498)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
42e255d6 by Charles Giessen at 2025-08-27T12:12:16-05:00
Fix invalid iteration of empty override path

Found by OSS-Fuzz

- - - - -
272251ff by Charles Giessen at 2025-08-27T13:30:00-05:00
Add null check before strcmp

Adds a test that exercises this situation as well.

- - - - -
59240af6 by Charles Giessen at 2025-08-27T17:08:15-05:00
Fix uninitialized fuzz test executor

- - - - -
f61591c3 by Charles Giessen at 2025-08-27T17:08:15-05:00
Add fuzz test memory leak case

- - - - -
8b7e6183 by Charles Giessen at 2025-08-27T17:08:15-05:00
Fix unused settings causing memory leaks

- - - - -
fe92c7d7 by Mike Schuchardt at 2025-08-29T15:07:32-07:00
build: Update to header 1.4.326

- - - - -
3af54822 by dependabot[bot] at 2025-09-02T10:51:23-05:00
build(deps): bump github/codeql-action from 3.29.11 to 3.30.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.11 to 3.30.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/3c3833e0f8c1c83d449a7478aa59c036a9165498...2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
344e4e68 by Charles Giessen at 2025-09-11T22:30:50-06:00
Fix memory leak in get_loader_settings

Caused by the result value containing a spurious initialization failed
error code.

- - - - -
9501885e by Charles Giessen at 2025-09-12T15:33:05-06:00
Prevent unnecessary allocations in test util

We can use string_view's to prevent allocating a string every time
get_folder_for_given_path is called.

- - - - -
f4b28d28 by Charles Giessen at 2025-09-12T15:33:05-06:00
Initialize enabled_extensions in TestICD code

Uninitialized memory triggers a runtime check that drastically slows down test
execution.

- - - - -
63ba87a4 by dependabot[bot] at 2025-09-15T13:18:32-06:00
build(deps): bump actions/setup-python from 5 to 6

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
4ff7bc64 by dependabot[bot] at 2025-09-15T13:18:49-06:00
build(deps): bump github/codeql-action from 3.30.0 to 3.30.3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.0 to 3.30.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/2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d...192325c86100d080feab897ff886c34abd4c83a3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
50399a2c by Charles Giessen at 2025-09-16T12:42:29-06:00
Require a compatible VulkanHeaders version in find_package

Adding this field uses the generated version in `project()` to force CMake to check
that the found VulkanHeaders package's version is the same or greater than the
version of VulkanHeaders this project was generated with.

- - - - -
6ec5a0d9 by Mike Schuchardt at 2025-09-19T10:30:01-07:00
build: Update to header 1.4.327

- - - - -
f703f919 by Mike Schuchardt at 2025-09-26T10:15:07-06:00
build: Update to header 1.4.328

- - - - -
0b058dd7 by dependabot[bot] at 2025-09-30T12:02:37-06:00
build(deps): bump github/codeql-action from 3.30.3 to 3.30.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.3 to 3.30.5.
- [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/192325c86100d080feab897ff886c34abd4c83a3...3599b3baa15b485a2e49ef411a7a4bb2452e7f93)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
b4e1325c by Charles Giessen at 2025-10-02T10:06:38-06:00
Add utility for getting the string representation of a UUID

Allows for the loader_log call to not have 16+ parameters.

- - - - -
74047e49 by Charles Giessen at 2025-10-02T10:06:38-06:00
Add driverUUID and driverVersion to settings file device configuration parameters

deviceUUID is not sufficient to be able to distinguish VkPhysicalDevices as there can be multiple
ICD's that report the same VkPhysicalDevice. This can easily occur when a development build of
a driver is present alongside a stable build on a system. driverUUID then helps differentiate ICD's
reporting the same VkPhysicalDevice, but isn't sufficient as some drivers use the same driverUUID
across all builds (RADV from Mesa as example). Thus, driverVersion is used for that purpose.

- - - - -
0a278cc7 by Charles Giessen at 2025-10-02T10:12:02-06:00
Check return value of copy_surface_create_info

Not propagating the error code meant that unknown structs in the pNext
chains of surface create info structs caused crashes later that should
have been prevented. This also allows Out Of Memory conditions to
be propagated correctly

- - - - -
ae0461b6 by Charles Giessen at 2025-10-02T13:56:09-06:00
Update github actions CI to use macOS-14

macOS-13 is being removed from github actions.

- - - - -
35e5469b by Charles Giessen at 2025-10-06T07:13:39-06:00
Use PROJECT_VERSION instead of CMAKE_PROJECT_VERSION
- - - - -
385716f0 by dependabot[bot] at 2025-10-06T11:54:29-06:00
build(deps): bump github/codeql-action from 3.30.5 to 3.30.6

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.5 to 3.30.6.
- [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/3599b3baa15b485a2e49ef411a7a4bb2452e7f93...64d10c13136e1c5bce3e5fbde8d4906eeaafc885)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
40fdef42 by Mike Schuchardt at 2025-10-10T09:48:08-07:00
build: Update to header 1.4.329

- - - - -
4a40e3cf by dependabot[bot] at 2025-10-13T15:37:27-05:00
build(deps): bump github/codeql-action from 3.30.6 to 4.30.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.6 to 4.30.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/64d10c13136e1c5bce3e5fbde8d4906eeaafc885...f443b600d91635bebf5b0d9ebc620189c0d6fba5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.30.8
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
66f2ce1f by dependabot[bot] at 2025-10-20T12:58:48-05:00
build(deps): bump github/codeql-action from 4.30.8 to 4.30.9

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.8 to 4.30.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/f443b600d91635bebf5b0d9ebc620189c0d6fba5...16140ae1a102900babc80a33c44059580f687047)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.30.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
466498bc by Mike Schuchardt at 2025-10-24T11:07:00-05:00
build: Update to header 1.4.330

- - - - -
e1cad037 by dependabot[bot] at 2025-10-27T14:09:47-05:00
build(deps): bump github/codeql-action from 4.30.9 to 4.31.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.9 to 4.31.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/16140ae1a102900babc80a33c44059580f687047...4e94bd11f71e507f7f87df81788dff88d1dacbfb)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
6f557a4f by Mike Schuchardt at 2025-10-30T18:05:05-07:00
build: Update to header 1.4.331

- - - - -
93ab92e4 by dependabot[bot] at 2025-11-03T11:46:49-07:00
build(deps): bump jidicula/clang-format-action from 4.15.0 to 4.16.0

Bumps [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/jidicula/clang-format-action/releases)
- [Commits](https://github.com/jidicula/clang-format-action/compare/v4.15.0...v4.16.0)

---
updated-dependencies:
- dependency-name: jidicula/clang-format-action
  dependency-version: 4.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
8a259390 by dependabot[bot] at 2025-11-03T11:47:05-07:00
build(deps): bump github/codeql-action from 4.31.0 to 4.31.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.0 to 4.31.2.
- [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/4e94bd11f71e507f7f87df81788dff88d1dacbfb...0499de31b99561a6d14a36a5f662c2a54f91beee)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
d03e5159 by Mike Schuchardt at 2025-11-07T12:50:00-08:00
build: Update to header 1.4.332

- - - - -
c0c74b86 by Jozsef Hapak at 2025-11-12T09:19:51-07:00
loader: Use VULKAN_DIR macro in pathes

Also introduce TESTING_VULKAN_DIR macro in test framework

- - - - -
dc509c2d by Piers Daniell at 2025-11-12T17:10:49-07:00
Fix memory leak

This shows up with the Vulkan CTS test "dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic" and appears to be a regression from https://github.com/KhronosGroup/Vulkan-Loader/commit/77ccbe4f422ff89405272873c25bbb8ca88bd699

- - - - -
8b1274b2 by Charles Giessen at 2025-11-13T14:13:28-07:00
Add instance_create_advanced_fuzzer runner

OSS-Fuzz added an 'advanced' fuzzer which creates multiple files by
parsing the fuzz input file into multiple separate files. To add the
fuzz test we needed to recreate the same logic that enables creating
files.

- - - - -
1629b3b5 by Charles Giessen at 2025-11-13T14:13:28-07:00
Stop layers with an invalid "type" field from being added

Layers without a valid 'type' field should be ignored, which wasn't occurring.

- - - - -
9a8d188e by Mike Schuchardt at 2025-11-14T11:24:04-08:00
build: Update to header 1.4.333

- - - - -
5eb9050e by Charles Giessen at 2025-11-14T16:08:44-07:00
Normalize library paths queried from the OS

The path the operating system returns may not be normalized, so comparing
it with a normalized path yields false positives.

- - - - -
655909f1 by Charles Giessen at 2025-11-15T11:38:54-07:00
Clean up allocated string during OOM from path normalization

- - - - -
8b5249c2 by Ryan Zhang at 2025-11-16T10:22:36-07:00
fix call DestroyInstance after loader_platform_close_library

Found that vkcts crash after "Get real path to layer & driver
binaries : 77ccbe4f422ff89405272873c25bbb8ca88bd699" merged
into vullan-loader.

The root cause of crash is icd.so lib has been closed before
DestroyInstance called in loader free path when icd instance
has been created and oom in layer.

eg. fpCreateInstance success but table->populate oom in wsi.
TRY_LOG(fpCreateInstance(&modified_info, pAllocator, pInstance)
, "Failed to create the instance");
TRY_LOG_CALL(table->populate(*pInstance, fpGetInstanceProcAddr,
api_version));

So we need to defer close icd lib until DestroyInstance done.

Fix case: dEQP-VK.api.device_init.create_instance_device_
intentional_alloc_fail.basic

Signed-off-by: Ryan Zhang <[email protected]>

- - - - -
bc0a9570 by Piers Daniell at 2025-11-18T19:09:10-07:00
loader: Fix another memory leak with use of realloc

This shows up in the dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic Vulkan CTS test.

- - - - -
208e174c by Charles Giessen at 2025-11-18T20:58:05-07:00
Make realloc usage consistent

Makes sure all calls to realloc have their return value put into a new variable.
That way we don't lose the pointer to the original allocation in case realloc
returns NULL and we need to free the original allocation.

- - - - -
ce04129a by Mike Schuchardt at 2025-11-21T09:10:13-08:00
build: Update to header 1.4.334

- - - - -
b992a2b8 by dependabot[bot] at 2025-11-24T15:21:22-07:00
build(deps): bump actions/checkout from 5 to 6

Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
65e54280 by dependabot[bot] at 2025-11-24T15:21:50-07:00
build(deps): bump github/codeql-action from 4.31.2 to 4.31.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.2 to 4.31.5.
- [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/0499de31b99561a6d14a36a5f662c2a54f91beee...fdbfb4d2750291e159f0156def62b853c2798ca2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
8b9687fa by Máté Ferenc Nagy-Egri at 2025-11-25T12:01:57-07:00
docs: Document filtering env var usage

- - - - -
f5cf218a by Cameron Gutman at 2025-11-25T12:41:28-07:00
cmake: Enable CET on MSVC x86/x64 builds

Intel CET uses a shadow stack to protect against ROP attacks by
terminating the process if a shadow stack violation is detected in a
module that has marked itself as CET-compatible with the /CETCOMPAT
linker flag (and the process itself has CET enabled).

- - - - -
5f6d4be8 by Cameron Gutman at 2025-11-25T12:41:28-07:00
cmake: Enable EH metadata on 64-bit MSVC builds

Exception handling continuation metadata further hardens control flow
by ensuring NtContinue() or RtlRestoreContext() cannot be exploited to
redirect exception handling to a target that is not a valid exception
handler.

- - - - -
052ac246 by ziga-lunarg at 2025-11-28T11:12:36+02:00
build: Update to header 1.4.335

- - - - -
e042a3a1 by dependabot[bot] at 2025-12-01T13:50:32-07:00
build(deps): bump actions/checkout from 5.0.1 to 6.0.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
abde4f38 by dependabot[bot] at 2025-12-04T21:18:46-07:00
build(deps): bump github/codeql-action from 4.31.5 to 4.31.6

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.5 to 4.31.6.
- [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/fdbfb4d2750291e159f0156def62b853c2798ca2...fe4161a26a8629af62121b670040955b330f9af2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
918e869d by Tom Cooper at 2025-12-04T21:29:15-07:00
Fix assert in terminator_DestroySurfaceKHR

For an ICD without support for VK_KHR_surface the surface list
pointer will be null. This change adds a check for VK_KHR_surface
to avoid an abort when accessing the surface list.

- - - - -
0db9a0d5 by Charles Giessen at 2025-12-05T09:34:06-07:00
Remove duplicate driver workaround for macOS

On macOS, applications can bundle drivers with themselves. When they do
this and also install the same driver to a global location, the loader
will load 2 separate drivers which happen to be the same binary,
causing the linker to emit warnings.

The fix was to simply only load one driver if the app was bundled.
Because there was only one macOS driver available, this worked. Now that
both KosmicKrisp and LavaPipe are available, this workaround is no
longer appropriate. If apps bundle multiple drivers, they would be
unable to use more than 1.

- - - - -
5d8dc28a by dependabot[bot] at 2025-12-09T09:43:44-07:00
build(deps): bump github/codeql-action from 4.31.6 to 4.31.7

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.6 to 4.31.7.
- [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/fe4161a26a8629af62121b670040955b330f9af2...cf1bb45a277cb3c205638b2cd5c984db1c46a412)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
128e7d47 by dependabot[bot] at 2025-12-09T09:44:07-07:00
build(deps): bump actions/checkout from 6.0.0 to 6.0.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
002a13d8 by Charles Giessen at 2025-12-09T18:16:49-07:00
Fix devices in the settings file removing layers

The settings file supports multiple different kind of settings, layers,
devices, and drivers, mixing and matching each kind. This didn't work
when there was only a single boolean to determine if the settings are
active. Adding a separate boolean for layers and devices in the settings
allows for only running settings file logic when the relevant parts of
the settings file are present, so that a settings file with only devices
doesn't interfere with the layer enumeration and vice versa.
Additionally, using booleans instead of just checking if the list of
layer/device settings are non-empty allows the user to specify
"no layers" and "no devices" on the system.

- - - - -
dcb50be1 by Mike Schuchardt at 2025-12-12T08:57:28-08:00
build: Update to header 1.4.336

- - - - -
05fdd862 by Yuly Novikov at 2025-12-12T10:46:27-07:00
Zero-initialize InstanceExtensionProperties

vkEnumerateInstanceExtensionProperties can fail to initialize ext_props
in loader_add_instance_extensions(), in which case
wsi_unsupported_instance_extension() will call strcmp()
on uninitialized memory.

- - - - -
bf546ec9 by Charles Giessen at 2025-12-15T10:00:18-06:00
Fix duplicate layer output with the settings file

When there exists a layer in the settings file with the same name as a
layer in the default search paths with a different library_path, the
loader was mistaking it as a 'distinct' layer. Because the settings file
allows specifying layers by their path & whether to enable/disable them,
it is possible to exactly specify which layers will load, including
duplicates.

- - - - -
006a0c53 by dependabot[bot] at 2025-12-15T15:52:42-06:00
build(deps): bump github/codeql-action from 4.31.7 to 4.31.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.7 to 4.31.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/cf1bb45a277cb3c205638b2cd5c984db1c46a412...1b168cd39490f61582a9beae412bb7057a6b2c4e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
d9d6dcdc by Charles Giessen at 2025-12-16T00:56:24-06:00
Remove redundant helper func in tests

Better to use the TestLayerDetails struct directly when a fake layer is needed.

- - - - -
20541645 by Charles Giessen at 2025-12-16T00:56:24-06:00
Merge TestICDHandle & TestLayerHandle

They contain the same logic, just need to specialize
based on the types used.

- - - - -
dbb1b372 by Charles Giessen at 2025-12-16T00:56:24-06:00
Cleanup tests ICD creation

Reformulate how tests create test ICD's to simplify and reduce clutter.
Moves ManifestICD out of the TestCreateDetails and put it as a separate
argument to make it easier to configure the Manifest & the configuration
of the binary.

- - - - -
5bcc1f2f by Charles Giessen at 2025-12-16T00:56:24-06:00
Cleanup test layer creation

Move the ManifestLayer out of the TestLayerDetails, as well as drop
TestLayerDetails in favor of BinaryCreateArgs, since its the same as for
test ICD creation. This makes configuring test layer creation simpler
since everything isn't bound to one type.

Also dropped the json name from most layers in the tests because that
isn't an active part of the test. Simplifies test creation to not need
to specify a json file name when it doesn't matter for the purpose of
the test. Tests which do care (eg, ones which inspect the log) still
can set a name and it is respected. Otherwise, layers will use
"test_layer_x.json" as the default name, where x is a number used to
distinguish created layers.

- - - - -
612b10b8 by Charles Giessen at 2025-12-16T00:56:24-06:00
Remove redundant bool in tests ManifestOptions

disable_name_increment was used to stop the test framework from adding
_X to the manifest file name, so tests can test against the exact file
name. Since tests have to specify a name, it is possible to infer the
intent by just checking to see if json_name has been set. If it hasn't,
"test_icd_x.json" is used, where x is used to distinguish between
created ICD's. This makes writing tests easier and less error prone.

- - - - -
4c138ade by Charles Giessen at 2025-12-16T00:56:24-06:00
Cleanup test is_dir usage

Remove set_is_dir(false) in many places since it is redundant as false is the default.
Remove set_is_dir(true) in many places where it does nothing, eg the discovery
type isnt' env-var or add-env-var.

- - - - -
b77d86a9 by Charles Giessen at 2025-12-16T00:56:24-06:00
Cleanup add_layer_impl and add_icd in tests

- - - - -
7a07afe0 by Mike Schuchardt at 2025-12-19T11:59:03-06:00
build: Update to header 1.4.337

- - - - -
69e84021 by dependabot[bot] at 2025-12-22T11:47:41-06:00
build(deps): bump github/codeql-action from 4.31.8 to 4.31.9

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.8 to 4.31.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/1b168cd39490f61582a9beae412bb7057a6b2c4e...5d4e8d1aca955e8d8589aabd499c5cae939e33c7)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
39a660c6 by Charles Giessen at 2026-01-06T20:10:05-06:00
Fix typedef redefinition warnings

C99 does not support redefining typedefs and so the code should avoid
doing that as necessary.

Also it turns out #if !defined(<typedef>) does not actually protect the
inner value, since typedef does not operate on semantic constructs.

- - - - -
255cef03 by Mike Schuchardt at 2026-01-12T10:34:25-08:00
build: Update to header 1.4.338

- - - - -
30af4710 by dependabot[bot] at 2026-01-13T13:18:23-06:00
build(deps): bump github/codeql-action from 4.31.9 to 4.31.10

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.9 to 4.31.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/5d4e8d1aca955e8d8589aabd499c5cae939e33c7...cdefb33c0f6224e58673d9004f47f7cb3e328b89)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
- - - - -
c6824a60 by osy at 2026-01-14T23:56:49-06:00
Generate asm directly when cross-compiling

`-save-temps=obj` breaks on availability checks when compiling for visionOS.
There is no need to compile the executable when cross-compiling so instead
we pass in '-S' to just generate the assembly.

- - - - -
2e60d738 by Charles Giessen at 2026-01-14T23:56:49-06:00
Small CMake cross compilation fix for Ninja

Fixes issue with multiple defined outputs for gen_defines.asm, and uses more
idiomatic patterns for generated files.

- - - - -
2b536e57 by Mike Schuchardt at 2026-01-16T13:51:58-08:00
build: Update to header 1.4.339

- - - - -
28a23dbb by Charles Giessen at 2026-01-16T16:36:49-06:00
Remove duplicates from vkEnumerateInstanceLayerProperties

If multiple layers share the same name, the loader should remove them as the application cannot specify which
of the duplicate layers should be loaded when vkCreateInstance is called. This mirrors the behavior of
vkCreateInstance which removes duplicate layers before loading.
By de-duplicating during vkEnumerateInstanceLayerProperties and vkEnumerateInstanceExtensionProperties,
it prevents situations where the duplicate layers differed in available instance extensions and the extension would be reported as unavailable during vkCreateInstance because the layer chosen to load didn't have the extension.

- - - - -
cde39136 by Mike Schuchardt at 2026-01-22T16:53:22-08:00
build: Update to header 1.4.340

- - - - -
32fcb949 by Mike Schuchardt at 2026-01-23T08:23:43-08:00
build: Update to header 1.4.341

- - - - -


109 changed files:

- .github/workflows/build.yml
- .github/workflows/codeql.yml
- .github/workflows/format.yml
- BUILD.md
- CMakeLists.txt
- CONTRIBUTING.md
- docs/LoaderInterfaceArchitecture.md
- docs/LoaderLayerInterface.md
- + docs/LoaderSettingsFile.md
- docs/images/loader_layer_order.png
- docs/images/loader_layer_order_calls.png
- docs/images/svgs/loader_layer_order.svg
- docs/images/svgs/loader_layer_order_calls.svg
- loader/CMakeLists.txt
- loader/cJSON.c
- loader/cJSON.h
- loader/generated/vk_layer_dispatch_table.h
- loader/generated/vk_loader_extensions.c
- loader/generated/vk_loader_extensions.h
- loader/generated/vk_object_types.h
- loader/loader.c
- loader/loader.h
- loader/loader.rc
- loader/loader_common.h
- loader/loader_environment.c
- loader/loader_environment.h
- loader/loader_windows.c
- loader/log.c
- loader/log.h
- loader/settings.c
- loader/settings.h
- loader/trampoline.c
- loader/unknown_ext_chain_gas_x86.S
- loader/vk_loader_platform.h
- loader/wsi.c
- scripts/generate_source.py
- scripts/generators/dispatch_table_helper_generator.py
- scripts/generators/helper_file_generator.py
- scripts/generators/loader_extension_generator.py
- + scripts/generators/vk_result_to_string_generator.py
- scripts/known_good.json
- tests/CMakeLists.txt
- tests/framework/CMakeLists.txt
- tests/framework/README.md
- + tests/framework/data/fuzz_test_minimized_test_cases/clusterfuzz-testcase-minimized-instance_create_advanced_fuzzer-4788849181261824
- + tests/framework/data/fuzz_test_minimized_test_cases/clusterfuzz-testcase-minimized-instance_create_advanced_fuzzer-5612556809207808
- + tests/framework/data/fuzz_test_minimized_test_cases/clusterfuzz-testcase-minimized-instance_enumerate_fuzzer-6470575830925312
- + tests/framework/data/fuzz_test_minimized_test_cases/clusterfuzz-testcase-minimized-instance_enumerate_fuzzer-6740380288876544
- + tests/framework/data/fuzz_test_minimized_test_cases/clusterfuzz-testcase-minimized-settings_fuzzer-4626669072875520
- tests/framework/data/fuzzer_output.json
- tests/framework/framework_config.h.in
- + tests/framework/generated/vk_result_to_string_helper.h
- tests/framework/icd/test_icd.cpp
- tests/framework/icd/test_icd.h
- tests/framework/layer/generated/vk_dispatch_table_helper.h
- tests/framework/layer/layer_util.h
- tests/framework/layer/test_layer.cpp
- tests/framework/layer/test_layer.h
- tests/framework/shim/shim.h
- tests/framework/shim/shim_common.cpp
- tests/framework/shim/unix_shim.cpp
- tests/framework/shim/windows_shim.cpp
- tests/framework/test_environment.cpp
- tests/framework/test_environment.h
- − tests/framework/test_util.h
- + tests/framework/util/CMakeLists.txt
- + tests/framework/util/builder_defines.h
- + tests/framework/util/dispatch_table.cpp
- + tests/framework/util/dispatch_table.h
- + tests/framework/util/dispatchable_handle.h
- + tests/framework/util/dynamic_library_wrapper.cpp
- + tests/framework/util/dynamic_library_wrapper.h
- + tests/framework/util/env_var_wrapper.cpp
- + tests/framework/util/env_var_wrapper.h
- + tests/framework/util/equality_helpers.cpp
- + tests/framework/util/equality_helpers.h
- + tests/framework/util/folder_manager.cpp
- + tests/framework/util/folder_manager.h
- + tests/framework/util/functions.h
- + tests/framework/util/get_executable_path.cpp
- + tests/framework/util/get_executable_path.h
- + tests/framework/util/json_writer.cpp
- tests/framework/json_writer.h → tests/framework/util/json_writer.h
- tests/framework/test_util.cpp → tests/framework/util/manifest_builders.cpp
- + tests/framework/util/manifest_builders.h
- + tests/framework/util/platform_wsi.cpp
- + tests/framework/util/platform_wsi.h
- + tests/framework/util/test_defines.h
- + tests/framework/util/vulkan_object_wrappers.cpp
- + tests/framework/util/vulkan_object_wrappers.h
- + tests/framework/util/wide_char_handling.cpp
- + tests/framework/util/wide_char_handling.h
- tests/live_verification/dynamic_loader_behavior/dynamic_library.h
- tests/live_verification/dynamic_loader_behavior/test_dynamic_linking.cpp
- tests/loader_alloc_callback_tests.cpp
- tests/loader_debug_ext_tests.cpp
- tests/loader_envvar_tests.cpp
- tests/loader_fuzz_tests.cpp
- tests/loader_get_proc_addr_tests.cpp
- tests/loader_handle_validation_tests.cpp
- tests/loader_layer_tests.cpp
- tests/loader_phys_dev_inst_ext_tests.cpp
- tests/loader_regression_tests.cpp
- tests/loader_settings_tests.cpp
- tests/loader_testing_main.cpp
- tests/loader_threading_tests.cpp
- tests/loader_unknown_ext_tests.cpp
- tests/loader_version_tests.cpp
- tests/loader_wsi_tests.cpp


The diff was not included because it is too large.


View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/da8d2caad9341ca8c5a7c3deba217d7da50a7c24...32fcb949e253cbeb40cda7ea76122b492db579ae

-- 
View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/da8d2caad9341ca8c5a7c3deba217d7da50a7c24...32fcb949e253cbeb40cda7ea76122b492db579ae
You're receiving this email because of your account on salsa.debian.org.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.