platform/upstream/Vulkan-Loader.git
12 months agoRevert "ci: Disable GHA windows build until image is fixed"
Mike Schuchardt [Fri, 14 Jun 2024 19:50:30 +0000 (12:50 -0700)]
Revert "ci: Disable GHA windows build until image is fixed"

This reverts commit 1bae807cd919890f7174fa14228b6e672e8d296e.

12 months agobuild: Update to header 1.3.288
Mike Schuchardt [Fri, 14 Jun 2024 19:27:23 +0000 (12:27 -0700)]
build: Update to header 1.3.288

12 months agoFix preloaded icd's being freed with custom allocators
Charles Giessen [Wed, 12 Jun 2024 21:44:26 +0000 (16:44 -0500)]
Fix preloaded icd's being freed with custom allocators

During unloading of unused drivers, the loader checks for the driver in its
list of preloaded ICD's, and removes it if it is in it. If the user provided
a custom callback during instance creation, this was being used during this
unloading, which is wrong because preloaded icd's weren't allocated with the
custom allocator in the first place.

12 months agobuild(deps): bump github/codeql-action from 3.25.6 to 3.25.8
dependabot[bot] [Mon, 10 Jun 2024 17:55:01 +0000 (17:55 +0000)]
build(deps): bump github/codeql-action from 3.25.6 to 3.25.8

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.6 to 3.25.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/9fdb3e49720b44c48891d036bb502feb25684276...2e230e8fe0ad3a14a340ad0815ddb96d599d2aff)

---
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>
12 months agoci: Disable GHA windows build until image is fixed
Mike Schuchardt [Fri, 7 Jun 2024 19:12:44 +0000 (12:12 -0700)]
ci: Disable GHA windows build until image is fixed

SEH exception with code 0xc0000005 thrown in the test body.
https://github.com/actions/runner-images/issues/10004

Unexpected compiler version, expected Clang 17.0.0 or newer.
https://github.com/actions/runner-images/issues/10001

12 months agobuild: Update to header 1.3.287
Mike Schuchardt [Fri, 7 Jun 2024 16:03:02 +0000 (09:03 -0700)]
build: Update to header 1.3.287

12 months agobuild: Update to header 1.3.286
Mike Schuchardt [Mon, 3 Jun 2024 16:40:47 +0000 (09:40 -0700)]
build: Update to header 1.3.286

12 months agobuild(deps): bump jidicula/clang-format-action from 4.12.0 to 4.13.0
dependabot[bot] [Mon, 27 May 2024 17:16:22 +0000 (17:16 +0000)]
build(deps): bump jidicula/clang-format-action from 4.12.0 to 4.13.0

