Vulkan: Provide utilities to put markers and labels where needed in the GPUmodule #106098

Merged
Jeroen Bakker merged 29 commits from :vk_debug_update into main 2023-04-21 12:32:52 +02:00
1 changed files with 0 additions and 140 deletions
Showing only changes of commit a40f26b433 - Show all commits

View File

@ -108,147 +108,7 @@ namespace blender {
tools.vkSetDebugUtilsObjectNameEXT_r(ctx->device_get(), &info);
}
}
#if 0
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkInstance obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_INSTANCE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkDevice obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_DEVICE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkPipeline obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_PIPELINE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkFramebuffer obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_FRAMEBUFFER, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkImage obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_IMAGE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkSampler obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_SAMPLER, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkBuffer obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_BUFFER, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkSemaphore obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_SEMAPHORE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkRenderPass obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_RENDER_PASS, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkFence obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_FENCE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkDescriptorSet obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkDescriptorSetLayout obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkShaderModule obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_SHADER_MODULE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkQueue obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_QUEUE, (uint64_t)obj, label);
}
template<> void object_vk_label(blender::gpu::VKContext* ctx, VkDescriptorPool obj, const char* name)
{
char label[64];
ENUMERATE_NAME(label);
object_vk_label(ctx, VK_OBJECT_TYPE_DESCRIPTOR_POOL, (uint64_t)obj, label);
}
void pushMarker(VkCommandBuffer cmd, const char* name)
{
if (tools.enabled) {
VkDebugUtilsLabelEXT info = {};
info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
info.pLabelName = name.c_str();
tools.vkCmdBeginDebugUtilsLabelEXT_r(cmd, &info);
}
}
void setMarker(VkCommandBuffer cmd, const char* name)
{
if (tools.enabled) {
VkDebugUtilsLabelEXT info = {};
info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
info.pLabelName = name.c_str();
tools.vkCmdInsertDebugUtilsLabelEXT_r(cmd, &info);
}
}
void popMarker(VkCommandBuffer cmd)
{
if (tools.enabled) {
tools.vkCmdEndDebugUtilsLabelEXT_r(cmd);
}
}
void pushMarker(VkQueue q, const char* name)
{
if (tools.enabled) {
VkDebugUtilsLabelEXT info = {};
info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
info.pLabelName = name.c_str();
tools.vkQueueBeginDebugUtilsLabelEXT_r(q, &info);
}
}
void setMarker(VkQueue q, const char* name)
{
if (tools.enabled) {
VkDebugUtilsLabelEXT info = {};
info.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
info.pLabelName = name.c_str();
tools.vkQueueInsertDebugUtilsLabelEXT_r(q, &info);
}
}
void popMarker(VkQueue q)
{
if (tools.enabled) {
tools.vkQueueEndDebugUtilsLabelEXT_r(q);
}
}
#endif
}
}
}