[Vulkan] Don't require an explicit uint64_t cast for SetDeviceObjectName

This commit is contained in:
Triang3l 2022-06-20 12:25:52 +03:00
parent 67ff108f53
commit 3b4845511d
2 changed files with 14 additions and 16 deletions

View File

@ -1082,20 +1082,6 @@ std::unique_ptr<ImmediateDrawer> VulkanProvider::CreateImmediateDrawer() {
return VulkanImmediateDrawer::Create(*this);
}
void VulkanProvider::SetDeviceObjectName(VkObjectType type, uint64_t handle,
const char* name) const {
if (!debug_names_used_) {
return;
}
VkDebugUtilsObjectNameInfoEXT name_info;
name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
name_info.pNext = nullptr;
name_info.objectType = type;
name_info.objectHandle = handle;
name_info.pObjectName = name;
ifn_.vkSetDebugUtilsObjectNameEXT(device_, &name_info);
}
void VulkanProvider::AccumulateInstanceExtensions(
size_t properties_count, const VkExtensionProperties* properties,
bool request_debug_utils, InstanceExtensions& instance_extensions,

View File

@ -222,8 +222,20 @@ class VulkanProvider : public GraphicsProvider {
};
const DeviceFunctions& dfn() const { return dfn_; }
void SetDeviceObjectName(VkObjectType type, uint64_t handle,
const char* name) const;
template <typename T>
void SetDeviceObjectName(VkObjectType type, T handle,
const char* name) const {
if (!debug_names_used_) {
return;
}
VkDebugUtilsObjectNameInfoEXT name_info;
name_info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
name_info.pNext = nullptr;
name_info.objectType = type;
name_info.objectHandle = uint64_t(handle);
name_info.pObjectName = name;
ifn_.vkSetDebugUtilsObjectNameEXT(device_, &name_info);
}
bool IsSparseBindingSupported() const {
return queue_family_sparse_binding_ != UINT32_MAX;