Vulkan - это не одна dll. Это целая среда со статическими и динамическими библиотеками, хедерами, скриптами и примерами. И кучей утилит. Установщик вносит изменения в реестр и создаёт переменные среды.
Upd: если положить vulkan-1.dll из пакета VulkanRT-X64-1.4.350.0-Components.zip, то должно работать, если железо поддерживает Vulkan. Но у меня везде SDK, а не RT, поэтому подтвердить не могу
Одно важное замечание Чуйка меня не подвела. В этом дебаггере есть большой подвох. Из-за него (а точнее, из-за слоя валидации) Вулкан падает на GPU Intel. В сети есть много жалоб на эту тему. Подробнее: по результатам vkEnumerateInstanceLayerProperties лог показывает, что Intel(R) Iris(R) Xe Graphics поддерживает слой валидации - VK_LAYER_KHRONOS_validation. Но фактически Intel работает с этим слоем неадекватно. Приложение аварийно завершается. Что делать? Напрашивается решение: при входе в программу проверять, есть ли в системе дискретная карта. Как это сделать? Способов множество, благо, мы все здесь что-то умеем. Но самый простой из них (без реестра, без переменных окружения, без портов и без драйверов) - это спросить у Вулкана. Допустим. Но в какой момент? Мы получаем информацию об устройствах с помощью функции vkEnumeratePhysicalDevices. А её первый аргумент - это hVkInstance. То есть мы должны вызвать vkCreateInstance, и только после этого мы получим возможность запроса информации об устройствах. Всё бы хорошо. Но для вызова этой функции мы должны заполнить структуру VkInstanceCreateInfo, в которой мы указываем enabledLayerCount, т.е. количество включенных (не всех доступных, а именно включенных) слоёв и ppEnabledLayerNames, т.е. указатель на массив указателей на имена включенных слоёв. Что это значит? Что мы должны не включать VK_LAYER_KHRONOS_validation, если мы не уверены, что в системе дискретная карта. Но если мы вызовем vkCreateInstance без этого слоя, то подключить его уже не сможем без полного перезапуска всего контекста Вулкана. Вот такая история. А решение - типичный вулкановский костыль: делать всё в два прогона. Сначала создаём куцый контекст, чтобы вызвать vkEnumerateInstanceLayerProperties, выбираем подходящую видеокарту, выходим и заходим заново.
Реализация сказанного в посте выше: --- Сообщение объединено, 21 июн 2026 в 17:26 --- Работающий на NVIDIA GeForce GTX 1650 и на Iris Xe пакет со всеми дампами и логами Ещё раз всё перепроверил и добавил новый дамп. Теперь, кроме лога, выводятся ещё четыре дампа: 1. Дамп слоёв (Instance Layers). 2. Дамп расширений Вулкан (Instance Extensions). 3. Дамп устройств (Devices). 4. Дамп аппаратных расширений (Device Extensions). Немного аналитики: Показатели1650 (дискретная)Iris (встроенная)Instance Layers118Instance Extensions1912Device Extensions239104Всё! На этом официально объявляю, что рамочное приложение считаю завершённым. Все итоговые версии (пошаговые, минимальная и полная) вынесены в заголовок топика. До новых радостных встреч! А я пойду и возьму себе чего-нибудь вкусного нефильтрованного. Я сегодня заслужил.