[Bf-blender-cvs] [d4eafa06a12] greasepencil-object: GP: Test for removing DEG_get_original_id()

Antonioya noreply at git.blender.org
Tue Jan 29 17:19:32 CET 2019


Commit: d4eafa06a12a472c9007e82ee9bfd0e91078cf77
Author: Antonioya
Date:   Tue Jan 29 17:18:54 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rBd4eafa06a12a472c9007e82ee9bfd0e91078cf77

GP: Test for removing DEG_get_original_id()

Use depsgraph data and not original data in draw manager, except while drawing new strokes.

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

M	source/blender/draw/engines/gpencil/gpencil_cache_utils.c
M	source/blender/draw/engines/gpencil/gpencil_draw_utils.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
index 3c3125a0fd6..5c89a53f859 100644
--- a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
@@ -72,9 +72,8 @@ tGPencilObjectCache *gpencil_object_cache_add(
 	cache_elem = &cache_array[*gp_cache_used];
 	memset(cache_elem, 0, sizeof(*cache_elem));
 
-	Object *ob_orig = (Object *)DEG_get_original_id(&ob->id);
-	cache_elem->ob = ob_orig;
-	cache_elem->gpd = (bGPdata *)ob_orig->data;
+	cache_elem->ob = ob;
+	cache_elem->gpd = (bGPdata *)ob->data;
 	copy_v3_v3(cache_elem->loc, ob->obmat[3]);
 	copy_m4_m4(cache_elem->obmat, ob->obmat);
 	cache_elem->idx = *gp_cache_used;
@@ -85,7 +84,7 @@ tGPencilObjectCache *gpencil_object_cache_add(
 
 	/* save FXs */
 	cache_elem->pixfactor = cache_elem->gpd->pixfactor;
-	cache_elem->shader_fx = ob_orig->shader_fx;
+	cache_elem->shader_fx = ob->shader_fx;
 
 	/* shgrp array */
 	cache_elem->tot_layers = 0;
@@ -171,8 +170,7 @@ GpencilBatchGroup *gpencil_group_cache_add(
 /* get current cache data */
 static GpencilBatchCache *gpencil_batch_get_element(Object *ob)
 {
-	Object *ob_orig = (Object *)DEG_get_original_id(&ob->id);
-	return ob_orig->runtime.gpencil_cache;
+	return ob->runtime.gpencil_cache;
 }
 
 /* verify if cache is valid */
@@ -214,14 +212,13 @@ static bool gpencil_batch_cache_valid(GpencilBatchCache *cache, bGPdata *gpd, in
 /* cache init */
 static GpencilBatchCache *gpencil_batch_cache_init(Object *ob, int cfra)
 {
-	Object *ob_orig = (Object *)DEG_get_original_id(&ob->id);
-	bGPdata *gpd = (bGPdata *)ob_orig->data;
+	bGPdata *gpd = (bGPdata *)ob->data;
 
 	GpencilBatchCache *cache = gpencil_batch_get_element(ob);
 
 	if (!cache) {
 		cache = MEM_callocN(sizeof(*cache), __func__);
-		ob_orig->runtime.gpencil_cache = cache;
+		ob->runtime.gpencil_cache = cache;
 	}
 	else {
 		memset(cache, 0, sizeof(*cache));
@@ -277,8 +274,7 @@ static void gpencil_batch_cache_clear(GpencilBatchCache *cache)
 /* get cache */
 GpencilBatchCache *gpencil_batch_cache_get(Object *ob, int cfra)
 {
-	Object *ob_orig = (Object *)DEG_get_original_id(&ob->id);
-	bGPdata *gpd = (bGPdata *)ob_orig->data;
+	bGPdata *gpd = (bGPdata *)ob->data;
 
 	GpencilBatchCache *cache = gpencil_batch_get_element(ob);
 	if (!gpencil_batch_cache_valid(cache, gpd, cfra)) {
@@ -295,8 +291,7 @@ GpencilBatchCache *gpencil_batch_cache_get(Object *ob, int cfra)
 /* set cache as dirty */
 void DRW_gpencil_batch_cache_dirty_tag(bGPdata *gpd)
 {
-	bGPdata *gpd_orig = (bGPdata *)DEG_get_original_id(&gpd->id);
-	gpd_orig->flag |= GP_DATA_CACHE_IS_DIRTY;
+	gpd->flag |= GP_DATA_CACHE_IS_DIRTY;
 }
 
 /* free batch cache */
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 5e8171dd623..8c4cc36b73b 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -1537,8 +1537,7 @@ void DRW_gpencil_populate_datablock(
 	const ViewLayer *view_layer = DEG_get_evaluated_view_layer(draw_ctx->depsgraph);
 	Scene *scene = draw_ctx->scene;
 
-	bGPdata *gpd_eval = (bGPdata *)ob->data;
-	bGPdata *gpd = (bGPdata *)DEG_get_original_id(&gpd_eval->id);
+	bGPdata *gpd = (bGPdata *)ob->data;
 
 	View3D *v3d = draw_ctx->v3d;
 	int cfra_eval = (int)DEG_get_ctime(draw_ctx->depsgraph);



More information about the Bf-blender-cvs mailing list