diff options
| -rw-r--r-- | layers/unique_objects.cpp | 30 | ||||
| -rw-r--r-- | scripts/unique_objects_generator.py | 2 |
2 files changed, 32 insertions, 0 deletions
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp index ed8dd262..30077e74 100644 --- a/layers/unique_objects.cpp +++ b/layers/unique_objects.cpp @@ -889,6 +889,36 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice p } #endif +VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(VkDevice device, VkDebugMarkerObjectTagInfoEXT *pTagInfo) { + layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); + auto local_tag_info = new safe_VkDebugMarkerObjectTagInfoEXT(pTagInfo); + { + std::lock_guard<std::mutex> lock(global_lock); + auto it = device_data->unique_id_mapping.find(reinterpret_cast<uint64_t &>(local_tag_info->object)); + if (it != device_data->unique_id_mapping.end()) { + local_tag_info->object = it->second; + } + } + VkResult result = device_data->device_dispatch_table->DebugMarkerSetObjectTagEXT( + device, reinterpret_cast<VkDebugMarkerObjectTagInfoEXT *>(local_tag_info)); + return result; +} + +VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(VkDevice device, VkDebugMarkerObjectNameInfoEXT *pNameInfo) { + layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); + auto local_name_info = new safe_VkDebugMarkerObjectNameInfoEXT(pNameInfo); + { + std::lock_guard<std::mutex> lock(global_lock); + auto it = device_data->unique_id_mapping.find(reinterpret_cast<uint64_t &>(local_name_info->object)); + if (it != device_data->unique_id_mapping.end()) { + local_name_info->object = it->second; + } + } + VkResult result = device_data->device_dispatch_table->DebugMarkerSetObjectNameEXT( + device, reinterpret_cast<VkDebugMarkerObjectNameInfoEXT *>(local_name_info)); + return result; +} + } // namespace unique_objects // vk_layer_logging.h expects these to be defined diff --git a/scripts/unique_objects_generator.py b/scripts/unique_objects_generator.py index bafb7aed..a6dae647 100644 --- a/scripts/unique_objects_generator.py +++ b/scripts/unique_objects_generator.py @@ -144,6 +144,8 @@ class UniqueObjectsOutputGenerator(OutputGenerator): 'vkDestroyDescriptorUpdateTemplateKHR', 'vkUpdateDescriptorSetWithTemplateKHR', 'vkCmdPushDescriptorSetWithTemplateKHR', + 'vkDebugMarkerSetObjectTagEXT', + 'vkDebugMarkerSetObjectNameEXT', ] # Commands shadowed by interface functions and are not implemented self.interface_functions = [ |
