AFAIK Vulkan spec (or the loader interface doc) does not prescribe any particualar order in the vkEnumeratePhysicalDevices list.
What would be the best way to choose appropriate physical device from the list for your average fullscreen app?
It is not exposed through the API which one is the one currently connected to primary monitor (which would be a reasonable default to choose). Also some OS are somewhat too eager to connect all GPUs to all display ports, which can lead to some performance issues (and you cannot choose by simply querying the presentation support).
Might also be nice to query approximate FLOPS of the device.
A) I struggle to find examples (for all platforms) on how to determine the primary GPU for subsequent use in Vulkan. Should such examples be created and offered somewhere reachable?
B) Considering this may be nontrivial, should new API be added to Vulkan to query GPU and monitors realation (as well as finding the "primary" for those platforms where such concept exists)?
C) Or maybe the loader should order the GPUs on platforms where it is feasible as outside-spec solution?
From https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/2600
AFAIK Vulkan spec (or the loader interface doc) does not prescribe any particualar order in the
vkEnumeratePhysicalDevices
list.What would be the best way to choose appropriate physical device from the list for your average fullscreen app?
It is not exposed through the API which one is the one currently connected to primary monitor (which would be a reasonable default to choose). Also some OS are somewhat too eager to connect all GPUs to all display ports, which can lead to some performance issues (and you cannot choose by simply querying the presentation support).
Might also be nice to query approximate FLOPS of the device.
A) I struggle to find examples (for all platforms) on how to determine the primary GPU for subsequent use in Vulkan. Should such examples be created and offered somewhere reachable?
B) Considering this may be nontrivial, should new API be added to Vulkan to query GPU and monitors realation (as well as finding the "primary" for those platforms where such concept exists)?
C) Or maybe the loader should order the GPUs on platforms where it is feasible as outside-spec solution?