Hi everyone,
We've been testing Dawn on computers that had the Vulkan SDK deployed and when we ran the Dawn API based app we had no message.
Recently we started looking into deploying the app to other computers and we go this message right away.
Warning: windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
Error: Disable Intel Vulkan adapter on Windows driver version 100.7642. See
https://crbug.com/1338622.
- While initializing adapter (backend=BackendType::Vulkan)
at InitializeImpl (../../src/dawn/native/vulkan/AdapterVk.cpp:107)
at Initialize (../../src/dawn/native/Adapter.cpp:38)
As these machines were a bit old we ran an update on them (drivers), but this didn't fix the message. When I ran vulkaninfo.exe I got this error message:
WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files.
So it seemed like the Krhonos entry was missing in the registry and adding it fixed this warning, however now on these machines, when we run the Dawn-based app we get:
```
NASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xec4bec000000000b[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xad092800000000d0[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27302d13410, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xec4bec000000000b[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27302d13410, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27302d13410, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xad092800000000d0[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27302d13410, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xec4bec000000000b[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xad092800000000d0[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27302d13410, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xec4bec000000000b[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27302d13410, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27302d13410, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xad092800000000d0[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27302d13410, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xec4bec000000000b[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout(WARN / PERF): msgNum: 1303270965 - Validation Performance Warning: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x27300c6a080, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | vkCmdCopyImage: For optimal performance VkImage 0xad092800000000d0[DawnDbg=1;Dawn_InternalTexture] layout should be VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL instead of GENERAL.
Objects: 1
[0] 0x27300c6a080, type: 6, name: NULL
```
So clearly, something is being triggered about the validation layers. As I have been compiling Dawn without doing anything special other than following the steps, I wanted to know if there was something I had missed wtr to turning the validation layers in Vulkan on / off.
Thank you.