Bumps [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action) from 4.12.0 to 4.13.0.
- [Release notes](https://github.com/jidicula/clang-format-action/releases)
- [Commits](https://github.com/jidicula/clang-format-action/compare/v4.12.0...v4.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
12 months agoFix GN build by removing unnecessary files
Charles Giessen [Fri, 24 May 2024 05:05:21 +0000 (00:05 -0500)]
Fix GN build by removing unnecessary files

The phys_dev_ext.c and dev_ext_trampoline.c are only needed when compiling
assembly support for unknown functions in, which is not the case for the GN
builds. Doing that causes linker failues which are resolved with this fix.

12 months agobuild(deps): bump jidicula/clang-format-action from 4.11.0 to 4.12.0
dependabot[bot] [Mon, 20 May 2024 17:15:36 +0000 (17:15 +0000)]
build(deps): bump jidicula/clang-format-action from 4.11.0 to 4.12.0

Bumps [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action) from 4.11.0 to 4.12.0.
- [Release notes](https://github.com/jidicula/clang-format-action/releases)
- [Commits](https://github.com/jidicula/clang-format-action/compare/v4.11.0...v4.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
12 months agobuild(deps): bump github/codeql-action from 3.25.5 to 3.25.6
dependabot[bot] [Mon, 20 May 2024 17:15:33 +0000 (17:15 +0000)]
build(deps): bump github/codeql-action from 3.25.5 to 3.25.6

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.5 to 3.25.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/b7cec7526559c32f1616476ff32d17ba4c59b2d6...9fdb3e49720b44c48891d036bb502feb25684276)

---
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>
12 months agoci: Add mingw build test for USE_GAS=ON
Kacper Michajłow [Sat, 18 May 2024 16:11:38 +0000 (18:11 +0200)]
ci: Add mingw build test for USE_GAS=ON

12 months agobuild: Fix compilation with USE_GAS and WIN32
Kacper Michajłow [Sat, 18 May 2024 16:58:57 +0000 (18:58 +0200)]
build: Fix compilation with USE_GAS and WIN32

The loader-unknown-chain target is not defined when USE_GAS is used.

Fixes: 238cf14a59cc564d0614dc3c70cf3975b4b43b65
12 months agobuild: Normalize CMAKE_SYSTEM_PROCESSOR before use
Kacper Michajłow [Sat, 18 May 2024 16:55:33 +0000 (18:55 +0200)]
build: Normalize CMAKE_SYSTEM_PROCESSOR before use

This fixes inconsistencies in CMAKE_SYSTEM_PROCESSOR. On some platforms
it is uppercase. Also replace amd64 with x86_64.

This makes GAS usage compatible with more targets.

12 months agoChange loader-unknown-chain into a STATIC library
Charles Giessen [Thu, 16 May 2024 01:01:15 +0000 (20:01 -0500)]
Change loader-unknown-chain into a STATIC library

loader-unknown-chain is now a STATIC library instead of an OBJECT
library. Object libraries have limitations compared to 'normal' libraries,
and this simplifies the CMake usage present.

This change includes a fix for building using Ninja, as there is a bug
in cmake related to static libraries that contain assembly code that
affect builds using MSVC and clang-cl.

12 months agotests: Allow test ICD to handle NULL pApplicationInfo
Daniel Rakos [Thu, 16 May 2024 08:07:27 +0000 (10:07 +0200)]
tests: Allow test ICD to handle NULL pApplicationInfo

12 months agoRemove faulty fallback for unknown functions
Charles Giessen [Wed, 15 May 2024 23:53:12 +0000 (18:53 -0500)]
Remove faulty fallback for unknown functions

This code was only used when the required assembly code for unknown function
was missing or intentionally disabled. Because it relied on the implementation
of the compiler to optimize the code in such a way as to not disturb passed in
parameters, the fallback code could not be relied on to work. Removing the
fallback path simplifies the support matrix by making unknown functions
definitely not supported (and will return NULL when queried), whereas with the
fallback the code may work or may crash.

13 months agobuild(deps): bump github/codeql-action from 3.25.3 to 3.25.5
dependabot[bot] [Mon, 13 May 2024 17:43:01 +0000 (17:43 +0000)]
build(deps): bump github/codeql-action from 3.25.3 to 3.25.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.3 to 3.25.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/d39d31e687223d841ef683f52467bd88e9b21c14...b7cec7526559c32f1616476ff32d17ba4c59b2d6)

---
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>
13 months agobuild: Update to header 1.3.285
Mike Schuchardt [Mon, 13 May 2024 17:25:32 +0000 (10:25 -0700)]
build: Update to header 1.3.285

13 months agoCheck for NULL in unloading of preloaded-icd's
Charles Giessen [Wed, 8 May 2024 19:31:15 +0000 (14:31 -0500)]
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.

13 months agobuild: Update to header 1.3.284
Mike Schuchardt [Wed, 8 May 2024 15:24:03 +0000 (08:24 -0700)]
build: Update to header 1.3.284

13 months agoDestroy Instance objects before Instance & use correct allocator
Charles Giessen [Mon, 6 May 2024 20:30:58 +0000 (15:30 -0500)]
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.

13 months agoAdd Create/DestroyDebugReportCallback to test_icd
Charles Giessen [Mon, 6 May 2024 20:30:17 +0000 (15:30 -0500)]
Add Create/DestroyDebugReportCallback to test_icd

13 months agoUse std::filesystem instead of custom fs::path
Charles Giessen [Fri, 12 Apr 2024 19:45:32 +0000 (14:45 -0500)]
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.

13 months agoFix tests framework_config.h to work all the time
Charles Giessen [Thu, 2 May 2024 15:42:56 +0000 (10:42 -0500)]
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.

13 months agoAllow layers to call global functions in vkCreateInstance
Charles Giessen [Thu, 2 May 2024 16:53:19 +0000 (11:53 -0500)]
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.

13 months agobuild(deps): bump github/codeql-action from 3.25.1 to 3.25.3
dependabot[bot] [Mon, 29 Apr 2024 17:35:05 +0000 (17:35 +0000)]
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>
13 months agoAdd VK_LAYER_PATH ordering test
Charles Giessen [Mon, 29 Apr 2024 17:40:13 +0000 (12:40 -0500)]
Add VK_LAYER_PATH ordering test

13 months agoAdd missing VKAPI_ATTR/VKAPI_CALL in test_icd.cpp
Charles Giessen [Thu, 25 Apr 2024 17:00:23 +0000 (10:00 -0700)]
Add missing VKAPI_ATTR/VKAPI_CALL in test_icd.cpp

Necessary for any functions called across dll boundaries on 32 bit windows.

13 months agoci: Update to python 3.11
Charles Giessen [Wed, 24 Apr 2024 21:46:37 +0000 (16:46 -0500)]
ci: Update to python 3.11

13 months agoRefactor instance level objects to not use icd_index
Charles Giessen [Tue, 26 Mar 2024 22:23:13 +0000 (17:23 -0500)]
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.

13 months agoEnhance DriverUnloading tests
Charles Giessen [Fri, 22 Mar 2024 16:57:40 +0000 (11:57 -0500)]
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).

13 months agoUse ICD lib_name in error reporting instead of index
Charles Giessen [Thu, 21 Mar 2024 19:48:21 +0000 (14:48 -0500)]
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.

13 months agoFix TestICD enabled instance extension tracking
Charles Giessen [Thu, 21 Mar 2024 17:51:26 +0000 (12:51 -0500)]
Fix TestICD enabled instance extension tracking

13 months agoEnhance driver unloading tests
Charles Giessen [Mon, 18 Dec 2023 22:51:37 +0000 (15:51 -0700)]
Enhance driver unloading tests

13 months agoRename total_icd_count to icd_terms_count
Charles Giessen [Mon, 18 Dec 2023 22:51:08 +0000 (15:51 -0700)]
Rename total_icd_count to icd_terms_count

13 months agoUnload drivers which report 0 physical devices
Charles Giessen [Tue, 7 Nov 2023 21:45:35 +0000 (14:45 -0700)]
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.

13 months agoAdd simple timer of ICD preloading in live tests
Charles Giessen [Sat, 4 Nov 2023 04:52:49 +0000 (22:52 -0600)]
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.

13 months agoGracefully handle error results from vkEnumeratePhysicalDevices
Charles Giessen [Fri, 12 Apr 2024 17:17:50 +0000 (10:17 -0700)]
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.

13 months agobuild(deps): bump github/codeql-action from 3.25.0 to 3.25.1
dependabot[bot] [Mon, 22 Apr 2024 17:17:30 +0000 (17:17 +0000)]
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>
13 months agobuild: Update to header 1.3.283
Mike Schuchardt [Fri, 19 Apr 2024 15:47:14 +0000 (08:47 -0700)]
build: Update to header 1.3.283

13 months agobuild: Update to header 1.3.282
Mike Schuchardt [Tue, 16 Apr 2024 18:46:15 +0000 (11:46 -0700)]
build: Update to header 1.3.282

13 months agoFix update_deps.py script to handle Windows Arm64.
Alex Rønne Petersen [Sun, 14 Apr 2024 03:08:48 +0000 (05:08 +0200)]
Fix update_deps.py script to handle Windows Arm64.

13 months agobuild(deps): bump github/codeql-action from 3.24.10 to 3.25.0
dependabot[bot] [Mon, 15 Apr 2024 17:37:33 +0000 (17:37 +0000)]
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>
14 months agobuild(deps): bump github/codeql-action from 3.24.9 to 3.24.10
dependabot[bot] [Mon, 8 Apr 2024 17:22:02 +0000 (17:22 +0000)]
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>
14 months agoCleanup tests
Charles Giessen [Thu, 4 Apr 2024 21:50:17 +0000 (16:50 -0500)]
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.

14 months agoAdd support for the lcov code coverage tool
Charles Giessen [Thu, 9 Mar 2023 21:04:08 +0000 (14:04 -0700)]
Add support for the lcov code coverage tool

14 months agobuild(deps): bump github/codeql-action from 3.24.8 to 3.24.9
dependabot[bot] [Mon, 25 Mar 2024 17:07:19 +0000 (17:07 +0000)]
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>
14 months agobuild: Update to header 1.3.281
Mike Schuchardt [Fri, 22 Mar 2024 21:37:06 +0000 (14:37 -0700)]
build: Update to header 1.3.281

14 months agoUpdate version of detours in known_good.json
Anthony Roberts [Fri, 22 Mar 2024 12:12:05 +0000 (12:12 +0000)]
Update version of detours in known_good.json

14 months agoEnable building of GAS .S files on Windows ARM64
Anthony Roberts [Fri, 22 Mar 2024 11:42:34 +0000 (11:42 +0000)]
Enable building of GAS .S files on Windows ARM64

14 months agoloader: add support for cross-compiling with LTO and ASM
Andarwinux [Thu, 21 Mar 2024 00:00:00 +0000 (00:00 +0000)]
loader: add support for cross-compiling with LTO and ASM

14 months agoloader: allow GAS on MinGW
Andarwinux [Thu, 7 Mar 2024 00:00:00 +0000 (00:00 +0000)]
loader: allow GAS on MinGW

Disabled by default, user must explicitly enable USE_GAS.

14 months agoFix CI sanitizer failures
Charles Giessen [Wed, 20 Mar 2024 18:50:13 +0000 (13:50 -0500)]
Fix CI sanitizer failures

14 months agobuild(deps): bump github/codeql-action from 3.24.6 to 3.24.8
dependabot[bot] [Mon, 18 Mar 2024 17:41:05 +0000 (17:41 +0000)]
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>
15 months agobuild: Update to header 1.3.280
Mike Schuchardt [Fri, 8 Mar 2024 16:55:28 +0000 (08:55 -0800)]
build: Update to header 1.3.280

- Update known-good
- Generate source

15 months agoapple: Updated framework version contents for appstore validation
Richard S. Wright Jr [Tue, 5 Mar 2024 17:11:52 +0000 (12:11 -0500)]
apple: Updated framework version contents for appstore validation

15 months agobuild(deps): bump github/codeql-action from 3.24.5 to 3.24.6
dependabot[bot] [Mon, 4 Mar 2024 17:56:43 +0000 (17:56 +0000)]
build(deps): bump github/codeql-action from 3.24.5 to 3.24.6

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.5 to 3.24.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/47b3d888fe66b639e431abf22ebca059152f1eea...8a470fddafa5cbb6266ee11b37ef4d8aae19c571)

