[Bf-blender-cvs] [3f9668c54b8] soc-2019-npr: LANPR: Batch discard for CPU mode with chaining.

YimingWu noreply at git.blender.org
Wed Aug 7 03:36:46 CEST 2019


Commit: 3f9668c54b8e99a876d38ef313531f0d6bbbfc64
Author: YimingWu
Date:   Wed Aug 7 09:36:15 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB3f9668c54b8e99a876d38ef313531f0d6bbbfc64

LANPR: Batch discard for CPU mode with chaining.

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

M	source/blender/draw/engines/lanpr/lanpr_chain_draw.c
M	source/blender/draw/engines/lanpr/lanpr_engine.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c

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

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
index 4c6ed6d9c3f..ceb17e4d864 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
@@ -160,8 +160,8 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer *rb)
   MEM_freeN(lengths);
 
   if (rb->chain_draw_batch) {
-    GPU_batch_discard(rb->chain_draw_batch);
+    GPU_BATCH_DISCARD_SAFE(rb->chain_draw_batch);
   }
   rb->chain_draw_batch = GPU_batch_create_ex(
-      GPU_PRIM_LINES_ADJ, vbo, GPU_indexbuf_build(&elb), GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO);
+      GPU_PRIM_LINES_ADJ, vbo, GPU_indexbuf_build(&elb), GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO | GPU_BATCH_OWNS_INDEX);
 }
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index b57ab31e2cb..2b8e2573b9d 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -151,8 +151,12 @@ static void lanpr_engine_free(void)
   }
 
   if (lanpr_share.render_buffer_shared) {
-    ED_lanpr_destroy_render_data(lanpr_share.render_buffer_shared);
-    MEM_freeN(lanpr_share.render_buffer_shared);
+    LANPR_RenderBuffer* rb = lanpr_share.render_buffer_shared;
+    ED_lanpr_destroy_render_data(rb);
+    
+    GPU_BATCH_DISCARD_SAFE(rb->chain_draw_batch);
+
+    MEM_freeN(rb);
     lanpr_share.render_buffer_shared = NULL;
   }
 }
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
index 5fc486f1fe6..53abfdf177c 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
@@ -121,7 +121,7 @@ static void deformStroke(GpencilModifierData *md,
     if ((mmd->flag & GP_THICK_CUSTOM_CURVE) && (mmd->curve_thickness)) {
       /* normalize value to evaluate curve */
       float value = (float)i / (gps->totpoints - 1);
-      curvef = curvemapping_evaluateF(mmd->curve_thickness, 0, value);
+      curvef = BKE_curvemapping_evaluateF(mmd->curve_thickness, 0, value);
     }
 
     float new_pressure = weight * curvef;



More information about the Bf-blender-cvs mailing list