Commit: 2329cc09e6aec1adf09db755b0912a79cb3ab63a
Author: Brecht Van Lommel
Date:   Wed Feb 28 02:29:55 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB2329cc09e6aec1adf09db755b0912a79cb3ab63a

Code cleanup: make viewport free simpler and consistent with GPU module.

===================================================================

M       source/blender/draw/intern/draw_manager.c
M       source/blender/editors/space_view3d/space_view3d.c
M       source/blender/editors/space_view3d/view3d_draw.c
M       source/blender/gpu/intern/gpu_viewport.c

===================================================================

diff --git a/source/blender/draw/intern/draw_manager.c 
b/source/blender/draw/intern/draw_manager.c
index 8626d979681..bf8428d2919 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1213,7 +1213,6 @@ void DRW_draw_render_loop_offscreen(
                        /* don't free data owned by 'ofs' */
                        GPU_viewport_clear_from_offscreen(rv3d->viewport);
                        GPU_viewport_free(rv3d->viewport);
-                       MEM_freeN(rv3d->viewport);
                }
 
                rv3d->viewport = backup_viewport;
@@ -1297,7 +1296,6 @@ void DRW_render_to_image(RenderEngine *engine, struct 
Depsgraph *depsgraph)
        /* TODO grease pencil */
 
        GPU_viewport_free(DST.viewport);
-       MEM_freeN(DST.viewport);
 
        DRW_state_reset();
        /* FIXME GL_DEPTH_TEST is enabled by default but it seems
@@ -1493,7 +1491,6 @@ void DRW_draw_select_loop(
 
        /* Cleanup for selection state */
        GPU_viewport_free(viewport);
-       MEM_freeN(viewport);
 
        /* Restore Drawing area. */
        gpuPopAttrib();
@@ -1638,7 +1635,6 @@ void DRW_draw_depth_loop(
 
        /* Cleanup for selection state */
        GPU_viewport_free(viewport);
-       MEM_freeN(viewport);
 
        /* Restore Drawing area. */
        gpuPopAttrib();
diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 1774390a1e5..7d29d6ad9b2 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -577,7 +577,6 @@ static void view3d_main_region_exit(wmWindowManager *wm, 
ARegion *ar)
                DRW_opengl_context_enable();
                GPU_viewport_free(rv3d->viewport);
                DRW_opengl_context_disable();
-               MEM_freeN(rv3d->viewport);
                rv3d->viewport = NULL;
        }
 }
@@ -764,7 +763,6 @@ static void view3d_main_region_free(ARegion *ar)
                        DRW_opengl_context_enable();
                        GPU_viewport_free(rv3d->viewport);
                        DRW_opengl_context_disable();
-                       MEM_freeN(rv3d->viewport);
                }
 
                MEM_freeN(rv3d);
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 5e649c6d2ea..793b7289146 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2235,7 +2235,6 @@ ImBuf *ED_view3d_draw_offscreen_imbuf(
                        /* don't free data owned by 'ofs' */
                        GPU_viewport_clear_from_offscreen(viewport);
                        GPU_viewport_free(viewport);
-                       MEM_freeN(viewport);
                }
 
                if (ibuf->rect_float == NULL) {
diff --git a/source/blender/gpu/intern/gpu_viewport.c 
b/source/blender/gpu/intern/gpu_viewport.c
index 83b9a8f0b0e..ee9d175e217 100644
--- a/source/blender/gpu/intern/gpu_viewport.c
+++ b/source/blender/gpu/intern/gpu_viewport.c
@@ -410,7 +410,6 @@ void GPU_viewport_bind(GPUViewport *viewport, const rcti 
*rect)
 cleanup_multisample:
                        if (!ok) {
                                GPU_viewport_free(viewport);
-                               MEM_freeN(viewport);
                                return;
                        }
                }
@@ -466,7 +465,6 @@ cleanup_multisample:
 cleanup:
                if (!ok) {
                        GPU_viewport_free(viewport);
-                       MEM_freeN(viewport);
                        DRW_opengl_context_disable();
                        return;
                }
@@ -622,6 +620,8 @@ void GPU_viewport_free(GPUViewport *viewport)
        MEM_freeN(viewport->idatalist);
 
        GPU_viewport_debug_depth_free(viewport);
+
+       MEM_freeN(viewport);
 }
 
 /****************** debug ********************/

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to