Setting Vulkan pipeline names from entry point names. (#10935)
This should match what is in tracy:

diff --git a/runtime/src/iree/hal/drivers/vulkan/native_executable.cc b/runtime/src/iree/hal/drivers/vulkan/native_executable.cc
index b7aa5f0..5af7c59 100644
--- a/runtime/src/iree/hal/drivers/vulkan/native_executable.cc
+++ b/runtime/src/iree/hal/drivers/vulkan/native_executable.cc
@@ -35,6 +35,7 @@
VkDeviceHandle* logical_device, iree_const_byte_span_t code,
VkShaderModule* out_shader_module) {
IREE_TRACE_SCOPE();
+
VkShaderModuleCreateInfo create_info;
create_info.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
create_info.pNext = NULL;
@@ -45,6 +46,7 @@
*logical_device, &create_info,
logical_device->allocator(), out_shader_module),
"vkCreateShaderModule");
+
return iree_ok_status();
}
@@ -132,6 +134,18 @@
if (iree_status_is_ok(status)) {
for (iree_host_size_t i = 0; i < pipeline_count; ++i) {
out_entry_points[i].pipeline = pipelines[i];
+
+ // Set pipeline name for tooling.
+ if (PFN_vkSetDebugUtilsObjectNameEXT set_name =
+ logical_device->syms()->vkSetDebugUtilsObjectNameEXT) {
+ VkDebugUtilsObjectNameInfoEXT name_info = {};
+ name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
+ name_info.pNext = NULL;
+ name_info.objectHandle = (uint64_t)pipelines[i];
+ name_info.objectType = VK_OBJECT_TYPE_PIPELINE;
+ name_info.pObjectName = flatbuffers_string_vec_at(entry_points_vec, i);
+ set_name(*logical_device, &name_info);
+ }
}
}