X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fmodule_backend.cpp;h=7ec198e0ec3f52de1696523e83a92eddeb129cb1;hp=759497ab6ed1fb9252a21abfe8c30c7ce271cf25;hb=1cc48c919cc47895ea5ae23199c20dfe909b4e4c;hpb=77973a48acbe29c2a64d43de7084574aaf7a26c4 diff --git a/source/backends/vulkan/module_backend.cpp b/source/backends/vulkan/module_backend.cpp index 759497ab..7ec198e0 100644 --- a/source/backends/vulkan/module_backend.cpp +++ b/source/backends/vulkan/module_backend.cpp @@ -39,6 +39,34 @@ void VulkanSpirVModule::create() module_info.pCode = code.data(); vk.CreateShaderModule(module_info, handle); + + if(!debug_name.empty()) + set_vulkan_object_name(); +} + +void VulkanSpirVModule::set_debug_name(const string &name) +{ +#ifdef DEBUG + debug_name = name; + if(handle) + set_vulkan_object_name(); +#else + (void)name; +#endif +} + +void VulkanSpirVModule::set_vulkan_object_name() const +{ +#ifdef DEBUG + const VulkanFunctions &vk = device.get_functions(); + + VkDebugUtilsObjectNameInfoEXT name_info = { }; + name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; + name_info.objectType = VK_OBJECT_TYPE_SHADER_MODULE; + name_info.objectHandle = reinterpret_cast(handle); + name_info.pObjectName = debug_name.c_str(); + vk.SetDebugUtilsObjectName(name_info); +#endif }