From f3fe1f2f18d7ccc8a7cf85cd88c4bdf426445702 Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Tue, 5 Mar 2024 10:15:08 +0100 Subject: [PATCH] vulkan: Implement DebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT is just a less powerful version of SetDebugUtilsObjectNameEXT. Fixes the objectType cast warning as well. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/layers/radv_rmv_layer.c | 12 ------- src/amd/vulkan/layers/radv_sqtt_layer.c | 7 ---- src/intel/vulkan/layers/anv_rmv_layer.c | 13 -------- src/vulkan/runtime/vk_debug_utils.c | 44 +++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 32 deletions(-) diff --git a/src/amd/vulkan/layers/radv_rmv_layer.c b/src/amd/vulkan/layers/radv_rmv_layer.c index 5e05c123156..4effc55187b 100644 --- a/src/amd/vulkan/layers/radv_rmv_layer.c +++ b/src/amd/vulkan/layers/radv_rmv_layer.c @@ -70,18 +70,6 @@ rmv_InvalidateMappedMemoryRanges(VkDevice _device, uint32_t memoryRangeCount, co return VK_SUCCESS; } -VKAPI_ATTR VkResult VKAPI_CALL -rmv_DebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) -{ - assert(pNameInfo->sType == VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT); - VkDebugUtilsObjectNameInfoEXT name_info; - name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; - name_info.objectType = pNameInfo->objectType; - name_info.objectHandle = pNameInfo->object; - name_info.pObjectName = pNameInfo->pObjectName; - return rmv_SetDebugUtilsObjectNameEXT(device, &name_info); -} - VKAPI_ATTR VkResult VKAPI_CALL rmv_SetDebugUtilsObjectNameEXT(VkDevice _device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo) { diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index 620182556ce..3ff0d40ff8b 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -1322,13 +1322,6 @@ sqtt_CmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, const VkDebugMarkerM radv_write_user_event_marker(cmd_buffer, UserEventTrigger, pMarkerInfo->pMarkerName); } -VKAPI_ATTR VkResult VKAPI_CALL -sqtt_DebugMarkerSetObjectNameEXT(VkDevice device, const VkDebugMarkerObjectNameInfoEXT *pNameInfo) -{ - /* no-op */ - return VK_SUCCESS; -} - VKAPI_ATTR VkResult VKAPI_CALL sqtt_DebugMarkerSetObjectTagEXT(VkDevice device, const VkDebugMarkerObjectTagInfoEXT *pTagInfo) { diff --git a/src/intel/vulkan/layers/anv_rmv_layer.c b/src/intel/vulkan/layers/anv_rmv_layer.c index 634f4be9e69..ccf72eb7164 100644 --- a/src/intel/vulkan/layers/anv_rmv_layer.c +++ b/src/intel/vulkan/layers/anv_rmv_layer.c @@ -76,19 +76,6 @@ VkResult anv_rmv_InvalidateMappedMemoryRanges( return VK_SUCCESS; } -VkResult anv_rmv_DebugMarkerSetObjectNameEXT( - VkDevice device, - const VkDebugMarkerObjectNameInfoEXT* pNameInfo) -{ - assert(pNameInfo->sType == VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT); - VkDebugUtilsObjectNameInfoEXT name_info; - name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; - name_info.objectType = pNameInfo->objectType; - name_info.objectHandle = pNameInfo->object; - name_info.pObjectName = pNameInfo->pObjectName; - return anv_rmv_SetDebugUtilsObjectNameEXT(device, &name_info); -} - VkResult anv_rmv_SetDebugUtilsObjectNameEXT( VkDevice _device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) diff --git a/src/vulkan/runtime/vk_debug_utils.c b/src/vulkan/runtime/vk_debug_utils.c index caca8cfce3f..51b2f3fedbd 100644 --- a/src/vulkan/runtime/vk_debug_utils.c +++ b/src/vulkan/runtime/vk_debug_utils.c @@ -190,6 +190,50 @@ vk_common_set_object_name_locked( return VK_SUCCESS; } +VKAPI_ATTR VkResult VKAPI_CALL +vk_common_DebugMarkerSetObjectNameEXT( + VkDevice _device, + const VkDebugMarkerObjectNameInfoEXT *pNameInfo) +{ + VK_FROM_HANDLE(vk_device, device, _device); + + assert(pNameInfo->sType == VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT); + + VkObjectType object_type; + switch (pNameInfo->objectType) { + case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: + object_type = VK_OBJECT_TYPE_SURFACE_KHR; + break; + case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: + object_type = VK_OBJECT_TYPE_SWAPCHAIN_KHR; + break; + case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: + object_type = VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT; + break; + case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: + object_type = VK_OBJECT_TYPE_DISPLAY_KHR; + break; + case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: + object_type = VK_OBJECT_TYPE_DISPLAY_MODE_KHR; + break; + case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: + object_type = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT; + break; + default: + object_type = (VkObjectType)pNameInfo->objectType; + break; + } + + VkDebugUtilsObjectNameInfoEXT name_info = { + .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT, + .objectType = object_type, + .objectHandle = pNameInfo->object, + .pObjectName = pNameInfo->pObjectName, + }; + + return device->dispatch_table.SetDebugUtilsObjectNameEXT(_device, &name_info); +} + VKAPI_ATTR VkResult VKAPI_CALL vk_common_SetDebugUtilsObjectNameEXT( VkDevice _device,