2017-02-04 18 views
2

Попытки создать приложение, но Вулкан, когда я установил apiVersion к VK_VERSION_1_0 я получаю VK_ERROR_INCOMPATIBLE_DRIVER от vkCreateInstance. Он работает нормально, если я установил apiVersion = 0.VK_ERROR_INCOMPATIBLE_DRIVER при установке apiVersion в VK_VERSION_1_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

Вы используете неправильный макрос!
Вместо этого использовать VK_API_VERSION_1_0.

(VK_VERSION_1_0 только для обнаружения вы включили 1.0 заголовок Vulkan. У него есть только True в качестве значения.)

(КСТАТИ Это необязательно использовать VkApplicationInfo. Если использовать это не является обязательным, чтобы обеспечить приложение и/или имя двигателя. Приложение и двигатель не обязательно используют схему управления версиями Vulkan, поэтому нет смысла использовать VK_MAKE_VERSION)