---
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>
15 months agobuild: Update to header 1.3.279
Mike Schuchardt [Fri, 1 Mar 2024 16:55:14 +0000 (08:55 -0800)]
build: Update to header 1.3.279

- Update known-good
- Generate source

15 months agoAdd app packages to layers search path
Jim Lewis [Tue, 13 Feb 2024 00:41:53 +0000 (18:41 -0600)]
Add app packages to layers search path

Expand Windows system search path for layers to include AppX/MSIX
packages currently scanned only for ICD manifests.

15 months agobuild(deps): bump github/codeql-action from 3.24.3 to 3.24.5
dependabot[bot] [Mon, 26 Feb 2024 17:15:22 +0000 (17:15 +0000)]
build(deps): bump github/codeql-action from 3.24.3 to 3.24.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.3 to 3.24.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/379614612a29c9e28f31f39a59013eb8012a51f0...47b3d888fe66b639e431abf22ebca059152f1eea)

---
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>
15 months agobuild(deps): bump github/codeql-action from 3.24.0 to 3.24.3
dependabot[bot] [Mon, 19 Feb 2024 17:51:39 +0000 (17:51 +0000)]
build(deps): bump github/codeql-action from 3.24.0 to 3.24.3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.0 to 3.24.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/e8893c57a1f3a2b659b6b55564fdfdbbd2982911...379614612a29c9e28f31f39a59013eb8012a51f0)

