我试图设置一个Vulkan应用程序,但是当我将apiVersion设置为VK_VERSION_1_0时,我从vkCreateInstance得到了VK_ERROR_INCOMPATIBLE_DRIVER。如果我设置了apiVersion = 0,它就能正常工作。
我是否遗漏了什么,或者这种行为是否是无意的(我想我遗漏了什么)?
VkApplicationInfo appInfo;
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
appInfo.pNext = NULL;
appInfo.pApplicationName = "Vulkan Tutorial";
appInfo.applicationVersion = VK_MAKE_VERSION(0, 0, 0);
appInfo.pEngineName = "LUL";
appInfo.engineVersion = VK_MAKE_VERSION(0, 0, 0);
appInfo.apiVersion = VK_VERSION_1_0;
VkResult result = vkCreateInstance(&instanceInfo, NULL, &instance);
if (result != VK_SUCCESS){
__debugbreak();
}发布于 2017-02-05 06:56:43
您正在使用错误的宏!
请改用VK_API_VERSION_1_0。
(VK_VERSION_1_0只是检测到你包含了Vulkan的1.0报头。它确实只有True作为值。)
(顺便说一句,使用VkApplicationInfo是可选的。如果您确实使用它,则可以选择提供应用程序和/或引擎名称。应用程序和引擎不一定使用Vulkan的版本控制方案,因此在那里使用VK_MAKE_VERSION并不一定有意义)
https://stackoverflow.com/questions/42045467
复制相似问题