[Bf-blender-cvs] [3f26e92d0fd] greasepencil-object: Remove CACHE_REUSE
Antonio Vazquez
noreply at git.blender.org
Wed Jul 26 16:30:24 CEST 2017
Commit: 3f26e92d0fd1de49e8fd648296d57a62ab67c688
Author: Antonio Vazquez
Date: Wed Jul 26 13:55:13 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB3f26e92d0fd1de49e8fd648296d57a62ab67c688
Remove CACHE_REUSE
If we use a different area by object, the cache never can be reused
===================================================================
M source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
M source/blender/draw/engines/gpencil/gpencil_engine.c
M source/blender/draw/engines/gpencil/gpencil_engine.h
M source/blender/makesdna/DNA_gpencil_types.h
===================================================================
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index b73fdcdf4a9..be01981f7eb 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -119,10 +119,6 @@ static bool gpencil_batch_cache_valid(Object *ob, bGPdata *gpd, int cfra)
return false;
}
- if (gpd->flag & GP_DATA_CACHE_REUSE) {
- return true;
- }
-
if (gpd->flag & GP_DATA_CACHE_IS_DIRTY) {
return false;
}
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 5ee0f04e4f5..ddd4e5488cd 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -238,36 +238,13 @@ static void GPENCIL_cache_finish(void *vedata)
Scene *scene = draw_ctx->scene;
ToolSettings *ts = scene->toolsettings;
- stl->g_data->gpd_in_cache = BLI_ghash_str_new("GP datablock");
-
/* Draw all pending objects */
if (stl->g_data->gp_cache_used > 0) {
for (int i = 0; i < stl->g_data->gp_cache_used; ++i) {
Object *ob = stl->g_data->gp_object_cache[i].ob;
/* save init shading group */
stl->g_data->gp_object_cache[i].init_grp = stl->storage->shgroup_id;
-
-#if 0
- /* if use modifiers in several objects, always dirty */
- if ((ob->modifiers.first) && (((ID *)ob->gpd)->us > 1)) {
- ob->gpd->flag |= GP_DATA_CACHE_IS_DIRTY;
- ob->gpd->flag &= ~GP_DATA_CACHE_REUSE;
- }
- else {
- /* add to hash to avoid duplicate geometry cache*/
- if (!BLI_ghash_lookup(stl->g_data->gpd_in_cache, ob->gpd->id.name)) {
- BLI_ghash_insert(stl->g_data->gpd_in_cache, ob->gpd->id.name, ob->gpd);
- if (ob->gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE)) {
- ob->gpd->flag |= GP_DATA_CACHE_IS_DIRTY;
- ob->gpd->flag &= ~GP_DATA_CACHE_REUSE;
- }
- }
- else {
- ob->gpd->flag &= ~GP_DATA_CACHE_IS_DIRTY;
- ob->gpd->flag |= GP_DATA_CACHE_REUSE;
- }
- }
-#endif
+
/* fill shading groups */
DRW_gpencil_populate_datablock(&e_data, vedata, scene, ob, ts, ob->gpd);
@@ -279,13 +256,6 @@ static void GPENCIL_cache_finish(void *vedata)
}
}
}
-
- /* free hash buffer */
- if (stl->g_data->gpd_in_cache) {
- BLI_ghash_free(stl->g_data->gpd_in_cache, NULL, NULL);
- stl->g_data->gpd_in_cache = NULL;
- }
- MEM_SAFE_FREE(stl->g_data->gpd_in_cache);
}
/* helper function to sort inverse gpencil objects using qsort */
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 8e38f4ee762..59e85903140 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -117,8 +117,6 @@ typedef struct g_data {
int gp_cache_used;
int gp_cache_size;
struct tGPencilObjectCache *gp_object_cache;
-
- struct GHash *gpd_in_cache;
} g_data; /* Transient data */
typedef struct GPENCIL_e_data {
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 81bb207ea18..5813419868b 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -375,9 +375,6 @@ typedef enum eGPdata_Flag {
GP_DATA_STROKE_SCULPTMODE = (1 << 13),
/* keep stroke thickness unchanged when zoom change */
GP_DATA_STROKE_KEEPTHICKNESS = (1 << 14),
- /* Batch drawing cache can be reused */
- GP_DATA_CACHE_REUSE = (1 << 15)
-
} eGPdata_Flag;
#endif /* __DNA_GPENCIL_TYPES_H__ */
More information about the Bf-blender-cvs
mailing list