[英]How do I run the Vulkan API if I have no VK_KHR_swapchain extension?
I am on Windows 10, my GPU is GTX 880M. 我在Windows 10上,我的GPU是GTX 880M。 When I use vkEnumerateInstanceExtensionProperties to get supported extensions all I get is: 当我使用vkEnumerateInstanceExtensionProperties获取受支持的扩展时,我得到的是:
"VK_KHR_surface" “VK_KHR_surface”
"VK_KHR_win32_surface" “VK_KHR_win32_surface”
"VK_EXT_debug_report" “VK_EXT_debug_report”
However I have no "VK_KHR_swapchain" and if I try to enable "VK_KHR_swapchain" at instance creation, it just hangs. 但是,我没有“ VK_KHR_swapchain”,如果我尝试在实例创建时启用“ VK_KHR_swapchain”,它将挂起。
Without "VK_KHR_swapchain" however, I can't create a swap chain, my debug callback from the validation layer gets called with this message: 但是,如果没有“ VK_KHR_swapchain”,我将无法创建交换链,来自验证层的调试回调将通过以下消息进行调用:
"Attemped to call vkCreateSwapchainKHR() but its required extension VK_KHR_swapchain has not been enabled\\n" “尝试调用vkCreateSwapchainKHR(),但尚未启用其必需的扩展名VK_KHR_swapchain \\ n”
I can run games with Vulkan enabled just fine, as well as run the Cube demo from the Vulkan SDK, so there has to be some way I can create a Swapchain and render, right? 我可以在启用了Vulkan的情况下运行游戏,也可以从Vulkan SDK运行Cube演示,因此必须有某种方法可以创建Swapchain和渲染,对吗?
Or is there some kind of hack that has to be employed when a GPU doesn't have that extension? 还是在GPU没有扩展功能的情况下需要采用某种技巧?
VK_KHR_swapchain
is a device extension , not an instance extension. VK_KHR_swapchain
是设备扩展 ,而不是实例扩展。 So you need to add it at device creation level instead. 因此,您需要在设备创建级别添加它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.