将apiVersion设置为VK_VERSION_1_0时的VK_ERROR_INCOMPATIBLE_DRIVER

时间:2017-02-04 20:51:49

标签: c++ vulkan

尝试设置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();
    }

1 个答案:

答案 0 :(得分:2)

您使用的是错误的宏!
请改用VK_API_VERSION_1_0

VK_VERSION_1_0只是为了检测你包含的Vulkan的1.0头。它只有True作为值。)

(BTW使用VkApplicationInfo是可选的。如果您使用它,则提供应用程序和/或引擎名称是可选的.App和Engine不一定使用Vulkan的版本控制方案,因此它不一定能够感觉使用VK_MAKE_VERSION那里