我正在使用全屏表面,我认为这是
vkGetPhysicalDeviceSurfaceSupportKHR
会告诉我的内容。然而,每个VkPhysicalDevice
似乎都是每个VkSurfaceKHR
的有效目标,所以我猜这是操作系统和GPU驱动程序可以处理的事情,但是否有任何提示可以将哪个表面与设备关联起来?据我所知,扩展
VK_KHR_display
是实现此目的的一种方法,但它在我的Windows 10机器或Nvidia GPU上不可用。它似乎只适用于嵌入式平台。但它允许您列出每个设备附加的显示器,这正是我要寻找的:https://vulkan.lunarg.com/doc/view/1.0.30.0/linux/vkspec.chunked/ch29s03.html
这段引用来自文档,让我相信这可能不支持Windows:
但是,我仍然有兴趣听听是否有解决方法可以实现类似的效果。问题
1)Win32需要一种方法来查询特定物理设备和特定屏幕之间的兼容性吗?物理设备与窗口之间的兼容性通常仅取决于窗口所在的屏幕。但是,没有明显的方法来识别屏幕,而不必已经在屏幕上拥有窗口。
解决:否。虽然它可能很有用,但在Win32上没有清晰的方法来执行此操作。但是,添加了一种方法来查询对整个Windows桌面进行呈现的支持。