[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