Vulkan: Provide utilities to put markers and labels where needed in the GPUmodule #106098
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue