SerafimArts
@SerafimArts
Senior Notepad Reader

Какое поведение таблицы экспорта Vulkan библиотеки?

Привет.

При подключении Vulkan нативно доступны функции версий 1.0 и 1.1, однако расширения и функции версии 1.2+ доступны только через "vkGetInstanceProcAddr".

Предыдущий вопрос
Вопрос следующий:

1) Подобное поведение связано с тем, что конкретно моя видеокарта поддерживает vk до 1.1 (версия 1.1 возвращается в device properties, т.е. это действительно так) и на видеокартах с поддержкой vk 1.2 будут явно доступны и другие функции?
2) Или это поведение аналогично OpenGL, где opengl32.dll содержит только функции 1.0, 1.1 (и вроде 1.2), а все остальные доступны через wglGetProcAddr (или glx/ARB) и поведение меняться не будет вне зависимости от того какая версия API поддерживается?

TL;DR; Т.е. это поведение регламентировано и меняться не планируется или зависит от поддержки API видеокартой/драйверами?


P.S. Обновил драйвера до бетки и все функции 1.2 появились в таблице экспорта. Т.е. ответ на вопрос я нашёл: Наличие той или иной функции в таблице экспорта регламентируется версией драйверов. Теперь возникли другие вопросы:

1) Как будет вести себя эта таблица при наличии двух и более GPU? Например GPU0 vk1.0 + GPU1 vk1.2: Будут все функции максимально доступной версии (в данном случае 1.2)?
2) Чья реализация будет использоваться? Например типичная "vkCreateInstance" от драйверов дискретки или интегрированной карты?
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы