我目前正试图强制 Visual Studio 使用 Vulkan 的调试层 dll,但不知何故它无法加载库。我的步骤是:
- 克隆https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/BUILD.md
- 为 Visual Studio 2015 构建(发布和调试)
- 在我的 Vulkan 应用程序中,我将其放入环境变量(对于 x64 - 调试)(项目设置 - > 调试):
VK_LAYER_PATH=F:\Projects\Vulkan-LoaderAndValidationLayers\build\layers\Debug
当我启动我的应用程序时,它会一直运行,直到它尝试创建实例,然后它会返回VK_ERROR_LAYER_NOT_PRESENT
,我可以在 Visual Studio 的输出窗口中看到 dll 确实根本没有加载。如果我只是将 Vulkan 二进制文件的“正常”路径放在上面的路径中,它就会再次正常工作。我已经检查过是否还有 .json 文件。如果我尝试使用 LoaderAndValidationLayers 文件夹中的 Release-DLL,也会出现此问题。
我究竟做错了什么?有谁知道如何使这项工作?
编辑:我发现这VK_LAYER_LUNARG_threading
似乎是问题所在。如果我使用VK_LAYER_LUNARG_standard_validation
它不会加载任何东西。如果我只是指定手动包含的所有层(在此处描述:https ://vulkan.lunarg.com/app/docs/v1.0.3.1/layers )而没有该VK_LAYER_LUNARG_threading
层它可以正常工作。知道为什么会这样吗?