代码之家  ›  专栏  ›  技术社区  ›  ulak blade

如果没有VK\u KHR\u swapchain扩展,如何运行Vulkan API?

  •  2
  • ulak blade  · 技术社区  · 8 年前

    我在Windows 10上,我的GPU是GTX 880M。 当我使用vkEnumerateInstanceExtensionProperties获取受支持的扩展时,我得到的只是:

    “VK\U KHR\U表面”
    “VK\U KHR\U win32\U曲面”
    “VK\U EXT\U debug\U报告”

    但是,我没有“VK\u KHR\u swapchain”,如果我尝试在实例创建时启用“VK\u KHR\u swapchain”,它就会挂起。

    但是,如果没有“VK\u KHR\u swapchain”,我就无法创建交换链,来自验证层的调试回调将被调用,并显示以下消息:

    “尝试调用vkCreateSwapchainKHR(),但它是必需的扩展名 VK\u KHR\u swapchain尚未启用\n“

    我可以在启用Vulkan的情况下运行游戏,也可以从Vulkan SDK运行多维数据集演示,因此必须有某种方法可以创建交换链并进行渲染,对吗?

    或者,当GPU没有扩展时,是否必须使用某种黑客?

    1 回复  |  直到 8 年前
        1
  •  7
  •   Sascha Willems    8 年前

    VK_KHR_swapchain 是一个 device extension ,不是实例扩展。因此,您需要在设备创建级别添加它。