added UBO/SSBO/INBO debug output.
This commit is contained in:
parent
b72a924853
commit
240b6fb0e3
@ -145,7 +145,7 @@ public:
|
|||||||
{
|
{
|
||||||
vp_info.Set(w,h);
|
vp_info.Set(w,h);
|
||||||
|
|
||||||
ubo_vp_info=db->CreateUBO(sizeof(ViewportInfo),&vp_info);
|
ubo_vp_info=db->CreateUBO("Viewport",sizeof(ViewportInfo),&vp_info);
|
||||||
|
|
||||||
db->global_descriptor.AddUBO(mtl::SBS_ViewportInfo.name,ubo_vp_info);
|
db->global_descriptor.AddUBO(mtl::SBS_ViewportInfo.name,ubo_vp_info);
|
||||||
}
|
}
|
||||||
@ -515,7 +515,7 @@ public:
|
|||||||
|
|
||||||
RefreshCameraInfo(&camera_control->GetCameraInfo(),&vp_info,camera);
|
RefreshCameraInfo(&camera_control->GetCameraInfo(),&vp_info,camera);
|
||||||
|
|
||||||
ubo_camera_info=db->CreateUBO(sizeof(CameraInfo),&camera_control->GetCameraInfo());
|
ubo_camera_info=db->CreateUBO("CameraInfo",sizeof(CameraInfo),&camera_control->GetCameraInfo());
|
||||||
|
|
||||||
db->global_descriptor.AddUBO(mtl::SBS_CameraInfo.name,ubo_camera_info);
|
db->global_descriptor.AddUBO(mtl::SBS_CameraInfo.name,ubo_camera_info);
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,10 @@ class RenderResource
|
|||||||
IDObjectManage<TextureID, Texture> rm_textures; ///<纹理合集
|
IDObjectManage<TextureID, Texture> rm_textures; ///<纹理合集
|
||||||
IDObjectManage<RenderableID, Renderable> rm_renderables; ///<渲染实例集合集
|
IDObjectManage<RenderableID, Renderable> rm_renderables; ///<渲染实例集合集
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void AddBuffer(const AnsiString &buf_name,DeviceBuffer *buf);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//注:并非一定要走这里,这里只是提供一个注册和自动绑定的机制
|
//注:并非一定要走这里,这里只是提供一个注册和自动绑定的机制
|
||||||
@ -86,8 +90,8 @@ public: // VBO/VAO
|
|||||||
VBO *CreateVBO(VkFormat format,uint32_t count,SharingMode sm=SharingMode::Exclusive){return CreateVBO(format,count,nullptr,sm);}
|
VBO *CreateVBO(VkFormat format,uint32_t count,SharingMode sm=SharingMode::Exclusive){return CreateVBO(format,count,nullptr,sm);}
|
||||||
VBO *CreateVBO(const VAD *vad,SharingMode sm=SharingMode::Exclusive){return CreateVBO(vad->GetFormat(),vad->GetCount(),vad->GetData(),sm);}
|
VBO *CreateVBO(const VAD *vad,SharingMode sm=SharingMode::Exclusive){return CreateVBO(vad->GetFormat(),vad->GetCount(),vad->GetData(),sm);}
|
||||||
|
|
||||||
#define SCENE_DB_CREATE_FUNC(name) DeviceBuffer *Create##name(VkDeviceSize size,void *data,SharingMode sm=SharingMode::Exclusive); \
|
#define SCENE_DB_CREATE_FUNC(name) DeviceBuffer *Create##name(const AnsiString &buf_name,VkDeviceSize size,void *data,SharingMode sm=SharingMode::Exclusive); \
|
||||||
DeviceBuffer *Create##name(VkDeviceSize size,SharingMode sm=SharingMode::Exclusive);
|
DeviceBuffer *Create##name(const AnsiString &buf_name,VkDeviceSize size,SharingMode sm=SharingMode::Exclusive){return Create##name(buf_name,size,nullptr,sm);}
|
||||||
|
|
||||||
SCENE_DB_CREATE_FUNC(UBO)
|
SCENE_DB_CREATE_FUNC(UBO)
|
||||||
SCENE_DB_CREATE_FUNC(SSBO)
|
SCENE_DB_CREATE_FUNC(SSBO)
|
||||||
|
@ -23,6 +23,8 @@ DebugUtils *CreateDebugUtils(VkDevice device)
|
|||||||
|
|
||||||
void DebugUtils::SetName(VkObjectType type,uint64_t handle,const char *name)
|
void DebugUtils::SetName(VkObjectType type,uint64_t handle,const char *name)
|
||||||
{
|
{
|
||||||
|
if(!handle||!name||!*name)return;
|
||||||
|
|
||||||
VkDebugUtilsObjectNameInfoEXT name_info={};
|
VkDebugUtilsObjectNameInfoEXT name_info={};
|
||||||
|
|
||||||
name_info.sType =VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
|
name_info.sType =VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
|
||||||
|
@ -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->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->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));
|
attr->debug_utils->SetFramebuffer(swapchain->sc_fbo[i]->GetFramebuffer(),"SwapchainFBO_"+AnsiString::numberOf(i));
|
||||||
}
|
}
|
||||||
|
@ -17,21 +17,29 @@ VBO *RenderResource::CreateVBO(VkFormat format,uint32_t count,const void *data,S
|
|||||||
return vb;
|
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); \
|
DeviceBuffer *buf=device->Create##name(size,data,sharing_mode); \
|
||||||
\
|
\
|
||||||
if(!buf)return(nullptr); \
|
if(!buf)return(nullptr); \
|
||||||
rm_buffers.Add(buf); \
|
AddBuffer(#name ":"+buf_name,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); \
|
|
||||||
return(buf); \
|
return(buf); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user