[Bf-blender-cvs] [5b31532ec3e] soc-2019-npr: LANPR: Moved GPU batches to lanpr_share.
YimingWu
noreply at git.blender.org
Mon Jul 15 16:20:00 CEST 2019
Commit: 5b31532ec3e9a647b1f0e90722ffa4f91db5bc47
Author: YimingWu
Date: Mon Jul 15 22:18:23 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB5b31532ec3e9a647b1f0e90722ffa4f91db5bc47
LANPR: Moved GPU batches to lanpr_share.
===================================================================
M source/blender/draw/engines/lanpr/lanpr_all.h
M source/blender/draw/engines/lanpr/lanpr_dpix.c
M source/blender/draw/engines/lanpr/lanpr_engine.c
M source/blender/editors/include/ED_lanpr.h
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h b/source/blender/draw/engines/lanpr/lanpr_all.h
index 5c6ce884004..7ad7976a9cc 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -189,8 +189,6 @@ typedef struct LANPR_PrivateData {
GPUVertFormat snake_gwn_format;
GPUBatch *snake_batch;
-
- ListBase dpix_batch_list;
} LANPR_PrivateData;
typedef struct LANPR_StorageList {
diff --git a/source/blender/draw/engines/lanpr/lanpr_dpix.c b/source/blender/draw/engines/lanpr/lanpr_dpix.c
index 2126da0f493..14f15d2ed8a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_dpix.c
+++ b/source/blender/draw/engines/lanpr/lanpr_dpix.c
@@ -393,7 +393,7 @@ int lanpr_feed_atlas_trigger_preview_obj(void *vedata, Object *ob, int begin_ind
GPU_PRIM_POINTS, vbo2, 0, GPU_USAGE_STATIC | GPU_BATCH_OWNS_VBO);
LANPR_BatchItem *bi = BLI_mempool_alloc(lanpr_share.mp_batch_list);
- BLI_addtail(&pd->dpix_batch_list, bi);
+ BLI_addtail(&lanpr_share.dpix_batch_list, bi);
bi->dpix_transform_batch = gb;
bi->dpix_preview_batch = gb2;
bi->ob = ob;
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index 95354ad42a4..26a61504ea9 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -415,7 +415,7 @@ static void lanpr_cache_init(void *vedata)
pd->atlas_edge_mask = MEM_callocN(fsize, "atlas_edge_mask"); /* should always be float */
LANPR_BatchItem* dpbi;
- while (dpbi = BLI_pophead(&pd->dpix_batch_list)){
+ while (dpbi = BLI_pophead(&lanpr_share.dpix_batch_list)){
GPU_batch_discard(dpbi->dpix_preview_batch);
GPU_batch_discard(dpbi->dpix_transform_batch);
}
@@ -551,7 +551,7 @@ static void lanpr_cache_finish(void *vedata)
}
LANPR_BatchItem *bi;
- for (bi = pd->dpix_batch_list.first; bi; bi = (void *)bi->item.next) {
+ for (bi = lanpr_share.dpix_batch_list.first; bi; bi = (void *)bi->item.next) {
DRW_shgroup_call_ex(
pd->dpix_transform_shgrp, 0, bi->ob->obmat, bi->dpix_transform_batch, 0, 0, true, NULL);
DRW_shgroup_call(pd->dpix_preview_shgrp, bi->dpix_preview_batch, 0);
@@ -797,7 +797,7 @@ static void lanpr_view_update(void *vedata)
/* our update flag is in SceneLANPR. */
const DRWContextState *draw_ctx = DRW_context_state_get();
SceneLANPR *lanpr = &DEG_get_evaluated_scene(draw_ctx->depsgraph)->lanpr;
- lanpr->reloaded = 1; /* very bad solution, this will slow down animation. */
+ //lanpr->reloaded = 1; /* very bad solution, this will slow down animation. */
}
/* This reserve for depsgraph auto updates. */
diff --git a/source/blender/editors/include/ED_lanpr.h b/source/blender/editors/include/ED_lanpr.h
index 50dace04327..6753ed04b5f 100644
--- a/source/blender/editors/include/ED_lanpr.h
+++ b/source/blender/editors/include/ED_lanpr.h
@@ -315,6 +315,7 @@ typedef struct LANPR_SharedResource {
struct GPUShader *dpix_preview_shader;
int dpix_shader_error;
int texture_size;
+ ListBase dpix_batch_list;
/* Software */
struct GPUShader *software_shader;
More information about the Bf-blender-cvs
mailing list