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.
Charles Giessen [Wed, 20 Mar 2024 18:50:13 +0000 (13:50 -0500)]
Fix CI sanitizer failures
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>
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
Richard S. Wright Jr [Tue, 5 Mar 2024 17:11:52 +0000 (12:11 -0500)]
apple: Updated framework version contents for appstore validation
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>
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
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.
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>
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>
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
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.
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>
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
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.
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.
Mateusz Przybylski [Thu, 1 Feb 2024 01:18:52 +0000 (17:18 -0800)]
Fix heap corruption in Windows tests.
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.
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>
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
Aitor Camacho [Tue, 16 Jan 2024 21:09:08 +0000 (22:09 +0100)]
loader: Check apiVersion is not 0 for VUID-VkApplicationInfo-apiVersion
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>
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.
Daniel Rakos [Wed, 10 Jan 2024 13:52:14 +0000 (14:52 +0100)]
loader: Miscellaneous platform-specific fixes
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>
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
Daniel Rakos [Fri, 5 Jan 2024 17:02:09 +0000 (18:02 +0100)]
build: API parameterization changes
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
Juan Ramos [Thu, 28 Dec 2023 22:16:29 +0000 (15:16 -0700)]
Document BUILD_WERROR
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.
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.
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.
Juan Ramos [Thu, 21 Dec 2023 21:51:32 +0000 (14:51 -0700)]
Cleanup GitHub action script
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>
Juan Ramos [Thu, 21 Dec 2023 20:47:05 +0000 (13:47 -0700)]
Add VulkanLoaderConfigVersion.cmake
Provides versioning information for the CMake package
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
Charles Giessen [Tue, 19 Dec 2023 17:57:31 +0000 (10:57 -0700)]
Make sure VkSurfaceKHR is cast to uintptr properly
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.
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.
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.
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
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>
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.
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.
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Use memset to clear structs"
This reverts commit
93855ba4e2dc1fba6a19fae4ee8bcf1a8462aad1.
Charles Giessen [Mon, 18 Dec 2023 20:10:29 +0000 (13:10 -0700)]
Revert "Fix spelling mistakes in comments"
This reverts commit
0133778cb1c4493a9d580700b8a6e0fe493c601c.
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.
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>
dependabot[bot] [Mon, 11 Dec 2023 17:15:56 +0000 (17:15 +0000)]
build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Mike Schuchardt [Fri, 8 Dec 2023 17:53:29 +0000 (09:53 -0800)]
ci: Remove macos-11 builds
CMake 3.28 is having issues with the macos-11 runner.
Mike Schuchardt [Fri, 8 Dec 2023 17:49:21 +0000 (09:49 -0800)]
build: Update to header 1.3.273
- Update known-good
- Generate source
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.
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.
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.
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.
Charles Giessen [Wed, 6 Dec 2023 21:01:16 +0000 (14:01 -0700)]
Support Clang with GNU interface on Windows
By using CMAKE_CXX_COMPILER_FRONTEND_VARIANT, CMake will now distinguish
clang from clang-cl, allowing the correct command line argument formats
to be used.
Making tests work required fixing up windows_shim.cpp's usage of wcscpy
since that was triggering deprecation warnings. A simple for loop was
used instead.
Charles Giessen [Fri, 1 Dec 2023 19:29:18 +0000 (12:29 -0700)]
Specify which layer type is being searched in log
Makes it clear which layer type is being searched for in any given set of paths.
Mike Schuchardt [Fri, 1 Dec 2023 19:17:36 +0000 (11:17 -0800)]
build: Update to header 1.3.272
- Update known-good
- Generate source
Juan Ramos [Thu, 30 Nov 2023 20:29:18 +0000 (13:29 -0700)]
docs: Remove comments about Travis/AppVeyor
Juan Ramos [Wed, 29 Nov 2023 20:11:40 +0000 (13:11 -0700)]
Add clang-format to CI
Juan Ramos [Tue, 28 Nov 2023 18:25:18 +0000 (11:25 -0700)]
Rename BUILD_STATIC_LOADER to APPLE_STATIC_LOADER
BUILD_STATIC_LOADER is ambiguous and implies it will work on all
platforms.
APPLE_STATIC_LOADER isn't ambiguous.
Furthermore don't document BUILD_STATIC_LOADER. Otherwise users
may use it when they shouldn't.
Mark APPLE_STATIC_LOADER as advanced so it doesn't show up in
cmake-gui by default.
Furthermore, make the build fail if someone tries to use
APPLE_STATIC_LOADER on a non Apple platform.
Juan Ramos [Mon, 27 Nov 2023 19:20:34 +0000 (12:20 -0700)]
Test Xcode generator
Needed for iOS / simulator testing
Mike Schuchardt [Mon, 27 Nov 2023 19:21:35 +0000 (11:21 -0800)]
build: Update to header 1.3.271
- Update known-good
- Generate source
dependabot[bot] [Mon, 27 Nov 2023 18:02:16 +0000 (18:02 +0000)]
build(deps): bump github/codeql-action from 2.22.7 to 2.22.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.7 to 2.22.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/
66b90a5db151a8042fa97405c6cf843bbe433f7b...
407ffafae6a767df3e0230c3df91b6443ae8df75)
---
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>
Charles Giessen [Wed, 22 Nov 2023 23:36:11 +0000 (16:36 -0700)]
Instance extensions unsupported by physical devices now return ERROR_EXTENSION_NOT_PRESENT
This is makes the code gen for VK_EXT_acquire_drm_display be in line with the wsi code
whenever calls to drivers are made which do not support the given extension.
Charles Giessen [Mon, 20 Nov 2023 21:35:42 +0000 (14:35 -0700)]
Remove -fno-strict-aliasing from builds
This was added in commit
72199501cb01497ddc0e429d561e2e7e17a841c4
It was purported to fix a hang, but was never fully verified if it actually
fixed the underlying issue (or if the issue came from buggy optimizing
compilers or drivers).
The chromium build does not enable -fno-strict-aliasing and hasn't had any
issues known to be caused by strict aliasing optimizations.
This commit also fixes debug report/debug utils code that was not properly
casing to uintptr_t before assinging or dereferencing function parameters.
The same logic occurs in wsi.h which as it assigned a pointer of VkIcdSurface
to the VkSurface parameter.
Charles Giessen [Mon, 20 Nov 2023 21:34:46 +0000 (14:34 -0700)]
Add Undefined Sanitizer support
Allows easy enabling of UBSAN.
Fixes one issue found with UBSAN in the tests.
dependabot[bot] [Mon, 20 Nov 2023 17:12:53 +0000 (17:12 +0000)]
build(deps): bump github/codeql-action from 2.22.5 to 2.22.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.5 to 2.22.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/
74483a38d39275f33fcff5f35b679b5ca4a26a99...
66b90a5db151a8042fa97405c6cf843bbe433f7b)
---
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>
Juan Ramos [Sun, 19 Nov 2023 22:54:18 +0000 (15:54 -0700)]
Remove API_NAME
Juan Ramos [Sun, 19 Nov 2023 22:25:47 +0000 (15:25 -0700)]
Remove -fno-builtin-memcmp
Charles Giessen [Fri, 17 Nov 2023 23:59:38 +0000 (16:59 -0700)]
Warn if apiVersion is below VK_API_VERSION_1_0 and above 0
Setting the apiVersion to an invalid value is an easy mistake to make.
But because it causes drivers to fail, the validation layers can not catch
it in time.
This commit makes it a 'fatal error' which forces log_message to write out
the message, regardless of whether or not VK_LOADER_DEBUG is set or if the
application has setup a debug callback in the pNext chain.
Juan Ramos [Fri, 17 Nov 2023 20:31:27 +0000 (13:31 -0700)]
ci: Test universal binaries
Juan Ramos [Fri, 17 Nov 2023 18:49:07 +0000 (11:49 -0700)]
proc_pidpath takes a uint32_t not a size_t
Charles Giessen [Fri, 17 Nov 2023 18:32:01 +0000 (11:32 -0700)]
Fix settings file crash found through fuzzers
A few error conditions weren't properly handled whenever the settings file is invalid.
Added the exact json file which caused the errors, then fixed issues with releasing
memory properly.
Charles Giessen [Mon, 13 Nov 2023 21:53:41 +0000 (14:53 -0700)]
Improve warning message from terminator_CreateInstance
Old messages were clunky and lacked helpful info like which driver failed
and the error code returned by the driver.
Charles Giessen [Sun, 12 Nov 2023 08:37:50 +0000 (01:37 -0700)]
Cleanup loader_icd_init_entries
The logic of the function indicates that at a previous time, the
functions being loaded used dlsym/GetProcAddress to query functions.
Whenever that was changed to vkGetInstanceProcAddr, the error logging
wasn't updated to remove loader_platform_get_proc_address_error.
Trying to call dlerror() when no error has occured will return NULL,
which was dutifully passed onto loader_log, causing crashes.
The cleanup removes usage of that, as well as making the loading
logic uses 2 macros, one for required & one for non-required
function pointers.
Cleanup also meant streamlining the parameter list of
loader_icd_init_entries, since VkInstance and GetInstanceProcAddr
are both able to be gotten from the icd_term. And also meant cleaning
up the inst parameter being passed into loader_log, which was turning
the drivers VkInstance into loader_instance* erroneously.
A test was added to ensure that the error path when drivers do not
support the required functions correctly returns an error from
vkCreateInstance instead of crashing.
Charles Giessen [Mon, 13 Nov 2023 20:51:19 +0000 (13:51 -0700)]
Fix typo in LoaderDriverInterface.md
Linux drivers use the ".so" extension, not ".dylib"
Mike Schuchardt [Fri, 10 Nov 2023 16:37:12 +0000 (08:37 -0800)]
build: Update to header 1.3.270
- Update known-good
- Generate source
Juan Ramos [Tue, 7 Nov 2023 21:04:36 +0000 (14:04 -0700)]
cmake: Fail if Fuchsia
Fuchsia builds are only properly supported via the Chromium
build.
Juan Ramos [Tue, 7 Nov 2023 21:04:14 +0000 (14:04 -0700)]
Remove vulkan.symbols.api not actually used anywhere
Juan Ramos [Tue, 7 Nov 2023 00:54:04 +0000 (17:54 -0700)]
Allow building a universal binary
My earlier error checking was too agressive and doesn't
allow for building a universal binary at all.
Move the error check inside of USE_GAS so it's clear to the user
what to do (IE disable GAS if building a univeral binary)
Juan Ramos [Mon, 6 Nov 2023 19:51:23 +0000 (12:51 -0700)]
cmake: Document why BUILD_STATIC_LOADER doesn't install
Charles Giessen [Mon, 9 Oct 2023 16:53:38 +0000 (10:53 -0600)]
Implement VK_MSFT_layered_driver extension support
This extension reorders physical devices enumerated through the windows
EnumerateAdapterPhysicalDevices whenever multiple drivers exist for the same
LUID. This is so that if a driver is considered a 'layered implementation',
eg Dozen's Vulkan on Dx12, the physical device corresponding to the native
vulkan driver is preferred.
The implementation of this extension cause some renaming of structs, variables,
and parameters to make the code easier to understand, such as renaming
the struct loader_phys_devs_per_icd to loader_icd_physical_devices.
During the review process there was quite a bit of confusion about what the
struct's purpose was that should be much clearer now.
MykolaMykhno [Tue, 31 Oct 2023 21:31:49 +0000 (23:31 +0200)]
tests: Create seed corpus data
Mark Young [Sun, 29 Oct 2023 20:29:04 +0000 (14:29 -0600)]
Enable layer log messages in DebugUtils
Debug Utils messengers wouldn't receive the layer or driver messages.
Mofified the messages so that the they would be logged in layers or
other debug utils messenger.
Mark Young [Fri, 27 Oct 2023 18:59:32 +0000 (12:59 -0600)]
Fix Debug callbacks in layers in vkCreateInstance
After a layer calls down to vkCreateInstance, it may need to create a
DebugUtils Messenger (or Report object) for capturing debug information.
With the old design, it would get handled as a "during vkCreateInstance"
debug utils messenger object because the loader trampoline was still
in the middle of "vkCreateInstance". However, treat it separately
if it was created with a call to vkCreateDebugUtilsMessenger and that
allows it to capture info all the way until the instance is destroyed.
dependabot[bot] [Mon, 30 Oct 2023 17:28:27 +0000 (17:28 +0000)]
build(deps): bump github/codeql-action from 2.22.4 to 2.22.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.4 to 2.22.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/
49abf0ba24d0b7953cb586944e918a0b92074c80...
74483a38d39275f33fcff5f35b679b5ca4a26a99)
---
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>
Juan Ramos [Fri, 27 Oct 2023 23:33:56 +0000 (17:33 -0600)]
cmake: Fix x86 / x64 check
closes #1356
Daniel Rakos [Thu, 26 Oct 2023 11:52:34 +0000 (13:52 +0200)]
Fix instance create swallowing error
Juan Ramos [Wed, 25 Oct 2023 19:27:02 +0000 (13:27 -0600)]
docs: Document QNX build
Juan Ramos [Wed, 25 Oct 2023 18:08:41 +0000 (12:08 -0600)]
build: Cleanup QNX build
Move QNX build scripts into the scripts directory. This is
consistent with how we deal with the chromium build.
Provide a useful error to CMake users trying to cross-compile
for QNX. Although CMake does support QNX we want to point users
to the official method.
Juan Ramos [Wed, 25 Oct 2023 17:41:57 +0000 (11:41 -0600)]
cmake: Move include(CheckIncludeFile) into loader/CMakeLists.txt
Currently it's confusing placed in the top level CMakeLists.txt
Juan Ramos [Wed, 25 Oct 2023 17:33:59 +0000 (11:33 -0600)]
cmake: Fixing unsecure environment warnings for MinGW/Apple
WIN32/Apple doesn't support these functions
Juan Ramos [Tue, 24 Oct 2023 22:48:36 +0000 (16:48 -0600)]
build: Move fushcia source files into loader directory
Mainly cosmetic to have 1 less top level directory
Juan Ramos [Tue, 24 Oct 2023 19:38:37 +0000 (13:38 -0600)]
ci: Add iOS / tvOS builds
Juan Ramos [Mon, 23 Oct 2023 23:41:48 +0000 (17:41 -0600)]
scripts: Update update_deps.py
Charles Giessen [Mon, 23 Oct 2023 23:30:37 +0000 (17:30 -0600)]
Check for nullptr in vkCreateInstance trampoline
pCreateInfo must not be NULL, but the loader was dereferencing the pointer
before checking if it is NULL. Moving the dereference below the check for
NULL ensures no nullptr dereferencing occurs.
Charles Giessen [Mon, 23 Oct 2023 20:44:56 +0000 (14:44 -0600)]
Dont assert in vkAllocateCommandBuffers
The loader_init_dispatch first checks if the dispatchable handle has the
ICD_MAGIC_VALUE before setting the handle to the correct dispatch pointer.
This is useful to check that driver's are correctly creating the handle
using VK_LOADER_DATA.
Because layers are capable of wrapping handles, the loader_init_dispatch
function should only be called in terminators which run before any layers
have a chance to modify the ICD_MAGIC_VALUE. Otherwise the assert fails.
vkGetDeviceQueue & vkGetDeviceQueue2 uses loader_set_dispatch, which does
the same code as loader_init_dispatch but without the assert.
This commit changes vkAllocateCommandBuffers to use loader_set_dispatch.
dependabot[bot] [Mon, 23 Oct 2023 17:10:47 +0000 (17:10 +0000)]
build(deps): bump github/codeql-action from 2.22.3 to 2.22.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.3 to 2.22.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/
0116bc2df50751f9724a2e35ef1f24d22f90e4e1...
49abf0ba24d0b7953cb586944e918a0b92074c80)
---
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>
Mike Schuchardt [Fri, 20 Oct 2023 20:43:39 +0000 (13:43 -0700)]
build: Update to header 1.3.269
- Update known-good
- Fix hard-coded tag index for getting extension names from vk.xml
- Relax regex for correlating kVulkanObjectType* with
VK_DEBUG_REPORT_OBJECT_TYPE_* by making the trailing _EXT optional
- Generate source