loader: use layer chain handle in get_device_driver_id - #2038
Merged
charles-lunarg merged 1 commit intoSep 21, 2026
Merged
Conversation
The driver id filter passes VkPhysicalDevice handles taken from the top of the layer chain, which a layer may have wrapped. Query the driver id through the layer chain instead of casting the handle to a loader_physical_device_term.
|
Author aizu-m not on autobuild list. Waiting for curator authorization before starting CI build. |
1 similar comment
|
Author aizu-m not on autobuild list. Waiting for curator authorization before starting CI build. |
charles-lunarg
approved these changes
Sep 21, 2026
Collaborator
There was a problem hiding this comment.
This is a VERY easy approval. Because a few months ago I made the exact same change when I was experimenting with removing wrapping of VkPhysicalDevices. That experiment failed, and I never thought of pulling out that cleanup into main. commit where I made that change if you were curious how similar the change is: charles-lunarg@8cdb1c9
Thank you for doing that!
|
CI Vulkan-Loader build queued with queue ID 126735. |
|
CI Vulkan-Loader build # 3776 running. |
|
CI Vulkan-Loader build # 3776 passed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
layer_inst_disp.EnumeratePhysicalDevices, so they are top of chain handles that a layer may have wrapped.get_device_driver_idcasts that handle toloader_physical_device_term. With a wrapping layerthis_icd_termaliases a field of the layer's own object, and the instance pointer andGetPhysicalDeviceProperties2pointer are then read out of unrelated memory.Test enables wrap_objects with the filter set: before,
Assertion failed: (inst != NULL), function get_device_driver_id; after, it passes. wrap_objects needed avkGetPhysicalDeviceProperties2intercept so the handle is unwrapped on the way down.