Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / vulkan / vulkan-loader
Commits: d7281916 by Juan Ramos at 2023-10-09T17:54:19-06:00 tests: Use googletest version 1.14.0 - - - - - 6b36b69a by Charles Giessen at 2023-10-10T12:57:07-06:00 Enable additional security checks for MSVC The /sdl compiler option enables additional security checks that were previously not enabled. - - - - - ab0cef76 by Juan Ramos at 2023-10-11T13:25:37-06:00 gn: Cleanup chromium build - - - - - 2dd0710a by Juan Ramos at 2023-10-11T14:53:12-06:00 gn: Remove .gn this file is generated now - - - - - 0c4bd8cd by Juan Ramos at 2023-10-11T17:15:14-06:00 cmake: Check system name for Linux|BSD A lot easier to read than `UNIX NOT APPLE` - - - - - ebde1f99 by Charles Giessen at 2023-10-12T12:28:11-06:00 Distinguish OOM from json parsing errors Whenever an invalid JSON file was encoutered, the loader would return VK_ERROR_OUT_OF_HOST_MEMORY because it couldn't distinguish an invalid JSON file from the inability to allocate memory while parsing JSON. This commit adds the necessary logic to be able to tell the two conditions apart as well as adding rudimentary testing of it. - - - - - 5402dd26 by Juan Ramos at 2023-10-12T14:03:42-06:00 cmake: Remove DETOURS_TARGET_PROCESSOR code - - - - - 1f1c5cb5 by Juan Ramos at 2023-10-13T12:53:30-06:00 cmake: Fix DragonFly and GNU/Hurd - - - - - bef51c91 by Mike Schuchardt at 2023-10-13T14:08:29-07:00 build: Update to header 1.3.268 - Update known-good - Generate source - - - - - 83b46176 by Juan Ramos at 2023-10-16T14:41:16-06:00 apple: Fix incorrect version linker warning Sets the patch version to 0 to avoid the linker warning Enable warnings as errors on CI to prevent regression closes #1332 - - - - - c20f503f by Juan Ramos at 2023-10-16T15:14:56-06:00 ci: Prevent duplicate CI runs when pushing to repo https://github.com/orgs/community/discussions/26276 - - - - - e0423d55 by Juan Ramos at 2023-10-16T15:14:56-06:00 ci: Add dependabot Updates actions automatically - - - - - be752c57 by dependabot[bot] at 2023-10-18T13:34:49-06:00 build(deps): bump actions/setup-python from 3 to 4 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <supp...@github.com> - - - - - 93485086 by dependabot[bot] at 2023-10-18T14:32:35-06:00 build(deps): bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <supp...@github.com> - - - - - 8238f4e6 by Charles Giessen at 2023-10-18T14:33:52-06:00 Revert "ci: Prevent duplicate CI runs when pushing to repo" Causes pushes to branches on forks to no longer trigger Github Actions. - - - - - 7b7d15bc by dependabot[bot] at 2023-10-18T14:34:10-06:00 build(deps): bump github/codeql-action from 2.21.8 to 2.22.3 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.8 to 2.22.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/6a28655e3dcb49cb0840ea372fd6d17733edd8a4...0116bc2df50751f9724a2e35ef1f24d22f90e4e1) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <supp...@github.com> - - - - - 4366625a by Juan Ramos at 2023-10-19T11:03:45-06:00 ci: Remove MacOSX Deployment Target We only support the 2 latest MacOS releases similar to Ubuntu. Which CI is already doing. - - - - - 131a081e by Juan Ramos at 2023-10-19T11:51:12-06:00 scripts: Remove unused scripts Checking the CI logs these scripts have not been run properly on GitHub actions CI for a long time. I can't find a log in GitHub actions CI that shows these scripts working properly. - - - - - 350eeb65 by Mike Schuchardt at 2023-10-20T15:45:57-07:00 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 - - - - - 9f9daefd by dependabot[bot] at 2023-10-23T13:32:47-06:00 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] <supp...@github.com> - - - - - b765f768 by Charles Giessen at 2023-10-23T17:27:34-06:00 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. - - - - - 7028f47e by Charles Giessen at 2023-10-24T09:04:58-06:00 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. - - - - - bef9c8ee by Juan Ramos at 2023-10-24T12:14:56-06:00 scripts: Update update_deps.py - - - - - b0dee931 by Juan Ramos at 2023-10-24T15:49:48-06:00 ci: Add iOS / tvOS builds - - - - - 87469b14 by Juan Ramos at 2023-10-24T17:18:00-06:00 build: Move fushcia source files into loader directory Mainly cosmetic to have 1 less top level directory - - - - - b3eed5b1 by Juan Ramos at 2023-10-25T12:31:00-06:00 cmake: Fixing unsecure environment warnings for MinGW/Apple WIN32/Apple doesn't support these functions - - - - - e64bb86b by Juan Ramos at 2023-10-25T12:31:00-06:00 cmake: Move include(CheckIncludeFile) into loader/CMakeLists.txt Currently it's confusing placed in the top level CMakeLists.txt - - - - - 6fdd46a7 by Juan Ramos at 2023-10-25T13:02:08-06:00 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. - - - - - e09818ad by Juan Ramos at 2023-10-25T14:23:15-06:00 docs: Document QNX build - - - - - 96a189bc by Daniel Rakos at 2023-10-26T10:04:24-06:00 Fix instance create swallowing error - - - - - 54d04dff by Juan Ramos at 2023-10-27T18:16:37-06:00 cmake: Fix x86 / x64 check closes #1356 - - - - - 7c4026b8 by dependabot[bot] at 2023-10-30T14:22:53-06:00 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] <supp...@github.com> - - - - - 32ef9d1d by Mark Young at 2023-10-31T00:17:41-06:00 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. - - - - - 1ddcde3c by Mark Young at 2023-10-31T00:17:41-06:00 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. - - - - - 9f257b62 by MykolaMykhno at 2023-10-31T16:58:58-06:00 tests: Create seed corpus data - - - - - 88499360 by Charles Giessen at 2023-11-06T09:08:22-07:00 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. - - - - - 70837963 by Juan Ramos at 2023-11-06T14:08:59-07:00 cmake: Document why BUILD_STATIC_LOADER doesn't install - - - - - a9c17bd0 by Juan Ramos at 2023-11-07T10:01:55-07:00 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) - - - - - 82da17cd by Juan Ramos at 2023-11-07T14:24:21-07:00 Remove vulkan.symbols.api not actually used anywhere - - - - - 6342790c by Juan Ramos at 2023-11-07T14:24:21-07:00 cmake: Fail if Fuchsia Fuchsia builds are only properly supported via the Chromium build. - - - - - 0b31098e by Mike Schuchardt at 2023-11-10T11:27:14-07:00 build: Update to header 1.3.270 - Update known-good - Generate source - - - - - fdfce5a4 by Charles Giessen at 2023-11-13T13:51:31-07:00 Fix typo in LoaderDriverInterface.md Linux drivers use the ".so" extension, not ".dylib" - - - - - 29c7c128 by Charles Giessen at 2023-11-13T14:26:36-07:00 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. - - - - - 38c5ce8b by Charles Giessen at 2023-11-13T17:02:11-07:00 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. - - - - - 0f8b6bc3 by Charles Giessen at 2023-11-17T11:56:41-07:00 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. - - - - - 2f876caf by Juan Ramos at 2023-11-17T12:26:21-07:00 proc_pidpath takes a uint32_t not a size_t - - - - - 840c599d by Juan Ramos at 2023-11-17T15:10:09-07:00 ci: Test universal binaries - - - - - fc9bfaa5 by Charles Giessen at 2023-11-17T18:40:56-07:00 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. - - - - - 93c1772e by Juan Ramos at 2023-11-19T16:04:07-07:00 Remove -fno-builtin-memcmp - - - - - 19e9e532 by Juan Ramos at 2023-11-19T16:14:38-07:00 Remove API_NAME - - - - - 42ee043c by dependabot[bot] at 2023-11-20T12:54:05-07:00 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] <supp...@github.com> - - - - - fe169031 by Charles Giessen at 2023-11-21T11:16:11-07:00 Add Undefined Sanitizer support Allows easy enabling of UBSAN. Fixes one issue found with UBSAN in the tests. - - - - - a4ff6a54 by Charles Giessen at 2023-11-21T11:16:11-07:00 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. - - - - - 0e7cf57a by Charles Giessen at 2023-11-23T07:30:10-07:00 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. - - - - - 4560f172 by dependabot[bot] at 2023-11-27T12:39:22-06:00 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] <supp...@github.com> - - - - - 2e63057c by Mike Schuchardt at 2023-11-27T14:19:07-06:00 build: Update to header 1.3.271 - Update known-good - Generate source - - - - - b00cb455 by Juan Ramos at 2023-11-27T14:00:53-07:00 Test Xcode generator Needed for iOS / simulator testing - - - - - cf32131e by Juan Ramos at 2023-11-28T14:22:02-07:00 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. - - - - - ced1ecb5 by Juan Ramos at 2023-11-29T14:14:37-07:00 Add clang-format to CI - - - - - f4ae60be by Juan Ramos at 2023-11-30T14:14:53-07:00 docs: Remove comments about Travis/AppVeyor - - - - - b79c10ba by Mike Schuchardt at 2023-12-01T11:56:01-08:00 build: Update to header 1.3.272 - Update known-good - Generate source - - - - - 81c4aa29 by Charles Giessen at 2023-12-06T10:47:56-07:00 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. - - - - - a0308b56 by Charles Giessen at 2023-12-06T14:26:25-07:00 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. - - - - - 2e502bf4 by Charles Giessen at 2023-12-07T14:01:04-07:00 Add simple timer of ICD preloading in live tests Adds a simple executable that times how long vkEnumerateInstanceExtensionProperties takes over and over to see how well the ICD preloading functions. - - - - - ba275bd8 by Charles Giessen at 2023-12-07T14:01:04-07:00 Unload drivers which report 0 physical devices The loader did not unload any ICD's which contained zero physical devices, which could cause premature exhaustion of memory in some circumstances, like 32 bit applications. While the policy of the loader has been to keep things open for the duration of the instance, these ICD's don't meaningfully participate in anything due to the lack of VkPhysicalDevices. This change adds a check after vkEnumeratePhysicalDevices where pPhysicalDevices is not NULL such that all loader_icd_terms which reported zero physical devices have its vkDestroyInstance called, and removed from the loader_instance's icd_term linked list. - - - - - 93855ba4 by Charles Giessen at 2023-12-07T14:01:04-07:00 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. - - - - - 0133778c by Charles Giessen at 2023-12-07T14:01:04-07:00 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. - - - - - cf1a1eff by Mike Schuchardt at 2023-12-08T10:42:17-08:00 build: Update to header 1.3.273 - Update known-good - Generate source - - - - - 979242bd by Mike Schuchardt at 2023-12-08T10:42:17-08:00 ci: Remove macos-11 builds CMake 3.28 is having issues with the macos-11 runner. - - - - - f901be5c by dependabot[bot] at 2023-12-14T15:06:46-07:00 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] <supp...@github.com> - - - - - e53cc582 by dependabot[bot] at 2023-12-14T15:06:54-07:00 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] <supp...@github.com> - - - - - e1531d96 by Juan Ramos at 2023-12-14T18:13:14-07:00 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. - - - - - ac7d930a by Charles Giessen at 2023-12-18T13:11:01-07:00 Revert "Fix spelling mistakes in comments" This reverts commit 0133778cb1c4493a9d580700b8a6e0fe493c601c. - - - - - 984164a3 by Charles Giessen at 2023-12-18T13:11:01-07:00 Revert "Use memset to clear structs" This reverts commit 93855ba4e2dc1fba6a19fae4ee8bcf1a8462aad1. - - - - - a79e2d63 by Charles Giessen at 2023-12-18T13:11:01-07:00 Revert "Unload drivers which report 0 physical devices" This reverts commit ba275bd829ee7f6f2682df4a84a9ae8481c5b801. - - - - - b5c19da7 by Charles Giessen at 2023-12-18T13:11:01-07:00 Revert "Add simple timer of ICD preloading in live tests" This reverts commit 2e502bf4c582a9fb2f1a5b863c74475c1a05972d. - - - - - bbc758bf by dependabot[bot] at 2023-12-18T16:29:48-07:00 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] <supp...@github.com> - - - - - ed075e31 by Mike Schuchardt at 2023-12-19T10:07:54-07:00 build: Update to header 1.3.274 - Update known-good - Generate source - - - - - 467d6816 by Charles Giessen at 2023-12-19T10:25:02-07:00 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. - - - - - 1529ba4e by Charles Giessen at 2023-12-19T10:25:02-07:00 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. - - - - - dc2a829d by Charles Giessen at 2023-12-19T10:51:50-07:00 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. - - - - - 40633a61 by Charles Giessen at 2023-12-19T14:05:09-07:00 Make sure VkSurfaceKHR is cast to uintptr properly - - - - - 3798f68b by Juan Ramos at 2023-12-20T19:45:19-07:00 Improve clang on Windows testing Test both GNU clang and clang-cl Use Ninja for performance - - - - - e9978441 by Juan Ramos at 2023-12-21T14:55:57-07:00 Add VulkanLoaderConfigVersion.cmake Provides versioning information for the CMake package - - - - - f914f5e4 by dependabot[bot] at 2023-12-25T12:02:16-07:00 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] <supp...@github.com> - - - - - 4eebcf08 by Juan Ramos at 2023-12-27T09:55:17-06:00 Cleanup GitHub action script - - - - - 741a9dfd by Juan Ramos at 2023-12-27T16:19:13-06:00 Add integration testing Test find_package(VulkanLoader CONFIG) Minimal vulkan.pc testing is also added. - - - - - a3b11f1f by Juan Ramos at 2023-12-28T15:36:37-06:00 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. - - - - - 9c1e2c96 by Juan Ramos at 2023-12-29T11:10:20-06:00 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. - - - - - 1fc2f177 by Juan Ramos at 2023-12-29T11:10:20-06:00 Document BUILD_WERROR - - - - - 2aa686f4 by Juan Ramos at 2023-12-29T11:39:10-07:00 Set CMake properties consistently Simplifies the code Idiomatic way of setting visibility via CMake - - - - - 66a0f145 by Daniel Rakos at 2024-01-05T12:47:54-06:00 build: API parameterization changes - - - - - e2b7bb12 by Mike Schuchardt at 2024-01-05T12:57:47-08:00 build: Update to header 1.3.275 - Update known-good - Generate source - - - - - 00893b9a by Charles Giessen at 2024-01-14T22:08:17-06:00 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. - - - - - 20 changed files: - + .github/dependabot.yml - .github/workflows/build.yml - .github/workflows/codeql.yml - .gn → .github/workflows/format.yml - .gitignore - BUILD.gn - BUILD.md - CMakeLists.txt - CONTRIBUTING.md - docs/LoaderDriverInterface.md - loader/CMakeLists.txt - loader/adapters.h - loader/cJSON.c - loader/cJSON.h - loader/debug_utils.c - fuchsia/dlopen_fuchsia.c → loader/dlopen_fuchsia.c - fuchsia/dlopen_fuchsia.h → loader/dlopen_fuchsia.h - loader/extension_manual.c - − loader/generated/.clang-format - loader/generated/vk_layer_dispatch_table.h The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/f4c838e2e7358fc450f8112119bbdbb5b03e03fa...00893b9a03e526aec2c5bf487521d16dfa435229 -- View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/vulkan-loader/-/compare/f4c838e2e7358fc450f8112119bbdbb5b03e03fa...00893b9a03e526aec2c5bf487521d16dfa435229 You're receiving this email because of your account on salsa.debian.org.