/
redgpu
/
raygpu
Обзор
Документация
Войти
/
redgpu
/
raygpu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/dawn_stuff.cpp
42 строки
1 KB
zeo
Dawn: add system search path, handle validation layers (#29)
18 дек 2025, 11:58
Не верифицирован
18 дек 2025, 11:58
efe5c66
Код
Авторство
О чём код?
#include <webgpu/webgpu.h> #include "include/dawn/native/DawnNative.h" #if defined(_WIN32) # if !defined(WIN32_LEAN_AND_MEAN) # define WIN32_LEAN_AND_MEAN # endif # include <windows.h> #endif extern "C" WGPUChainedStruct* chainDawnStuff() { static dawn::native::DawnInstanceDescriptor dawnDesc = {}; #if defined(_WIN32) // On Windows, add System32 as an additional search path (for vulkan-1.dll etc) static char systemPath[MAX_PATH] = {0}; static const char* searchPaths[] = { systemPath }; if (systemPath[0] == '\0') { UINT len = GetSystemDirectoryA(systemPath, MAX_PATH); if (len == 0) { strcpy(systemPath, "C:\\Windows\\System32\\"); } // ensure trailing backslash else if (len < MAX_PATH - 1 && systemPath[len - 1] != '\\') { systemPath[len] = '\\'; systemPath[len + 1] = '\0'; } } dawnDesc.additionalRuntimeSearchPathsCount = 1; dawnDesc.additionalRuntimeSearchPaths = searchPaths; #endif #if !defined(NDEBUG) dawnDesc.backendValidationLevel = dawn::native::BackendValidationLevel::Full; #else dawnDesc.backendValidationLevel = dawn::native::BackendValidationLevel::Disabled; #endif return (WGPUChainedStruct*)&dawnDesc; }