我一直在关注https://vulkan-tutorial.com/上的Vulkan教程,并且在设置窗口表面方面遇到了问题。完成本节并测试完所有内容后,我发现以下GLFW调用出现错误:
glfwCreateWindowSurface(instance, window, nullptr, &surface);
它返回-3。快速研究表明,这是的错误VK_ERROR_INITIALIZATION_FAILED
,然后我发现这意味着未找到Vulkan装载机。经过测试,很确定,我发现它glfwVulkanSupported()
正在恢复GLFW_FALSE
。但是,我不知道为什么。我现在用的是LunarG福尔康SDK 1.0.65.1,从这里,和x64 GLFW 3.2.1自这里。据我所知,这应该是有效的。在网上搜索没有任何有用的结果。cube.exe
SDK随附的Vulkan程序(如)可以正常运行。
谢谢 :)
码:
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#include <iostream>
#include <stdexcept>
#include <functional>
#include <vector>
#include <string.h>
#include <set>
#include <string>
VkResult CreateDebugReportCallbackEXT(
VkInstance instance,
const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
const VkAllocationCallbacks *pAllocator,
VkDebugReportCallbackEXT *pCallback){
auto func = (PFN_vkCreateDebugReportCallbackEXT) vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
if (func != nullptr){
return func(instance, pCreateInfo, pAllocator, pCallback);
}
else{
return VK_ERROR_EXTENSION_NOT_PRESENT;
}
}
void …
Run Code Online (Sandbox Code Playgroud)