好久没有在本地写Vulkan代码了,启动vulkan应用后发现如下log:
validation layer: loader_get_json: Failed to open JSON file D:\Program Files\Epic Games\Launcher\Portal\Extras\Overlay\EOSOverlayVkLayer-Win32.json
validation layer不可用,那对vulkan开发可影响太大了。
错误信息看的到validation layer在运行中打开失败了,从名字看应该是在打开Epic Games的layer配置文件。但是我的Epic Games早已删除。
既然是运行中问题,说明跟VS的库没有关系。找找配置路径:
Vulkan手册找到如下配置路径:
Platform | Output | Location |
---|---|---|
Linux | Vulkan Override Layer | $USER/.local/share/vulkan/implicit_layer.d/VkLayer_override.json |
Vulkan Layer Settings | $USER/.local/share/vulkan/settings.d/vk_layer_settings.txt | |
VkConfig Configuration Settings | $USER/.local/share/vulkan/settings.d/vk_layer_settings.txt | |
Windows | Vulkan Override Layer | %HOME%\AppData\Local\LunarG\vkconfig\override\VkLayerOverride.json |
Vulkan Layer Settings | (registry) HKEY_CURRENT_USER\Software\Khronos\Vulkan\LoaderSettings | |
VkConfig Configuration Settings | (registry) HKEY_CURRENT_USER\Software\LunarG\vkconfig |
Vulkan-Loader/docs/LoaderInterfaceArchitecture.md at main · KhronosGroup/Vulkan-Loader (github.com)
跟着WIndows的注册表路径即可看到Epic Games注册的信息,这一部分是Epic Games卸载时没有删除的,导致了后续所有的Vulkan应用都出问题。
(Ref:运行-> regedit->HKEY_CURRENT_USER\Software\Khronos\Vulkan\LoaderSettings->ImplicitLayers)
我这块整个Khronos目录下没有其他太多配置,我将Khronos目录下全部删除,后续问题解决。