added more type to DeubgMaker/DebugUtils
This commit is contained in:
@@ -7,60 +7,80 @@
|
|||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
struct DebugMakerFunction
|
struct DebugMakerFunction
|
||||||
{
|
{
|
||||||
PFN_vkDebugMarkerSetObjectTagEXT SetObjectTag;
|
PFN_vkDebugMarkerSetObjectTagEXT SetObjectTag;
|
||||||
PFN_vkDebugMarkerSetObjectNameEXT SetObjectName;
|
PFN_vkDebugMarkerSetObjectNameEXT SetObjectName;
|
||||||
PFN_vkCmdDebugMarkerBeginEXT Begin;
|
PFN_vkCmdDebugMarkerBeginEXT Begin;
|
||||||
PFN_vkCmdDebugMarkerEndEXT End;
|
PFN_vkCmdDebugMarkerEndEXT End;
|
||||||
PFN_vkCmdDebugMarkerInsertEXT Insert;
|
PFN_vkCmdDebugMarkerInsertEXT Insert;
|
||||||
};//struct DebugMakerFunction
|
};//struct DebugMakerFunction
|
||||||
|
|
||||||
class DebugMaker
|
class DebugMaker
|
||||||
{
|
{
|
||||||
VkDevice device;
|
VkDevice device;
|
||||||
|
|
||||||
DebugMakerFunction dmf;
|
DebugMakerFunction dmf;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void SetObjectName(uint64_t object, VkDebugReportObjectTypeEXT objectType, const char *name);
|
void SetObjectName(uint64_t object, VkDebugReportObjectTypeEXT objectType, const char *name);
|
||||||
void SetObjectTag(uint64_t object, VkDebugReportObjectTypeEXT objectType, uint64_t name, size_t tagSize, const void* tag);
|
void SetObjectTag(uint64_t object, VkDebugReportObjectTypeEXT objectType, uint64_t name, size_t tagSize, const void* tag);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
friend DebugMaker *CreateDebugMaker(VkDevice device);
|
friend DebugMaker *CreateDebugMaker(VkDevice device);
|
||||||
|
|
||||||
DebugMaker(VkDevice dev,const DebugMakerFunction &f)
|
DebugMaker(VkDevice dev,const DebugMakerFunction &f)
|
||||||
{
|
{
|
||||||
device=dev;
|
device=dev;
|
||||||
dmf=f;
|
dmf=f;
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
void Begin(VkCommandBuffer cmdbuffer, const char * pMarkerName, const Color4f &color);
|
void Begin(VkCommandBuffer cmdbuffer, const char * pMarkerName, const Color4f &color);
|
||||||
void Insert(VkCommandBuffer cmdbuffer, const char *markerName, const Color4f &color);
|
void Insert(VkCommandBuffer cmdbuffer, const char *markerName, const Color4f &color);
|
||||||
void End(VkCommandBuffer cmdBuffer);
|
void End(VkCommandBuffer cmdBuffer);
|
||||||
|
|
||||||
#define DEBUG_MAKER_SET_FUNC(type,MNAME) void Set##type(Vk##type obj,const char *name){SetObjectName((uint64_t)obj,VK_DEBUG_REPORT_OBJECT_TYPE_##MNAME##_EXT,name);}
|
#define DEBUG_MAKER_SET_FUNC(type,MNAME) void Set##type(Vk##type obj,const char *name){SetObjectName((uint64_t)obj,VK_DEBUG_REPORT_OBJECT_TYPE_##MNAME##_EXT,name);}
|
||||||
|
|
||||||
DEBUG_MAKER_SET_FUNC(CommandBuffer, COMMAND_BUFFER)
|
DEBUG_MAKER_SET_FUNC(Instance, INSTANCE)
|
||||||
DEBUG_MAKER_SET_FUNC(Queue, QUEUE)
|
DEBUG_MAKER_SET_FUNC(PhysicalDevice, PHYSICAL_DEVICE)
|
||||||
DEBUG_MAKER_SET_FUNC(Image, IMAGE)
|
DEBUG_MAKER_SET_FUNC(Device, DEVICE)
|
||||||
DEBUG_MAKER_SET_FUNC(Sampler, SAMPLER)
|
DEBUG_MAKER_SET_FUNC(Queue, QUEUE)
|
||||||
DEBUG_MAKER_SET_FUNC(Buffer, BUFFER)
|
DEBUG_MAKER_SET_FUNC(Semaphore, SEMAPHORE)
|
||||||
DEBUG_MAKER_SET_FUNC(DeviceMemory, DEVICE_MEMORY)
|
DEBUG_MAKER_SET_FUNC(CommandBuffer, COMMAND_BUFFER)
|
||||||
DEBUG_MAKER_SET_FUNC(ShaderModule, SHADER_MODULE)
|
DEBUG_MAKER_SET_FUNC(Fence, FENCE)
|
||||||
DEBUG_MAKER_SET_FUNC(Pipeline, PIPELINE)
|
DEBUG_MAKER_SET_FUNC(DeviceMemory, DEVICE_MEMORY)
|
||||||
DEBUG_MAKER_SET_FUNC(PipelineLayout, PIPELINE_LAYOUT)
|
DEBUG_MAKER_SET_FUNC(Buffer, BUFFER)
|
||||||
DEBUG_MAKER_SET_FUNC(RenderPass, RENDER_PASS)
|
DEBUG_MAKER_SET_FUNC(Image, IMAGE)
|
||||||
DEBUG_MAKER_SET_FUNC(Framebuffer, FRAMEBUFFER)
|
DEBUG_MAKER_SET_FUNC(Event, EVENT)
|
||||||
DEBUG_MAKER_SET_FUNC(DescriptorSetLayout, DESCRIPTOR_SET_LAYOUT)
|
DEBUG_MAKER_SET_FUNC(QueryPool, QUERY_POOL)
|
||||||
DEBUG_MAKER_SET_FUNC(DescriptorSet, DESCRIPTOR_SET)
|
DEBUG_MAKER_SET_FUNC(BufferView, BUFFER_VIEW)
|
||||||
DEBUG_MAKER_SET_FUNC(Semaphore, SEMAPHORE)
|
DEBUG_MAKER_SET_FUNC(ShaderModule, SHADER_MODULE)
|
||||||
DEBUG_MAKER_SET_FUNC(Fence, FENCE)
|
DEBUG_MAKER_SET_FUNC(PipelineCache, PIPELINE_CACHE)
|
||||||
DEBUG_MAKER_SET_FUNC(Event, EVENT)
|
DEBUG_MAKER_SET_FUNC(PipelineLayout, PIPELINE_LAYOUT)
|
||||||
|
DEBUG_MAKER_SET_FUNC(RenderPass, RENDER_PASS)
|
||||||
#undef DEBUG_MAKER_SET_FUNC
|
DEBUG_MAKER_SET_FUNC(Pipeline, PIPELINE)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DescriptorSetLayout, DESCRIPTOR_SET_LAYOUT)
|
||||||
|
DEBUG_MAKER_SET_FUNC(Sampler, SAMPLER)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DescriptorPool, DESCRIPTOR_POOL)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DescriptorSet, DESCRIPTOR_SET)
|
||||||
|
DEBUG_MAKER_SET_FUNC(Framebuffer, FRAMEBUFFER)
|
||||||
|
DEBUG_MAKER_SET_FUNC(CommandPool, COMMAND_POOL)
|
||||||
|
DEBUG_MAKER_SET_FUNC(SurfaceKHR, SURFACE_KHR)
|
||||||
|
DEBUG_MAKER_SET_FUNC(SwapchainKHR, SWAPCHAIN_KHR)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DebugReportCallbackEXT, DEBUG_REPORT_CALLBACK_EXT)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DisplayKHR, DISPLAY_KHR)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DisplayModeKHR, DISPLAY_MODE_KHR)
|
||||||
|
DEBUG_MAKER_SET_FUNC(ValidationCacheEXT, VALIDATION_CACHE_EXT)
|
||||||
|
DEBUG_MAKER_SET_FUNC(SamplerYcbcrConversion, SAMPLER_YCBCR_CONVERSION)
|
||||||
|
DEBUG_MAKER_SET_FUNC(DescriptorUpdateTemplate, DESCRIPTOR_UPDATE_TEMPLATE)
|
||||||
|
DEBUG_MAKER_SET_FUNC(CuModuleNVX, CU_MODULE_NVX)
|
||||||
|
DEBUG_MAKER_SET_FUNC(CuFunctionNVX, CU_FUNCTION_NVX)
|
||||||
|
DEBUG_MAKER_SET_FUNC(AccelerationStructureKHR, ACCELERATION_STRUCTURE_KHR)
|
||||||
|
DEBUG_MAKER_SET_FUNC(AccelerationStructureNV, ACCELERATION_STRUCTURE_NV)
|
||||||
|
|
||||||
|
#undef DEBUG_MAKER_SET_FUNC
|
||||||
};//class DebugMaker
|
};//class DebugMaker
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
#endif//HGL_GRAPH_VULKAN_DEBUG_MAKER_INCLUDE
|
#endif//HGL_GRAPH_VULKAN_DEBUG_MAKER_INCLUDE
|
||||||
|
@@ -33,32 +33,57 @@ public:
|
|||||||
|
|
||||||
void SetName(VkObjectType,uint64_t,const char *);
|
void SetName(VkObjectType,uint64_t,const char *);
|
||||||
|
|
||||||
void SetInstance (VkInstance inst, const char *name){SetName(VK_OBJECT_TYPE_INSTANCE, (uint64_t)inst, name);}
|
#define DU_FUNC(n,N) void Set##n(Vk##n obj,const char *name){SetName(VK_OBJECT_TYPE_##N,(uint64_t)obj,name);}
|
||||||
void SetPhysicsDevice (VkPhysicalDevice pd, const char *name){SetName(VK_OBJECT_TYPE_PHYSICAL_DEVICE, (uint64_t)pd, name);}
|
|
||||||
void SetDevice (VkDevice dev, const char *name){SetName(VK_OBJECT_TYPE_DEVICE, (uint64_t)dev, name);}
|
DU_FUNC(Instance ,INSTANCE )
|
||||||
void SetQueue (VkQueue queue, const char *name){SetName(VK_OBJECT_TYPE_QUEUE, (uint64_t)queue, name);}
|
DU_FUNC(PhysicalDevice ,PHYSICAL_DEVICE )
|
||||||
void SetSemaphore (VkSemaphore sema, const char *name){SetName(VK_OBJECT_TYPE_SEMAPHORE, (uint64_t)sema, name);}
|
DU_FUNC(Device ,DEVICE )
|
||||||
void SetCommandBuffer (VkCommandBuffer cb, const char *name){SetName(VK_OBJECT_TYPE_COMMAND_BUFFER, (uint64_t)cb, name);}
|
DU_FUNC(Queue ,QUEUE )
|
||||||
void SetFence (VkFence fence, const char *name){SetName(VK_OBJECT_TYPE_FENCE, (uint64_t)fence, name);}
|
DU_FUNC(Semaphore ,SEMAPHORE )
|
||||||
void SetDeviceMemory (VkDeviceMemory mem, const char *name){SetName(VK_OBJECT_TYPE_DEVICE_MEMORY, (uint64_t)mem, name);}
|
DU_FUNC(CommandBuffer ,COMMAND_BUFFER )
|
||||||
void SetBuffer (VkBuffer buf, const char *name){SetName(VK_OBJECT_TYPE_BUFFER, (uint64_t)buf, name);}
|
DU_FUNC(Fence ,FENCE )
|
||||||
void SetImage (VkImage img, const char *name){SetName(VK_OBJECT_TYPE_IMAGE, (uint64_t)img, name);}
|
DU_FUNC(DeviceMemory ,DEVICE_MEMORY )
|
||||||
void SetEvent (VkEvent event, const char *name){SetName(VK_OBJECT_TYPE_EVENT, (uint64_t)event, name);}
|
DU_FUNC(Buffer ,BUFFER )
|
||||||
void SetQueryPool (VkQueryPool qpool, const char *name){SetName(VK_OBJECT_TYPE_QUERY_POOL, (uint64_t)qpool, name);}
|
DU_FUNC(Image ,IMAGE )
|
||||||
void SetBufferView (VkBufferView bview, const char *name){SetName(VK_OBJECT_TYPE_BUFFER_VIEW, (uint64_t)bview, name);}
|
DU_FUNC(Event ,EVENT )
|
||||||
void SetImageView (VkImageView iview, const char *name){SetName(VK_OBJECT_TYPE_IMAGE_VIEW, (uint64_t)iview, name);}
|
DU_FUNC(QueryPool ,QUERY_POOL )
|
||||||
void SetShaderModule (VkShaderModule smod, const char *name){SetName(VK_OBJECT_TYPE_SHADER_MODULE, (uint64_t)smod, name);}
|
DU_FUNC(BufferView ,BUFFER_VIEW )
|
||||||
void SetPipelineCache (VkPipelineCache pcache, const char *name){SetName(VK_OBJECT_TYPE_PIPELINE_CACHE, (uint64_t)pcache, name);}
|
DU_FUNC(ImageView ,IMAGE_VIEW )
|
||||||
void SetPipelineLayout (VkPipelineLayout playout,const char *name){SetName(VK_OBJECT_TYPE_PIPELINE_LAYOUT, (uint64_t)playout, name);}
|
DU_FUNC(ShaderModule ,SHADER_MODULE )
|
||||||
void SetRenderPass (VkRenderPass rpass, const char *name){SetName(VK_OBJECT_TYPE_RENDER_PASS, (uint64_t)rpass, name);}
|
DU_FUNC(PipelineCache ,PIPELINE_CACHE )
|
||||||
void SetPipeline (VkPipeline pipe, const char *name){SetName(VK_OBJECT_TYPE_PIPELINE, (uint64_t)pipe, name);}
|
DU_FUNC(PipelineLayout ,PIPELINE_LAYOUT )
|
||||||
void SetDescriptorSetLayout (VkDescriptorSetLayout dsl, const char *name){SetName(VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, (uint64_t)dsl, name);}
|
DU_FUNC(RenderPass ,RENDER_PASS )
|
||||||
void SetSampler (VkSampler s, const char *name){SetName(VK_OBJECT_TYPE_SAMPLER, (uint64_t)s, name);}
|
DU_FUNC(Pipeline ,PIPELINE )
|
||||||
void SetDescriptorPool (VkDescriptorPool dp, const char *name){SetName(VK_OBJECT_TYPE_DESCRIPTOR_POOL, (uint64_t)dp, name);}
|
DU_FUNC(DescriptorSetLayout ,DESCRIPTOR_SET_LAYOUT )
|
||||||
void SetDescriptorSet (VkDescriptorSet ds, const char *name){SetName(VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t)ds, name);}
|
DU_FUNC(Sampler ,SAMPLER )
|
||||||
void SetFrameBuffer (VkFramebuffer fbo, const char *name){SetName(VK_OBJECT_TYPE_FRAMEBUFFER, (uint64_t)fbo, name);}
|
DU_FUNC(DescriptorPool ,DESCRIPTOR_POOL )
|
||||||
void SetCommandPool (VkCommandPool cp, const char *name){SetName(VK_OBJECT_TYPE_COMMAND_POOL, (uint64_t)cp, name);}
|
DU_FUNC(DescriptorSet ,DESCRIPTOR_SET )
|
||||||
|
DU_FUNC(Framebuffer ,FRAMEBUFFER )
|
||||||
|
DU_FUNC(CommandPool ,COMMAND_POOL )
|
||||||
|
|
||||||
|
DU_FUNC(SamplerYcbcrConversion, SAMPLER_YCBCR_CONVERSION)
|
||||||
|
DU_FUNC(DescriptorUpdateTemplate, DESCRIPTOR_UPDATE_TEMPLATE)
|
||||||
|
DU_FUNC(PrivateDataSlot, PRIVATE_DATA_SLOT)
|
||||||
|
DU_FUNC(SurfaceKHR, SURFACE_KHR)
|
||||||
|
DU_FUNC(SwapchainKHR, SWAPCHAIN_KHR)
|
||||||
|
DU_FUNC(DisplayKHR, DISPLAY_KHR)
|
||||||
|
DU_FUNC(DisplayModeKHR, DISPLAY_MODE_KHR)
|
||||||
|
DU_FUNC(DebugReportCallbackEXT, DEBUG_REPORT_CALLBACK_EXT)
|
||||||
|
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||||
|
DU_FUNC(VideoSessionKHR, VIDEO_SESSION_KHR)
|
||||||
|
DU_FUNC(VideoSessionParametersKHR, VIDEO_SESSION_PARAMETERS_KH)
|
||||||
|
#endif//VK_ENABLE_BETA_EXTENSIONS
|
||||||
|
DU_FUNC(CuModuleNVX, CU_MODULE_NVX)
|
||||||
|
DU_FUNC(CuFunctionNVX, CU_FUNCTION_NVX)
|
||||||
|
DU_FUNC(DebugUtilsMessengerEXT, DEBUG_UTILS_MESSENGER_EXT)
|
||||||
|
DU_FUNC(AccelerationStructureKHR, ACCELERATION_STRUCTURE_KHR)
|
||||||
|
DU_FUNC(ValidationCacheEXT, VALIDATION_CACHE_EXT)
|
||||||
|
DU_FUNC(AccelerationStructureNV, ACCELERATION_STRUCTURE_NV)
|
||||||
|
DU_FUNC(PerformanceConfigurationINTEL, PERFORMANCE_CONFIGURATION_INTEL)
|
||||||
|
DU_FUNC(DeferredOperationKHR, DEFERRED_OPERATION_KHR)
|
||||||
|
DU_FUNC(IndirectCommandsLayoutNV, INDIRECT_COMMANDS_LAYOUT_NV)
|
||||||
|
// DU_FUNC(BufferCollectionFuchsia, BUFFER_COLLECTION_FUCHSIA)
|
||||||
|
|
||||||
void Begin(VkCommandBuffer,const char *,const Color4f &color=Color4f(1,1,1,1));
|
void Begin(VkCommandBuffer,const char *,const Color4f &color=Color4f(1,1,1,1));
|
||||||
void End(VkCommandBuffer cmd_buf){duf.End(cmd_buf);}
|
void End(VkCommandBuffer cmd_buf){duf.End(cmd_buf);}
|
||||||
};//class DebugUtils
|
};//class DebugUtils
|
||||||
|
Reference in New Issue
Block a user