https://bugs.winehq.org/show_bug.cgi?id=50542
Bug ID: 50542 Summary: get_gpu_properties_from_vulkan() assumes a 1-1 mapping of XRRProvider to VkPhysicalDevice Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: loothelion@nvidia.com Distribution: ---
The function currently takes in a single XRRProvider, and will stop execution after it finds the first eligible device. This causes an issue for setups where multiple Vulkan ICDs may expose devices which have valid RROutputs on a single XRRProvider.
I believe a minimal test-case for this would be the LUID part of the vulkan-1 test already in the WINE tree, as it enumerates LUID information for every VkPhysicalDevice it can find.
See link to mesa bug for more information: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4112#note_774347
https://bugs.winehq.org/show_bug.cgi?id=50542
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=50542
--- Comment #1 from Zhiyi Zhang zzhang@codeweavers.com --- I am not sure what should be done in Wine for this bug. Wait for the device selection layer like https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8551 to land? We could also sort the Vulkan devices in Wine.
This is probably the same bug as 49764.
https://bugs.winehq.org/show_bug.cgi?id=50542
--- Comment #2 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 69242 --> https://bugs.winehq.org/attachment.cgi?id=69242 patch
Similar to the device selection layer patch proposed at https://gitlab.freedesktop.org/mesa/mesa/-/issues/4112#note_774347
https://bugs.winehq.org/show_bug.cgi?id=50542
--- Comment #3 from Liam Middlebrook loothelion@nvidia.com --- I think that logic makes sense. Although maybe this is a staging-level patch?
A Vulkan Device selection layer should be affecting this section of code in winex11.drv also, not just the application+winevulkan. If users aren't seeing any changes from enabling it, I'd think there may be something in the newer Proton versions which make use of a container-based runtime that just isn't importing the device selection layer properly.
In upstream I think it's important to respect what order the VkPhysicalDevice entries are being supplied to us in.
https://bugs.winehq.org/show_bug.cgi?id=50542
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|UNCONFIRMED |RESOLVED
--- Comment #4 from Zhiyi Zhang zzhang@codeweavers.com --- Marking this as a duplicate of 49764
*** This bug has been marked as a duplicate of bug 49764 ***
https://bugs.winehq.org/show_bug.cgi?id=50542
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing Duplicate.