[PATCH 2/2] winevulkan: Implement vkEnumerateDeviceLayerProperties

Liam Middlebrook lmiddlebrook at nvidia.com
Tue Mar 16 17:59:19 CDT 2021



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 at 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);
> 



More information about the wine-devel mailing list