LINUX.ORG.RU

Можно ли получить текущий VkPhysicalDevice без вызова vkEnumeratePhysicalDevices()?

 


0

1

А то он у меня дискретку пробуждает. И висит несколько секунд всё то время, пока она просыпается. (И при завершении приложения тоже пробуждает и висит, вообще хз почему.)

UPD. Так-с, пробуждает дискретку и висит (1.99 секунды) vkCreateInstance() – ещё ДО того как вызывает enumerate. Сам enumerate отрабатывает мгновенно. Возможно, надо покопать в опциях этого create instance.

UPD2: Solved.

★★★★★

Последнее исправление: dimgel (всего исправлений: 2)

Нет, нельзя получить VkPhysicalDevice без вызова vkEnumeratePhysicalDevices(). Этот вызов является стандартным и обязательным способом получения одного или нескольких физических устройств (GPU), доступных через Vulkan API. Почему так:

VkInstance сам по себе не содержит информации о физических устройствах.

Только vkEnumeratePhysicalDevices() сообщает, какие физические устройства доступны на данной машине, и возвращает массив VkPhysicalDevice.

hippi90 ★★★★★
()
Ответ на: комментарий от mittorn

А спека-то причём? Ну открой у них на гитхабе баг и попроси исправить. Но я что-то подозреваю, что они ответят что это за пределами задач вулкана и потому требовать такого от реализации излишне.

anonymous
()
Ответ на: комментарий от anonymous

притом, что она требует, чтобы драйвер не создавал проблем для других драйверов. А в данном случае всё-таки создаёт, пусть и не такие критичные, но формально это спеку не нарушает - невидия не обязана даже исправлять это как-то

mittorn ★★★★★
()