---
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>
15 months agobuild: Update to header 1.3.278
Mike Schuchardt [Fri, 16 Feb 2024 19:33:03 +0000 (11:33 -0800)]
build: Update to header 1.3.278

- Update known-good
- Generate source

16 months agoRemove current directory from DLL searching
Charles Giessen [Fri, 2 Feb 2024 17:30:01 +0000 (11:30 -0600)]
Remove current directory from DLL searching

By removing the current directory from the search paths for dlls, the
loader is less vulnerable.

16 months agobuild(deps): bump github/codeql-action from 3.23.2 to 3.24.0
dependabot[bot] [Mon, 5 Feb 2024 17:12:04 +0000 (17:12 +0000)]
build(deps): bump github/codeql-action from 3.23.2 to 3.24.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.23.2 to 3.24.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/b7bf0a3ed3ecfa44160715d7c442788f65f0f923...e8893c57a1f3a2b659b6b55564fdfdbbd2982911)

---
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>
16 months agobuild: Update to header 1.3.277
Mike Schuchardt [Thu, 1 Feb 2024 17:52:08 +0000 (09:52 -0800)]
build: Update to header 1.3.277

- Update known-good
- Generate source

16 months agofix dEQP-VK.api.object_management.multithreaded_per_thread_resources.device_group...
MrRobbin [Thu, 1 Feb 2024 11:53:36 +0000 (19:53 +0800)]
fix dEQP-VK.api.object_management.multithreaded_per_thread_resources.device_group crash

This commit reverts the a4ff6a54e4f06638fa8fb367913818bf9d189bdb, which
will cause this CTS case crash when build the loader with release type.

16 months agoFix the tests, so it's not adding multiple DXGIAdapters with same LUID
Mateusz Przybylski [Thu, 1 Feb 2024 01:29:16 +0000 (17:29 -0800)]
Fix the tests, so it's not adding multiple DXGIAdapters with same LUID

LUID is expected to be unique per D3DKMT_/DXGIAdapter.

16 months agoFix heap corruption in Windows tests.
Mateusz Przybylski [Thu, 1 Feb 2024 01:18:52 +0000 (17:18 -0800)]
Fix heap corruption in Windows tests.

16 months agoFix memory leak.
Mateusz Przybylski [Thu, 1 Feb 2024 01:03:32 +0000 (17:03 -0800)]
Fix memory leak.

If we never find any other device after already_enumerated is recognized, the memory allocated in this function will never be freed.

16 months agobuild(deps): bump github/codeql-action from 3.23.1 to 3.23.2
dependabot[bot] [Mon, 29 Jan 2024 17:45:56 +0000 (17:45 +0000)]
build(deps): bump github/codeql-action from 3.23.1 to 3.23.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.23.1 to 3.23.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/0b21cf2492b6b02c465a3e5d7c473717ad7721ba...b7bf0a3ed3ecfa44160715d7c442788f65f0f923)

---
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>
16 months agobuild: Update to header 1.3.276
Mike Schuchardt [Fri, 26 Jan 2024 08:12:22 +0000 (00:12 -0800)]
build: Update to header 1.3.276

- Update known-good
- Generate source

16 months agoloader: Check apiVersion is not 0 for VUID-VkApplicationInfo-apiVersion
Aitor Camacho [Tue, 16 Jan 2024 21:09:08 +0000 (22:09 +0100)]
loader: Check apiVersion is not 0 for VUID-VkApplicationInfo-apiVersion

16 months agobuild(deps): bump github/codeql-action from 3.23.0 to 3.23.1
dependabot[bot] [Mon, 22 Jan 2024 17:12:35 +0000 (17:12 +0000)]
build(deps): bump github/codeql-action from 3.23.0 to 3.23.1

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.23.0 to 3.23.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/e5f05b81d5b6ff8cfa111c80c22c5fd02a384118...0b21cf2492b6b02c465a3e5d7c473717ad7721ba)

