added UBO/SSBO/INBO debug output.

This commit is contained in:
2023-10-13 10:42:21 +08:00
parent b72a924853
commit 240b6fb0e3
5 changed files with 29 additions and 16 deletions

View File

@@ -23,6 +23,8 @@ DebugUtils *CreateDebugUtils(VkDevice device)
void DebugUtils::SetName(VkObjectType type,uint64_t handle,const char *name)
{
if(!handle||!name||!*name)return;
VkDebugUtilsObjectNameInfoEXT name_info={};
name_info.sType =VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;

View File

@@ -125,7 +125,6 @@ bool GPUDevice::CreateSwapchainFBO(Swapchain *swapchain)
{
attr->debug_utils->SetImage(swapchain->sc_color[i]->GetImage(),"SwapchainColorImage_"+AnsiString::numberOf(i));
attr->debug_utils->SetImageView(swapchain->sc_color[i]->GetVulkanImageView(),"SwapchainColorImageView_"+AnsiString::numberOf(i));
attr->debug_utils->SetDeviceMemory(swapchain->sc_color[i]->GetDeviceMemory(),"SwapchainColorMemory_"+AnsiString::numberOf(i));
attr->debug_utils->SetFramebuffer(swapchain->sc_fbo[i]->GetFramebuffer(),"SwapchainFBO_"+AnsiString::numberOf(i));
}

View File

@@ -17,21 +17,29 @@ VBO *RenderResource::CreateVBO(VkFormat format,uint32_t count,const void *data,S
return vb;
}
#define SCENE_DB_CREATE_BUFFER(name) DeviceBuffer *RenderResource::Create##name(VkDeviceSize size,void *data,SharingMode sharing_mode) \
void RenderResource::AddBuffer(const AnsiString &buf_name,DeviceBuffer *buf)
{
if(!buf)return;
rm_buffers.Add(buf);
#ifdef _DEBUG
DebugUtils *du=device->GetDebugUtils();
if(du)
{
du->SetBuffer(buf->GetBuffer(),buf_name+":Buffer");
du->SetDeviceMemory(buf->GetVkMemory(),buf_name+":Memory");
}
#endif//_DEBUG
}
#define SCENE_DB_CREATE_BUFFER(name) DeviceBuffer *RenderResource::Create##name(const AnsiString &buf_name,VkDeviceSize size,void *data,SharingMode sharing_mode) \
{ \
DeviceBuffer *buf=device->Create##name(size,data,sharing_mode); \
\
if(!buf)return(nullptr); \
rm_buffers.Add(buf); \
return(buf); \
} \
\
DeviceBuffer *RenderResource::Create##name(VkDeviceSize size,SharingMode sharing_mode) \
{ \
DeviceBuffer *buf=device->Create##name(size,sharing_mode); \
\
if(!buf)return(nullptr); \
rm_buffers.Add(buf); \
AddBuffer(#name ":"+buf_name,buf); \
return(buf); \
}