Как vkEnumeratePhysicalDevices получает информацию о конфигурации системы? - PullRequest
1 голос
/ 08 февраля 2020

Недавно я установил новый проприетарный драйвер Nvidia на linux, все работает, как и ожидалось, за исключением того, что теперь Vulkan сообщает, что есть две видеокарты с одинаковой версией драйвера, одинаковым именем, одинаковыми семействами очередей и т. Д., Хотя я только установить одну видеокарту Мне сейчас очень интересно, почему это так. Я попытался взглянуть на реализацию загрузчика Vulkan на https://github.com/KhronosGroup/Vulkan-Loader, но я не мог понять этого.

1 Ответ

1 голос
/ 08 февраля 2020

Обнаружение ICD на Linux работает в соответствии с этим документом: https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/LoaderAndLayerInterface.md#icd -discovery-on- linux

В основном могут быть json файлы по заранее заданным путям. Один такой json файл содержит путь к файлу драйвера.

Кроме того, драйвер может сообщать о большем количестве физических устройств. Загрузчик просто вызывает vkEnumeratePhysicalDevices каждого драйвера и объединяет результаты.

Возможно, ваша проблема в дубликате json файла. Вероятно, у вас установлен проприетарный и бесплатный драйвер рядом друг с другом.

...