---
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>
16 months agoFix lack of pthread linking in ubuntu 20.04
Charles Giessen [Mon, 15 Jan 2024 03:41:10 +0000 (21:41 -0600)]
Fix lack of pthread linking in ubuntu 20.04

Ubuntu 20.04 saw a regression that caused the pthread library to no longer be
a part of libvulkan.so's linked libraries. This didn't cause the loader to fail
to load, rather any library that used pthread functions without linking to pthreads
themselves would fail to run, for example the Vulkan-ValidationLayers (VVL).
While it is currently unclear why VVL were trying to link to these symbols, this
would make loading validation layers impossible.

The issue turns out to be this line of CMake
`set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)`. Specifically, that line of
code appearing *before* `find_package(Threads REQUIRED)` causes CMake to 'find'
CMAKE_HAVE_LIBC_PTHREAD successfully, whereas previously it would fail. Since
this variable indicates that linking to libc is enough to get threading
capabilities, CMake no longer links to pthread.

This commit is an effort to prevent breaking ABI due to changing the link library
list in Ubuntu 20.04. It should be noted that in Ubuntu 23.10, the location of
`find_package(Threads)` has no bearing on the value of CMAKE_HAVE_LIBC_PTHREAD.

17 months agoloader: Miscellaneous platform-specific fixes
Daniel Rakos [Wed, 10 Jan 2024 13:52:14 +0000 (14:52 +0100)]
loader: Miscellaneous platform-specific fixes

17 months agobuild(deps): bump github/codeql-action from 3.22.12 to 3.23.0
dependabot[bot] [Mon, 8 Jan 2024 17:29:13 +0000 (17:29 +0000)]
build(deps): bump github/codeql-action from 3.22.12 to 3.23.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.22.12 to 3.23.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/012739e5082ff0c22ca6d6ab32e07c36df03c4a4...e5f05b81d5b6ff8cfa111c80c22c5fd02a384118)

---
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>
17 months agobuild: Update to header 1.3.275
Mike Schuchardt [Fri, 5 Jan 2024 17:33:07 +0000 (09:33 -0800)]
build: Update to header 1.3.275

- Update known-good
- Generate source

17 months agobuild: API parameterization changes
Daniel Rakos [Fri, 5 Jan 2024 17:02:09 +0000 (18:02 +0100)]
build: API parameterization changes

17 months agoSet CMake properties consistently
Juan Ramos [Fri, 29 Dec 2023 17:27:24 +0000 (10:27 -0700)]
Set CMake properties consistently

Simplifies the code

Idiomatic way of setting visibility via CMake

17 months agoDocument BUILD_WERROR
Juan Ramos [Thu, 28 Dec 2023 22:16:29 +0000 (15:16 -0700)]
Document BUILD_WERROR

17 months agoBUILD_WERROR OFF by default
Juan Ramos [Thu, 28 Dec 2023 22:13:51 +0000 (15:13 -0700)]
BUILD_WERROR OFF by default

Consistent naming with other repos we maintain.

OFF by default to avoid issues with newer compilers, specific
generators (Xcode), etc.

17 months agoOnly require C compiler
Juan Ramos [Thu, 28 Dec 2023 19:29:45 +0000 (12:29 -0700)]
Only require C compiler

By default the loader only requires the C compiler.

But by default the C and CXX compilers are enabled.

Only enable the C compiler. Move corresponding C++ code into tests
directory.

17 months agoAdd integration testing
Juan Ramos [Wed, 27 Dec 2023 19:23:10 +0000 (12:23 -0700)]
Add integration testing

Test find_package(VulkanLoader CONFIG)

Minimal vulkan.pc testing is also added.

17 months agoCleanup GitHub action script
Juan Ramos [Thu, 21 Dec 2023 21:51:32 +0000 (14:51 -0700)]
Cleanup GitHub action script

