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

