Получение устройства визуализации по умолчанию в Vulkan

#vulkan

#vulkan

Вопрос:

У меня есть движок на основе OpenGLES, который создает объекты EGLSurface из объектов EGLDisplay, полученных с помощью eglGetDisplay с параметром EGL_DEFAULT_DISPLAY.

Теперь я хочу перенести движок на Vulkan, и среди графических процессоров метод vkEnumeratePhysicalDevices возвращает мне, что я хочу выбрать графический процессор по умолчанию, предпочтительно таким же образом, как eglGetDisplay выбирает свое устройство внутри.

Существует ли понятие устройства по умолчанию в Vulkan и как его можно идентифицировать?

С уважением

Ответ №1:

Официально понятия устройства по умолчанию не существует. Однако некоторые драйверы устанавливают неявные уровни, которые переупорядочивают список физических устройств таким образом, чтобы первое перечисленное физическое устройство было предпочтительным. Типичным примером является слой VK_MESA_device_select. Поэтому, если первое физическое устройство соответствует вашим требованиям и у вас нет особых причин выбирать другое, это должно быть хорошим вариантом по умолчанию.