C++ 将apiVersion设置为VK_版本\u 1\u 0时,VK_错误\u不兼容\u驱动程序

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作为值。) (

试图设置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
作为值。)

(顺便说一句,使用
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();
    }