From 807817c0c4b6cef6acef8360394ae000be278109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 29 Aug 2020 01:28:26 +0200 Subject: GPUFrameBuffer: Use debug name support This is to make it easier to navigate captures in renderdoc. --- source/blender/draw/engines/eevee/eevee_effects.c | 2 +- source/blender/draw/engines/eevee/eevee_shadows.c | 2 +- source/blender/draw/engines/select/select_engine.c | 2 +- source/blender/draw/intern/draw_manager.c | 2 +- source/blender/editors/space_view3d/view3d_draw.c | 2 +- source/blender/gpu/GPU_framebuffer.h | 4 ++-- source/blender/gpu/intern/gpu_extensions.cc | 2 +- source/blender/gpu/intern/gpu_framebuffer.cc | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c index 4a03ef69d45..acda2669bb7 100644 --- a/source/blender/draw/engines/eevee/eevee_effects.c +++ b/source/blender/draw/engines/eevee/eevee_effects.c @@ -195,7 +195,7 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata, } if (fbl->downsample_fb == NULL) { - fbl->downsample_fb = GPU_framebuffer_create(); + fbl->downsample_fb = GPU_framebuffer_create("downsample_fb"); } /** diff --git a/source/blender/draw/engines/eevee/eevee_shadows.c b/source/blender/draw/engines/eevee/eevee_shadows.c index 79d89ab620c..26bf477763e 100644 --- a/source/blender/draw/engines/eevee/eevee_shadows.c +++ b/source/blender/draw/engines/eevee/eevee_shadows.c @@ -263,7 +263,7 @@ void EEVEE_shadows_update(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) } if (sldata->shadow_fb == NULL) { - sldata->shadow_fb = GPU_framebuffer_create(); + sldata->shadow_fb = GPU_framebuffer_create("shadow_fb"); } /* Gather all light own update bits. to avoid costly intersection check. */ diff --git a/source/blender/draw/engines/select/select_engine.c b/source/blender/draw/engines/select/select_engine.c index 8cee6c4ee9f..0ce8937687a 100644 --- a/source/blender/draw/engines/select/select_engine.c +++ b/source/blender/draw/engines/select/select_engine.c @@ -65,7 +65,7 @@ static void select_engine_framebuffer_setup(void) size[1] = GPU_texture_height(dtxl->depth); if (e_data.framebuffer_select_id == NULL) { - e_data.framebuffer_select_id = GPU_framebuffer_create(); + e_data.framebuffer_select_id = GPU_framebuffer_create("framebuffer_select_id"); } if ((e_data.texture_u32 != NULL) && ((GPU_texture_width(e_data.texture_u32) != size[0]) || diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index c36eeec6c08..336a3d61479 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1917,7 +1917,7 @@ static struct DRWSelectBuffer { static void draw_select_framebuffer_depth_only_setup(const int size[2]) { if (g_select_buffer.framebuffer_depth_only == NULL) { - g_select_buffer.framebuffer_depth_only = GPU_framebuffer_create(); + g_select_buffer.framebuffer_depth_only = GPU_framebuffer_create("framebuffer_depth_only"); } if ((g_select_buffer.texture_depth != NULL) && diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 195199c45cd..c4da39bca2f 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2153,7 +2153,7 @@ static void view3d_opengl_read_Z_pixels(GPUViewport *viewport, rcti *rect, void { DefaultTextureList *dtxl = (DefaultTextureList *)GPU_viewport_texture_list_get(viewport); - GPUFrameBuffer *tmp_fb = GPU_framebuffer_create(); + GPUFrameBuffer *tmp_fb = GPU_framebuffer_create(__func__); GPU_framebuffer_texture_attach(tmp_fb, dtxl->depth, 0, 0); GPU_framebuffer_bind(tmp_fb); diff --git a/source/blender/gpu/GPU_framebuffer.h b/source/blender/gpu/GPU_framebuffer.h index 61833a9a65f..aa89b29f767 100644 --- a/source/blender/gpu/GPU_framebuffer.h +++ b/source/blender/gpu/GPU_framebuffer.h @@ -59,7 +59,7 @@ typedef struct GPUFrameBuffer { typedef struct GPUOffScreen GPUOffScreen; -GPUFrameBuffer *GPU_framebuffer_create(void); +GPUFrameBuffer *GPU_framebuffer_create(const char *name); void GPU_framebuffer_free(GPUFrameBuffer *fb); void GPU_framebuffer_bind(GPUFrameBuffer *fb); void GPU_framebuffer_bind_no_srgb(GPUFrameBuffer *fb); @@ -109,7 +109,7 @@ void GPU_framebuffer_texture_detach(GPUFrameBuffer *fb, struct GPUTexture *tex); #define GPU_framebuffer_ensure_config(_fb, ...) \ do { \ if (*(_fb) == NULL) { \ - *(_fb) = GPU_framebuffer_create(); \ + *(_fb) = GPU_framebuffer_create(#_fb); \ } \ GPUAttachment config[] = __VA_ARGS__; \ GPU_framebuffer_config_array(*(_fb), config, (sizeof(config) / sizeof(GPUAttachment))); \ diff --git a/source/blender/gpu/intern/gpu_extensions.cc b/source/blender/gpu/intern/gpu_extensions.cc index 1d607d79b01..6fe08d81cda 100644 --- a/source/blender/gpu/intern/gpu_extensions.cc +++ b/source/blender/gpu/intern/gpu_extensions.cc @@ -116,7 +116,7 @@ static void gpu_detect_mip_render_workaround(void) glTexParameteri(GPU_texture_target(tex), GL_TEXTURE_MAX_LEVEL, 0); GPU_texture_unbind(tex); - GPUFrameBuffer *fb = GPU_framebuffer_create(); + GPUFrameBuffer *fb = GPU_framebuffer_create(__func__); GPU_framebuffer_texture_attach(fb, tex, 0, 1); GPU_framebuffer_bind(fb); GPU_framebuffer_clear_color(fb, clear_color); diff --git a/source/blender/gpu/intern/gpu_framebuffer.cc b/source/blender/gpu/intern/gpu_framebuffer.cc index 3390b47b1b1..600dd129aef 100644 --- a/source/blender/gpu/intern/gpu_framebuffer.cc +++ b/source/blender/gpu/intern/gpu_framebuffer.cc @@ -214,11 +214,11 @@ void FrameBuffer::recursive_downsample(int max_lvl, using namespace blender; using namespace blender::gpu; -GPUFrameBuffer *GPU_framebuffer_create() +GPUFrameBuffer *GPU_framebuffer_create(const char *name) { /* We generate the FB object later at first use in order to * create the framebuffer in the right opengl context. */ - return (GPUFrameBuffer *)GPUBackend::get()->framebuffer_alloc("FB"); + return (GPUFrameBuffer *)GPUBackend::get()->framebuffer_alloc(name); } void GPU_framebuffer_free(GPUFrameBuffer *gpu_fb) -- cgit v1.2.3