[Bf-blender-cvs] [ac276e15410] blender2.8: fix "Modern Viewport" regression

Mike Erwin noreply at git.blender.org
Mon Mar 13 21:13:37 CET 2017


Commit: ac276e15410814094c90125ffa528034d02ab967
Author: Mike Erwin
Date:   Mon Mar 13 16:08:55 2017 -0400
Branches: blender2.8
https://developer.blender.org/rBac276e15410814094c90125ffa528034d02ab967

fix "Modern Viewport" regression

GPU_viewport_bind & unbind should be called as pairs. A recent commit -- 3b91989a093aef874b601efcffd247cf61e73bad -- called unbind only for some code paths, overflowing OpenGL's matrix & attrib stacks.

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

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

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

diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index d9240fa36fe..a0858168722 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1522,9 +1522,6 @@ void DRW_draw_view(const bContext *C)
 
 	DRW_state_reset();
 	DRW_engines_disable();
-
-	/* Unbind fbo and draw result */
-	GPU_viewport_unbind(DST.viewport);
 }
 
 /* ****************************************** OTHER ***************************************** */
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 21d07761cf5..e1eaf2e1727 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2369,6 +2369,8 @@ void view3d_main_region_draw(const bContext *C, ARegion *ar)
 	else
 		view3d_draw_view(C, ar, &draw_data);
 
+	GPU_viewport_unbind(rv3d->viewport);
+
 	v3d->flag |= V3D_INVALID_BACKBUF;
 }




More information about the Bf-blender-cvs mailing list