C++ 将apiVersion设置为VK_版本\u 1\u 0时,VK_错误\u不兼容\u驱动程序
试图设置Vulkan应用程序,但当我将C++ 将apiVersion设置为VK_版本\u 1\u 0时,VK_错误\u不兼容\u驱动程序,c++,vulkan,C++,Vulkan,试图设置Vulkan应用程序,但当我将apiVersion设置为VK\u VERSION\u 1\u 0时,我从vkCreateInstance获得VK\u ERROR\u compatible\u驱动程序。 如果我设置apiVersion=0,它工作正常 我是遗漏了什么还是这种行为是无意的(我想我遗漏了什么) 您使用了错误的宏 改用VK\u API\u VERSION\u 1\u 0 (VK\u VERSION\u 1\u 0只是检测您包含的Vulkan的1.0头。它只有True作为值。) (
apiVersion
设置为VK\u VERSION\u 1\u 0
时,我从vkCreateInstance
获得VK\u ERROR\u compatible\u驱动程序。
如果我设置apiVersion=0
,它工作正常
我是遗漏了什么还是这种行为是无意的(我想我遗漏了什么)
您使用了错误的宏
改用VK\u API\u VERSION\u 1\u 0
(VK\u VERSION\u 1\u 0
只是检测您包含的Vulkan的1.0头。它只有True
作为值。)
(顺便说一句,使用VkApplicationInfo
是可选的。如果您使用它,则提供应用程序和/或引擎名称是可选的。应用程序和引擎不一定使用Vulkan的版本控制方案,因此使用VK_make_VERSION
不一定有意义)
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();
}