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);

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

Reply via email to