[Bf-blender-cvs] [b2cc2dda9c3] blender-v2.83-release: Fix 3D viewport select using grease pencil engine when not needed

Brecht Van Lommel noreply at git.blender.org
Wed Apr 22 13:47:26 CEST 2020


Commit: b2cc2dda9c37775b04b6a9b4e07a25a51c74c693
Author: Brecht Van Lommel
Date:   Tue Apr 21 20:53:21 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBb2cc2dda9c37775b04b6a9b4e07a25a51c74c693

Fix 3D viewport select using grease pencil engine when not needed

Other draw loops also avoid the overhead of grease pencil drawing when there
are no grease pencil objects in the scene. It's a little faster to skip those
shaders and buffer when not needed.

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

M	source/blender/draw/intern/draw_manager.c

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

diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 09b9b63d07a..51222d833c2 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2054,7 +2054,9 @@ void DRW_draw_select_loop(struct Depsgraph *depsgraph,
   }
   else if (!draw_surface) {
     /* grease pencil selection */
-    use_drw_engine(&draw_engine_gpencil_type);
+    if (drw_gpencil_engine_needed(depsgraph, v3d)) {
+      use_drw_engine(&draw_engine_gpencil_type);
+    }
 
     drw_engines_enable_overlays();
   }
@@ -2062,7 +2064,9 @@ void DRW_draw_select_loop(struct Depsgraph *depsgraph,
     /* Draw surface for occlusion. */
     drw_engines_enable_basic();
     /* grease pencil selection */
-    use_drw_engine(&draw_engine_gpencil_type);
+    if (drw_gpencil_engine_needed(depsgraph, v3d)) {
+      use_drw_engine(&draw_engine_gpencil_type);
+    }
 
     drw_engines_enable_overlays();
   }



More information about the Bf-blender-cvs mailing list