尝试设置Vulkan应用程序但是当我将apiVersion
设置为VK_VERSION_1_0
时,我从VK_ERROR_INCOMPATIBLE_DRIVER
获得vkCreateInstance
。
如果我设置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();
}
答案 0 :(得分:2)
您使用的是错误的宏!
请改用VK_API_VERSION_1_0
。
(VK_VERSION_1_0
只是为了检测你包含的Vulkan的1.0头。它只有True
作为值。)
(BTW使用VkApplicationInfo
是可选的。如果您使用它,则提供应用程序和/或引擎名称是可选的.App和Engine不一定使用Vulkan的版本控制方案,因此它不一定能够感觉使用VK_MAKE_VERSION
那里