On 3/6/21 12:46 PM, Victor Hermann Chiletto wrote:
This is generally implemented by the system's Vulkan ICD, and passing it through results in applications (namely, Unreal Engine) attempting to
It would be nice to name a specific UE4 application you're seeing this with for posterity.
query for layer extensions in vkEnumerateDeviceExtensionProperties.
I think the wording is a bit off here. Did you mean to cite vkEnumerateDeviceLayerProperties() rather than vkEnumerateDeviceExtensionProperties() here? Rather than saying "layer extensions" I think it would make sense to say "device layers".
Thanks,
Liam Middlebrook
Signed-off-by: Victor Hermann Chiletto v@hnn.net.br
dlls/winevulkan/make_vulkan | 1 + dlls/winevulkan/vulkan.c | 8 ++++++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 1243f211b5e..228b4eae878 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -153,6 +153,7 @@ FUNCTION_OVERRIDES = { "vkCreateDevice" : {"dispatch" : True, "driver" : False, "thunk" : False}, "vkDestroyInstance" : {"dispatch" : False, "driver" : True, "thunk" : False }, "vkEnumerateDeviceExtensionProperties" : {"dispatch" : True, "driver" : False, "thunk" : False},
- "vkEnumerateDeviceLayerProperties": {"dispatch": True, "driver": False, "thunk": False}, "vkEnumeratePhysicalDeviceGroups" : {"dispatch" : True, "driver" : False, "thunk" : False}, "vkEnumeratePhysicalDevices" : {"dispatch" : True, "driver" : False, "thunk" : False}, "vkGetPhysicalDeviceExternalBufferProperties" : {"dispatch" : False, "driver" : False, "thunk" : False},
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index 971394eb9dd..23087c9df2e 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -1061,6 +1061,14 @@ VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *layer_na return *count < num_properties ? VK_INCOMPLETE : VK_SUCCESS; }
+VkResult WINAPI wine_vkEnumerateDeviceLayerProperties(VkPhysicalDevice phys_dev, uint32_t *count, VkLayerProperties *properties) +{
- TRACE("%p, %p, %p\n", phys_dev, count, properties);
- *count = 0;
- return VK_SUCCESS;
+}
- VkResult WINAPI wine_vkEnumerateInstanceLayerProperties(uint32_t *count, VkLayerProperties *properties) { TRACE("%p, %p\n", count, properties);