-
Notifications
You must be signed in to change notification settings - Fork 313
Description
VK_INSTANCE_LAYERS allows enabling and ordering the layers.
This is working fine :
- When the
layerssection ofvk_loader_settings.jsonis not written. - When
layersis written empty,VK_INSTANCE_LAYERSis ignored as expected.
However, the interaction between the layers section and VK_INSTANCE_LAYERS is not following the VK_INSTANCE_LAYERS order.
An obvious case is when vk_loader_settings.json is:
{
"file_format_version": "1.0.0",
"settings_array": [
{
"device_configurations": [
{
"deviceName": "AMD Radeon RX 6600 XT",
"deviceUUID": [
0,
0,
0,
0,
14,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"driverName": "AMD proprietary driver",
"driverUUID": [
65,
77,
68,
45,
87,
73,
78,
45,
68,
82,
86,
0,
0,
0,
0,
0
],
"driverVersion": 8388961
}
],
"layers": [
{
"control": "unordered_layer_location"
}
],
"stderr_log": [
"layer"
]
}
]
}
Then when I launch vkcube, I am getting this log (VK_INSTANCE_LAYERS order is not respected):
Launching Vulkan Application:
- Executable: E:\VulkanSDK\1.4.335.0-rc\Bin\vkcube.exe
- Working Directory: E:\VulkanSDK\1.4.335.0-beta1\Bin
- Command-line Arguments:
- --suppress_popups
- Environment Variables:
- VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus
- Log file: C:\Users\Piranha\VulkanSDK\vkcube.txt
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
Selected WSI platform: win32
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: opening device PCI\VEN_10DE&DEV_2208&SUBSYS_88021043&REV_A1\4&31ac7a68&0&0019
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 4 - DISPLAY\GSM7707\5&1D83BE85&1&UID45318
[Vulkan Loader] DEBUG | LAYER: windows_get_device_registry_files: GUID for 4 is not SoftwareComponent skipping
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: opening device PCI\VEN_1002&DEV_73FF&SUBSYS_448E1DA2&REV_C1\6&1c5499bc&0&0000001A
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 5 - SWD\DRIVERENUM\AMDFDANS&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 6 - SWD\DRIVERENUM\AMDOCL&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 7 - SWD\DRIVERENUM\AMDWIN&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 8 - DISPLAY\GSM7707\7&3384D6A1&2&UID776
[Vulkan Loader] DEBUG | LAYER: windows_get_device_registry_files: GUID for 8 is not SoftwareComponent skipping
[Vulkan Loader] LAYER: windows_get_device_registry_files: found no registry files
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_api_dump.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_gfxreconstruct.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_synchronization2.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_monitor.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_screenshot.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_shader_object.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_crash_diagnostic.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] WARNING | LAYER: env var 'VK_INSTANCE_LAYERS' defined and adding layers: VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus
[Vulkan Loader] WARNING | LAYER: env var 'VK_INSTANCE_LAYERS' defined and adding layers: VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus
[Vulkan Loader] DEBUG | LAYER: Loading layer library E:\VulkanSDK\1.4.335.0-rc\Bin\.\VkLayer_khronos_profiles.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_KHRONOS_profiles" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library E:\VulkanSDK\1.4.335.0-rc\Bin\.\VkLayer_khronos_validation.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_KHRONOS_validation" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\.\nvoglv64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_NV_present" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\.\nvoglv64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_NV_optimus" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\.\amdvlk64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_AMD_switchable_graphics" (C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll)
[Vulkan Loader] LAYER: vkCreateInstance layer callstack setup to:
[Vulkan Loader] LAYER: <Application>
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: <Loader>
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_AMD_switchable_graphics
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amd-vulkan64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_optimus
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_OPTIMUS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_present
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_GR2608_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_validation
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_profiles
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: <Drivers>
Selected GPU 0: AMD Radeon RX 6600 XT, type: DiscreteGpu
[Vulkan Loader] INFO | LAYER: Failed to find vkGetDeviceProcAddr in layer "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll"
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_KHRONOS_validation" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll)
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_NV_present" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_NV_optimus" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] INFO | LAYER: Failed to find vkGetDeviceProcAddr in layer "C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll"
[Vulkan Loader] DRIVER: vkCreateDevice layer callstack setup to:
[Vulkan Loader] DRIVER: <Application>
[Vulkan Loader] DRIVER: ||
[Vulkan Loader] DRIVER: <Loader>
[Vulkan Loader] DRIVER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_optimus
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_OPTIMUS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_present
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_GR2608_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_validation
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] DRIVER: <Device>
[Vulkan Loader] DRIVER: Using "AMD Radeon RX 6600 XT" with driver: "C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll"
As a comparison, when layers is not written, I am getting this log (VK_INSTANCE_LAYERS order is respected):
Launching Vulkan Application:
- Executable: E:\VulkanSDK\1.4.335.0-rc\Bin\vkcube.exe
- Working Directory: E:\VulkanSDK\1.4.335.0-beta1\Bin
- Command-line Arguments:
- --suppress_popups
- Environment Variables:
- VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus
- Log file: C:\Users\Piranha\VulkanSDK\vkcube.txt
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
Selected WSI platform: win32
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamOverlayVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files (x86)\Steam\SteamFossilizeVulkanLayer64.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
[Vulkan Loader] LAYER: Checking for Layer Manifest files in Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: opening device PCI\VEN_10DE&DEV_2208&SUBSYS_88021043&REV_A1\4&31ac7a68&0&0019
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 4 - DISPLAY\GSM7707\5&1D83BE85&1&UID45318
[Vulkan Loader] DEBUG | LAYER: windows_get_device_registry_files: GUID for 4 is not SoftwareComponent skipping
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: opening device PCI\VEN_1002&DEV_73FF&SUBSYS_448E1DA2&REV_C1\6&1c5499bc&0&0000001A
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 5 - SWD\DRIVERENUM\AMDFDANS&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 6 - SWD\DRIVERENUM\AMDOCL&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 7 - SWD\DRIVERENUM\AMDWIN&7&3384D6A1&2
[Vulkan Loader] INFO | LAYER: windows_get_device_registry_files: Opening child device 8 - DISPLAY\GSM7707\7&3384D6A1&2&UID776
[Vulkan Loader] DEBUG | LAYER: windows_get_device_registry_files: GUID for 8 is not SoftwareComponent skipping
[Vulkan Loader] LAYER: windows_get_device_registry_files: found no registry files
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_api_dump.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_gfxreconstruct.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_synchronization2.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_monitor.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_screenshot.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_shader_object.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] INFO | LAYER: Located json file "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_crash_diagnostic.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
[Vulkan Loader] WARNING | LAYER: env var 'VK_INSTANCE_LAYERS' defined and adding layers "VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus"
[Vulkan Loader] WARNING | LAYER: env var 'VK_INSTANCE_LAYERS' defined and adding layers "VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus"
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\.\nvoglv64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_NV_optimus" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library E:\VulkanSDK\1.4.335.0-rc\Bin\.\VkLayer_khronos_validation.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_KHRONOS_validation" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library E:\VulkanSDK\1.4.335.0-rc\Bin\.\VkLayer_khronos_profiles.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_KHRONOS_profiles" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\.\nvoglv64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_NV_present" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] DEBUG | LAYER: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\.\amdvlk64.dll
[Vulkan Loader] INFO | LAYER: Insert instance layer "VK_LAYER_AMD_switchable_graphics" (C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll)
[Vulkan Loader] LAYER: vkCreateInstance layer callstack setup to:
[Vulkan Loader] LAYER: <Application>
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: <Loader>
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_AMD_switchable_graphics
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amd-vulkan64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_present
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_GR2608_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_profiles
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_validation
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_optimus
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_OPTIMUS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: <Drivers>
Validation Error: [ UNASSIGNED-API-Version-Violation ] | MessageID = 0xc495fcb4
vkGetPhysicalDeviceProperties2(): Attempted to call with an effective API version of 1.0.0 (0x00400000), which is the minimum of version requested in pApplicationInfo (1.0.0 (0x00400000)) and supported by this physical device (1.4.315 (0x0040413b)), but this API was not promoted until version 1.1.0 (0x00401000).
Objects: 1
[0] VkInstance 0x2220ab7e690
Validation Error: [ UNASSIGNED-API-Version-Violation ] | MessageID = 0xc495fcb4
vkGetPhysicalDeviceFeatures2(): Attempted to call with an effective API version of 1.0.0 (0x00400000), which is the minimum of version requested in pApplicationInfo (1.0.0 (0x00400000)) and supported by this physical device (1.4.315 (0x0040413b)), but this API was not promoted until version 1.1.0 (0x00401000).
Objects: 1
[0] VkInstance 0x2220ab7e690
Validation Error: [ UNASSIGNED-API-Version-Violation ] | MessageID = 0xc495fcb4
vkGetPhysicalDeviceMemoryProperties2(): Attempted to call with an effective API version of 1.0.0 (0x00400000), which is the minimum of version requested in pApplicationInfo (1.0.0 (0x00400000)) and supported by this physical device (1.4.315 (0x0040413b)), but this API was not promoted until version 1.1.0 (0x00401000).
Objects: 1
[0] VkInstance 0x2220ab7e690
Selected GPU 0: AMD Radeon RX 6600 XT, type: DiscreteGpu
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_NV_optimus" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_KHRONOS_validation" (E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll)
[Vulkan Loader] INFO | LAYER: Failed to find vkGetDeviceProcAddr in layer "E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_profiles.dll"
[Vulkan Loader] INFO | LAYER: Inserted device layer "VK_LAYER_NV_present" (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll)
[Vulkan Loader] INFO | LAYER: Failed to find vkGetDeviceProcAddr in layer "C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll"
[Vulkan Loader] DRIVER: vkCreateDevice layer callstack setup to:
[Vulkan Loader] DRIVER: <Application>
[Vulkan Loader] DRIVER: ||
[Vulkan Loader] DRIVER: <Loader>
[Vulkan Loader] DRIVER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_present
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Implicit Layer
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_GR2608_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_KHRONOS_validation
[Vulkan Loader] LAYER: Type: Explicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Manifest: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.json
[Vulkan Loader] LAYER: Library: E:\VulkanSDK\1.4.335.0-rc\Bin\VkLayer_khronos_validation.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] LAYER: VK_LAYER_NV_optimus
[Vulkan Loader] LAYER: Type: Implicit
[Vulkan Loader] LAYER: Enabled By: Environment Variable VK_INSTANCE_LAYERS
[Vulkan Loader] LAYER: Disable Env Var: DISABLE_LAYER_NV_OPTIMUS_1
[Vulkan Loader] LAYER: Manifest: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nv-vk64.json
[Vulkan Loader] LAYER: Library: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_20ae8f14a487d5db\nvoglv64.dll
[Vulkan Loader] LAYER: ||
[Vulkan Loader] DRIVER: <Device>
[Vulkan Loader] DRIVER: Using "AMD Radeon RX 6600 XT" with driver: "C:\WINDOWS\System32\DriverStore\FileRepository\u0420421.inf_amd64_8465bc45599a509e\B419571\amdvlk64.dll"
The question becomes how to handle VK_INSTANCE_LAYERS layers order when vk_loader_settings.json layers section contains more than unordered_layer_location. I believe this case was already discussed in the past.
When the layers section is created as follow:
"layers": [
{
"control": "unordered_layer_location"
},
{
"control": "on",
"name": "VK_LAYER_KHRONOS_validation",
"path": "E:\\VulkanSDK\\1.4.335.0-rc\\Bin\\VkLayer_khronos_validation.json",
"treat_as_implicit_manifest": false
}
],
and VK_INSTANCE_LAYERS set to
VK_LAYER_KHRONOS_profiles;VK_LAYER_KHRONOS_validation;VK_LAYER_NV_optimus
Then, I would expect the layers to be ordered like:
VK_LAYER_KHRONOS_profiles
VK_LAYER_NV_optimus
VK_LAYER_KHRONOS_validation
It remains the case of the implicit layers and application enabled layers that are not listed in layers or VK_INSTANCE_LAYERS, my recollection of our discussion was that we should follow this diagram:
within the unordered_layer_location section.
So following my case, we see that my system has also VK_LAYER_AMD_switchable_graphics and VK_LAYER_NV_present layers, so the order should be:
VK_LAYER_AMD_switchable_graphics (implict enabled)
VK_LAYER_NV_present (implict enabled)
VK_LAYER_KHRONOS_profiles (VK_INSTANCE_LAYERS enabled)
VK_LAYER_NV_optimus (VK_INSTANCE_LAYERS enabled)
(here would come application enabled layers not in `layers` section)
VK_LAYER_KHRONOS_validation (`layers` enabled)