17 months agobuild(deps): bump github/codeql-action from 3.22.11 to 3.22.12
dependabot[bot] [Mon, 25 Dec 2023 17:57:38 +0000 (17:57 +0000)]
build(deps): bump github/codeql-action from 3.22.11 to 3.22.12

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.22.11 to 3.22.12.
- [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/b374143c1149a9115d881581d29b8390bbcbb59c...012739e5082ff0c22ca6d6ab32e07c36df03c4a4)

---
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>
17 months agoAdd VulkanLoaderConfigVersion.cmake
Juan Ramos [Thu, 21 Dec 2023 20:47:05 +0000 (13:47 -0700)]
Add VulkanLoaderConfigVersion.cmake

Provides versioning information for the CMake package

17 months agoImprove clang on Windows testing
Juan Ramos [Wed, 20 Dec 2023 20:10:56 +0000 (13:10 -0700)]
Improve clang on Windows testing

Test both GNU clang and clang-cl

Use Ninja for performance

17 months agoMake sure VkSurfaceKHR is cast to uintptr properly
Charles Giessen [Tue, 19 Dec 2023 17:57:31 +0000 (10:57 -0700)]
Make sure VkSurfaceKHR is cast to uintptr properly

17 months agoFix wrong pointer casts in win32 surface code
Charles Giessen [Tue, 19 Dec 2023 17:12:29 +0000 (10:12 -0700)]
Fix wrong pointer casts in win32 surface code

The bad pattern was detected using clang/gcc but only on linux, so the
win32 code path never saw the fix.

17 months agoFix spelling mistakes in comments
Charles Giessen [Thu, 7 Dec 2023 20:41:31 +0000 (13:41 -0700)]
Fix spelling mistakes in comments

These creep in over time, and make the codebase harder to understand due to spelling
errors causing confusion when reading comments.

17 months agoUse memset to clear structs
Charles Giessen [Thu, 7 Dec 2023 20:39:36 +0000 (13:39 -0700)]
Use memset to clear structs

Several places manually zero'd out each member of a struct. This makes it possible to
forget to zero out members, especially as structs change over time. Using memset
prevents that possibility.

17 months agobuild: Update to header 1.3.274
Mike Schuchardt [Tue, 19 Dec 2023 16:47:00 +0000 (08:47 -0800)]
build: Update to header 1.3.274

- Update known-good
- Generate source

17 months agobuild(deps): bump github/codeql-action from 2.22.9 to 3.22.11
dependabot[bot] [Mon, 18 Dec 2023 17:40:08 +0000 (17:40 +0000)]
build(deps): bump github/codeql-action from 2.22.9 to 3.22.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.9 to 3.22.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/c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2...b374143c1149a9115d881581d29b8390bbcbb59c)

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

Signed-off-by: dependabot[bot] <support@github.com>
17 months agoRevert "Add simple timer of ICD preloading in live tests"
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Add simple timer of ICD preloading in live tests"

This reverts commit 2e502bf4c582a9fb2f1a5b863c74475c1a05972d.

17 months agoRevert "Unload drivers which report 0 physical devices"
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Unload drivers which report 0 physical devices"

This reverts commit ba275bd829ee7f6f2682df4a84a9ae8481c5b801.

17 months agoRevert "Use memset to clear structs"
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Use memset to clear structs"

This reverts commit 93855ba4e2dc1fba6a19fae4ee8bcf1a8462aad1.

17 months agoRevert "Fix spelling mistakes in comments"
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Fix spelling mistakes in comments"

This reverts commit 0133778cb1c4493a9d580700b8a6e0fe493c601c.

18 months agoFix version installation of vulkan-loader
Juan Ramos [Fri, 15 Dec 2023 00:01:30 +0000 (17:01 -0700)]
Fix version installation of vulkan-loader

Currently libvulkan.1.3.0.dylib gets installed instead of
libvulkan.1.3.273.dylib

This fixes that while keeping the fix for the linker warning.

18 months agobuild(deps): bump github/codeql-action from 2.22.8 to 2.22.9
dependabot[bot] [Mon, 11 Dec 2023 17:16:04 +0000 (17:16 +0000)]
build(deps): bump github/codeql-action from 2.22.8 to 2.22.9

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.8 to 2.22.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/407ffafae6a767df3e0230c3df91b6443ae8df75...c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2)

---
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>