According to vulkan validation layers, this instance extension is required so that vkGetPhysicalDeviceProperties2() fills the VkPhysicalDeviceIDProperties struct.
What matters is the spec though, and I think it disagrees with the validation layers here; VK_KHR_external_fence_capabilities, VK_KHR_external_memory_capabilities, and VK_KHR_external_semaphore_capabilities all add VkPhysicalDeviceIDProperties/VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES. In the case of wined3d, VK_KHR_external_memory_capabilities was added specifically for VkPhysicalDeviceIDProperties in commit 035dc483881225fb8181f5e4ad85d05ba5c3b989. I suspect the win32u usage of the same extension similarly originates from commit dd25789fb24e257baea4b257deddad44d5b6fedd, but I didn't verify that. Ideally the validation layers would get fixed, but if we want to work around them, we should be able to replace VK_KHR_external_memory_capabilities with VK_KHR_external_fence_capabilities in at least wined3d, and possibly in win32u as well. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11002#note_141433