使用glfwGetRequiredInstanceExtensions

问题描述

我正在将Visual Studio 2019社区与C ++ 17和Vulkan SDK 1.2.148.1一起使用

#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

//other vulkan stuff here

VkInstance instance;
uint32_t count;
VkInstanceCreateInfo createInfo{};

createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
createInfo.ppEnabledExtensionNames = glfwGetrequiredInstanceExtensions(&count);
createInfo.enabledExtensionCount = count;
createInfo.enabledLayerCount = 0;
vkCreateInstance(&createInfo,nullptr,&instance)

创建实例后,VkWin32SurfaceCreateInfoKHR仍然不可用。代码在以下位置失败:

VkWin32SurfaceCreateInfoKHR createInfo{};

pastebin上的完整代码错误在第110行。

解决方法

VkWin32SurfaceCreateInfoKHR是特定于Windows的平台,因此要使用它,您需要在项目中的某个位置定义VK_USE_PLATFORM_WIN32_KHR