使用多显示器设置和OpenGL / Direct3D 11,Windows会选择主显示器所连接的设备。我试图用Vulkan模仿这种行为。如何确定vkEnumeratePhysicalDevices
返回的哪个物理设备是连接到的主监视器?
答案 0 :(得分:1)
一般来说,你不应该在乎。
以平台特定的方式在您想要的任何监视器上创建平台窗口。从平台窗口创建VkSurface
。使用vkGetPhysicalDeviceSurfaceSupportKHR
(分别选择VkPhysicalDevice
和具有支持的队列系列)检查支持。并对此感到满意 - 你现在可以画到窗口(直到Vulkan另有说明)。
但是你可以滥用它,在主监视器上创建一个窗口,并询问物理设备的任何队列系列是否支持它。如果是,则物理设备已连接或能够在主监视器上显示。