[PATCH 1/1] winevulkan: Implement VK_EXT_debug_marker.

Liam Middlebrook lmiddlebrook at nvidia.com
Thu Oct 29 19:49:44 CDT 2020


Signed-off-by: Liam Middlebrook <lmiddlebrook at nvidia.com>

On 10/29/20 3:48 PM, Georg Lehmann wrote:
> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813
> 
> Signed-off-by: Georg Lehmann <dadschoorse at gmail.com>
> ---
>   dlls/winevulkan/make_vulkan |  5 ++++-
>   dlls/winevulkan/vulkan.c    | 24 ++++++++++++++++++++++++
>   2 files changed, 28 insertions(+), 1 deletion(-)
> 
> diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
> index edd56526d58..72b0adf0c97 100755
> --- a/dlls/winevulkan/make_vulkan
> +++ b/dlls/winevulkan/make_vulkan
> @@ -86,7 +86,6 @@ EXT_BLOCK_SIZE = 1000
>   
>   UNSUPPORTED_EXTENSIONS = [
>       # Instance extensions
> -    "VK_EXT_debug_marker", # Needs handle unwrapping
>       "VK_EXT_validation_features",
>       "VK_EXT_validation_flags",
>       "VK_KHR_display", # Needs WSI work.
> @@ -234,6 +233,10 @@ FUNCTION_OVERRIDES = {
>       "vkCreateDebugReportCallbackEXT" : {"dispatch": True, "driver" : False, "thunk" : False},
>       "vkDestroyDebugReportCallbackEXT" : {"dispatch": True, "driver" : False, "thunk" : False},
>       "vkDebugReportMessageEXT" : {"dispatch": True, "driver" : False, "thunk" : False},
> +
> +    # VK_EXT_debug_marker
> +    "vkDebugMarkerSetObjectNameEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True},
> +    "vkDebugMarkerSetObjectTagEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True},
>   }
>   
>   STRUCT_CHAIN_CONVERSIONS = [
> diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
> index d486f43e66c..8e369d95f47 100644
> --- a/dlls/winevulkan/vulkan.c
> +++ b/dlls/winevulkan/vulkan.c
> @@ -1983,6 +1983,30 @@ void WINAPI wine_vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlags
>           instance->instance, flags, object_type, object, location, code, layer_prefix, message);
>   }
>   
> +VkResult WINAPI wine_vkDebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *tag_info)
> +{
> +    VkDebugMarkerObjectTagInfoEXT wine_tag_info;
> +
> +    TRACE("%p, %p\n", device, tag_info);
> +
> +    wine_tag_info = *tag_info;
> +    wine_tag_info.object = wine_vk_unwrap_handle(tag_info->objectType, tag_info->object);
> +
> +    return thunk_vkDebugMarkerSetObjectTagEXT(device, &wine_tag_info);
> +}
> +
> +VkResult WINAPI wine_vkDebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *name_info)
> +{
> +    VkDebugMarkerObjectNameInfoEXT wine_name_info;
> +
> +    TRACE("%p, %p\n", device, name_info);
> +
> +    wine_name_info = *name_info;
> +    wine_name_info.object = wine_vk_unwrap_handle(name_info->objectType, name_info->object);
> +
> +    return thunk_vkDebugMarkerSetObjectNameEXT(device, &wine_name_info);
> +}
> +
>   BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
>   {
>       TRACE("%p, %u, %p\n", hinst, reason, reserved);
> 



More information about the wine-devel mailing list