improved codes of Debug
This commit is contained in:
parent
981a1adf4c
commit
cc02b719e6
@ -154,6 +154,39 @@ private:
|
|||||||
|
|
||||||
CreateGBufferSampler();
|
CreateGBufferSampler();
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
{
|
||||||
|
auto da=device->GetDeviceAttribute();
|
||||||
|
|
||||||
|
VkQueue q=*(gbuffer.rt->GetQueue());
|
||||||
|
VkFramebuffer fbo= gbuffer.rt->GetFramebuffer()->GetFramebuffer();
|
||||||
|
VkRenderPass rp= gbuffer.rp->GetVkRenderPass();
|
||||||
|
VkSemaphore sem=*(gbuffer.rt->GetRenderCompleteSemaphore());
|
||||||
|
VkCommandBuffer cb=*(gbuffer.cmd);
|
||||||
|
VkSampler s=*(gbuffer.sampler);
|
||||||
|
|
||||||
|
if(da->debug_maker)
|
||||||
|
{
|
||||||
|
da->debug_maker->SetQueue( q, "[debug maker] GBufferQueue");
|
||||||
|
da->debug_maker->SetFramebuffer( fbo,"[debug maker] GBufferFBO");
|
||||||
|
da->debug_maker->SetRenderPass( rp, "[debug maker] GBufferRenderpass");
|
||||||
|
da->debug_maker->SetCommandBuffer( cb, "[debug maker] GBufferCommandBuffer");
|
||||||
|
da->debug_maker->SetSampler( s, "[debug maker] GBufferSampler");
|
||||||
|
da->debug_maker->SetSemaphore( sem,"[debug maker] GBufferSemaphore");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(da->debug_utils)
|
||||||
|
{
|
||||||
|
da->debug_utils->SetQueue( q, "[debug utils] GBufferQueue");
|
||||||
|
da->debug_utils->SetFramebuffer( fbo,"[debug utils] GBufferFBO");
|
||||||
|
da->debug_utils->SetRenderPass( rp, "[debug utils] GBufferRenderpass");
|
||||||
|
da->debug_utils->SetCommandBuffer( cb, "[debug utils] GBufferCommandBuffer");
|
||||||
|
da->debug_utils->SetSampler( s, "[debug utils] GBufferSampler");
|
||||||
|
da->debug_utils->SetSemaphore( sem,"[debug utils] GBufferSemaphore");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif//_DEBUG
|
||||||
|
|
||||||
return(gbuffer.rt);
|
return(gbuffer.rt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,7 +394,7 @@ private:
|
|||||||
if(!gbuffer.cmd->BindFramebuffer(gbuffer.rt->GetRenderPass(),gbuffer.rt->GetFramebuffer()))
|
if(!gbuffer.cmd->BindFramebuffer(gbuffer.rt->GetRenderPass(),gbuffer.rt->GetFramebuffer()))
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
gbuffer.cmd->BeginRegion("GBuffer",Color4f(1,0,0,1));
|
gbuffer.cmd->BeginRegion("GBuffer Begin",Color4f(1,0,0,1));
|
||||||
if(!gbuffer.cmd->BeginRenderPass())
|
if(!gbuffer.cmd->BeginRenderPass())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
@ -405,13 +438,13 @@ public:
|
|||||||
{
|
{
|
||||||
const double timer=GetDoubleTime();
|
const double timer=GetDoubleTime();
|
||||||
|
|
||||||
// White
|
// White
|
||||||
lights.position = Vector4f(0.0f, 0.0f, 25.0f, 0.0f);
|
lights.position = Vector4f(0.0f, 0.0f, 25.0f, 0.0f);
|
||||||
lights.color = Vector4f(15.0f);
|
lights.color = Vector4f(15.0f);
|
||||||
lights.radius = 155.0f;
|
lights.radius = 155.0f;
|
||||||
|
|
||||||
lights.position.x = sin(rad2deg(timer/100)) * 100.0f;
|
lights.position.x = sin(rad2deg(timer/100)) * 100.0f;
|
||||||
lights.position.y = cos(rad2deg(timer/100)) * 100.0f;
|
lights.position.y = cos(rad2deg(timer/100)) * 100.0f;
|
||||||
|
|
||||||
ubo_lights->Write(&lights);
|
ubo_lights->Write(&lights);
|
||||||
}
|
}
|
||||||
|
@ -27,11 +27,11 @@ public:
|
|||||||
bool End(){return(vkEndCommandBuffer(cmd_buf)==VK_SUCCESS);}
|
bool End(){return(vkEndCommandBuffer(cmd_buf)==VK_SUCCESS);}
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
void SetDebugName(const char *);
|
void SetDebugName(const UTF8String &);
|
||||||
void BeginRegion(const char *,const Color4f &);
|
void BeginRegion(const UTF8String &,const Color4f &);
|
||||||
void EndRegion();
|
void EndRegion();
|
||||||
#else
|
#else
|
||||||
void BeginRegion(const char *,const Color4f &){}
|
void BeginRegion(const UTF8String &,const Color4f &){}
|
||||||
void EndRegion(){}
|
void EndRegion(){}
|
||||||
#endif//_DEBUG
|
#endif//_DEBUG
|
||||||
};//class GPUCmdBuffer
|
};//class GPUCmdBuffer
|
||||||
|
@ -90,6 +90,8 @@ public:
|
|||||||
DU_FUNC(DeferredOperationKHR, DEFERRED_OPERATION_KHR)
|
DU_FUNC(DeferredOperationKHR, DEFERRED_OPERATION_KHR)
|
||||||
DU_FUNC(IndirectCommandsLayoutNV, INDIRECT_COMMANDS_LAYOUT_NV)
|
DU_FUNC(IndirectCommandsLayoutNV, INDIRECT_COMMANDS_LAYOUT_NV)
|
||||||
// DU_FUNC(BufferCollectionFuchsia, BUFFER_COLLECTION_FUCHSIA)
|
// DU_FUNC(BufferCollectionFuchsia, BUFFER_COLLECTION_FUCHSIA)
|
||||||
|
|
||||||
|
#undef DU_FUNC
|
||||||
|
|
||||||
void QueueBegin (VkQueue,const char *,const Color4f &color=Color4f(1,1,1,1));
|
void QueueBegin (VkQueue,const char *,const Color4f &color=Color4f(1,1,1,1));
|
||||||
void QueueEnd (VkQueue q){duf.QueueEnd(q);}
|
void QueueEnd (VkQueue q){duf.QueueEnd(q);}
|
||||||
|
@ -83,6 +83,23 @@ public:
|
|||||||
const bool isIntegratedGPU ()const{return(properties.deviceType==VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU);} ///<是否是集成显卡
|
const bool isIntegratedGPU ()const{return(properties.deviceType==VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU);} ///<是否是集成显卡
|
||||||
const bool isVirtualGPU ()const{return(properties.deviceType==VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);} ///<是否是虚拟显卡
|
const bool isVirtualGPU ()const{return(properties.deviceType==VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);} ///<是否是虚拟显卡
|
||||||
|
|
||||||
|
#define HGL_VK_IS_BRAND(name) (hgl::stricmp(properties.deviceName,#name,sizeof(#name))==0)
|
||||||
|
|
||||||
|
const bool isMicrosoft ()const{return HGL_VK_IS_BRAND(Microsoft);}
|
||||||
|
const bool isMesa ()const{return HGL_VK_IS_BRAND(Mesa );}
|
||||||
|
const bool isAMD ()const{return HGL_VK_IS_BRAND(AMD )
|
||||||
|
||HGL_VK_IS_BRAND(ATI );}
|
||||||
|
const bool isNvidia ()const{return HGL_VK_IS_BRAND(nVidia );}
|
||||||
|
const bool isIntel ()const{return HGL_VK_IS_BRAND(Intel );}
|
||||||
|
const bool isQualcomm ()const{return HGL_VK_IS_BRAND(Adreno );}
|
||||||
|
const bool isApple ()const{return HGL_VK_IS_BRAND(Apple );}
|
||||||
|
const bool isImgTec ()const{return HGL_VK_IS_BRAND(ImgTec )
|
||||||
|
||HGL_VK_IS_BRAND(PowerVR );}
|
||||||
|
const bool isARM ()const{return HGL_VK_IS_BRAND(Arm )
|
||||||
|
||HGL_VK_IS_BRAND(Mali );}
|
||||||
|
|
||||||
|
#undef HGL_VK_IS_BRAND
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
VkFormatProperties GetFormatProperties(const VkFormat format)const
|
VkFormatProperties GetFormatProperties(const VkFormat format)const
|
||||||
|
@ -26,6 +26,8 @@ private:
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
virtual ~GPUQueue();
|
virtual ~GPUQueue();
|
||||||
|
|
||||||
|
operator VkQueue(){return queue;}
|
||||||
|
|
||||||
VkResult Present(const VkPresentInfoKHR *pi){return vkQueuePresentKHR(queue,pi);}
|
VkResult Present(const VkPresentInfoKHR *pi){return vkQueuePresentKHR(queue,pi);}
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ public:
|
|||||||
|
|
||||||
virtual ~RenderTarget();
|
virtual ~RenderTarget();
|
||||||
|
|
||||||
|
GPUQueue * GetQueue () {return queue;}
|
||||||
const VkExtent2D & GetExtent ()const {return extent;}
|
const VkExtent2D & GetExtent ()const {return extent;}
|
||||||
virtual RenderPass * GetRenderPass () {return render_pass;}
|
virtual RenderPass * GetRenderPass () {return render_pass;}
|
||||||
virtual const VkRenderPass GetVkRenderPass ()const {return render_pass->GetVkRenderPass();}
|
virtual const VkRenderPass GetVkRenderPass ()const {return render_pass->GetVkRenderPass();}
|
||||||
|
@ -26,22 +26,22 @@ bool GPUCmdBuffer::Begin()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
void GPUCmdBuffer::SetDebugName(const char *object_name)
|
void GPUCmdBuffer::SetDebugName(const UTF8String &object_name)
|
||||||
{
|
{
|
||||||
if(dev_attr->debug_maker)
|
if(dev_attr->debug_maker)
|
||||||
dev_attr->debug_maker->SetCommandBuffer(cmd_buf,object_name);
|
dev_attr->debug_maker->SetCommandBuffer(cmd_buf,"[debug_maker]"+object_name);
|
||||||
|
|
||||||
if(dev_attr->debug_utils)
|
if(dev_attr->debug_utils)
|
||||||
dev_attr->debug_utils->SetCommandBuffer(cmd_buf,object_name);
|
dev_attr->debug_utils->SetCommandBuffer(cmd_buf,"[debug_utils]"+object_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPUCmdBuffer::BeginRegion(const char *region_name,const Color4f &color)
|
void GPUCmdBuffer::BeginRegion(const UTF8String ®ion_name,const Color4f &color)
|
||||||
{
|
{
|
||||||
if(dev_attr->debug_maker)
|
if(dev_attr->debug_maker)
|
||||||
dev_attr->debug_maker->Begin(cmd_buf,region_name,color);
|
dev_attr->debug_maker->Begin(cmd_buf,"[debug_maker]"+region_name,color);
|
||||||
|
|
||||||
if(dev_attr->debug_utils)
|
if(dev_attr->debug_utils)
|
||||||
dev_attr->debug_utils->CmdBegin(cmd_buf,region_name,color);
|
dev_attr->debug_utils->CmdBegin(cmd_buf,"[debug_utils]"+region_name,color);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPUCmdBuffer::EndRegion()
|
void GPUCmdBuffer::EndRegion()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user