diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-04-30 13:50:17 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-04-30 13:55:03 +0300 |
commit | e8daa615704b55a8bd613f4e3d84656b5aabfcf8 (patch) | |
tree | e9ae91100e8d63270cf3c0b59fdc5397a946e5bc /source | |
parent | 782917648f6203a99410c92ead835f1d1131845b (diff) |
DRW: Add debug utility for batch cache requests
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl.h | 17 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_curve.c | 8 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_mesh.c | 8 |
3 files changed, 29 insertions, 4 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl.h b/source/blender/draw/intern/draw_cache_impl.h index 8ab64aa26b9..4ef8f5a9326 100644 --- a/source/blender/draw/intern/draw_cache_impl.h +++ b/source/blender/draw/intern/draw_cache_impl.h @@ -205,10 +205,19 @@ struct GPUBatch *DRW_particles_batch_cache_get_edit_tip_points(struct Object *ob struct PTCacheEdit *edit); /* Common */ -#define DRW_ADD_FLAG_FROM_VBO_REQUEST(flag, vbo, value) \ - (flag |= DRW_vbo_requested(vbo) ? (value) : 0) -#define DRW_ADD_FLAG_FROM_IBO_REQUEST(flag, ibo, value) \ - (flag |= DRW_ibo_requested(ibo) ? (value) : 0) +// #define DRW_DEBUG_MESH_CACHE_REQUEST + +#ifdef DRW_DEBUG_MESH_CACHE_REQUEST +# define DRW_ADD_FLAG_FROM_VBO_REQUEST(flag, vbo, value) \ + (flag |= DRW_vbo_requested(vbo) ? (printf(" VBO requested " #vbo "\n") ? value : value) : 0) +# define DRW_ADD_FLAG_FROM_IBO_REQUEST(flag, ibo, value) \ + (flag |= DRW_ibo_requested(ibo) ? (printf(" IBO requested " #ibo "\n") ? value : value) : 0) +#else +# define DRW_ADD_FLAG_FROM_VBO_REQUEST(flag, vbo, value) \ + (flag |= DRW_vbo_requested(vbo) ? (value) : 0) +# define DRW_ADD_FLAG_FROM_IBO_REQUEST(flag, ibo, value) \ + (flag |= DRW_ibo_requested(ibo) ? (value) : 0) +#endif /* Test and assign NULL if test fails */ #define DRW_TEST_ASSIGN_VBO(v) (v = (DRW_vbo_requested(v) ? (v) : NULL)) diff --git a/source/blender/draw/intern/draw_cache_impl_curve.c b/source/blender/draw/intern/draw_cache_impl_curve.c index 8e7a2253e21..33b872109a5 100644 --- a/source/blender/draw/intern/draw_cache_impl_curve.c +++ b/source/blender/draw/intern/draw_cache_impl_curve.c @@ -988,6 +988,10 @@ void DRW_curve_batch_cache_create_requested(Object *ob) } } +#ifdef DRW_DEBUG_MESH_CACHE_REQUEST + printf("-- %s %s --\n", __func__, ob->id.name + 2); +#endif + /* Generate MeshRenderData flags */ int mr_flag = 0; DRW_ADD_FLAG_FROM_VBO_REQUEST(mr_flag, cache->ordered.pos_nor, CU_DATATYPE_SURFACE); @@ -1011,6 +1015,10 @@ void DRW_curve_batch_cache_create_requested(Object *ob) DRW_ADD_FLAG_FROM_IBO_REQUEST(mr_flag, cache->surf_per_mat_tris[i], CU_DATATYPE_SURFACE); } +#ifdef DRW_DEBUG_MESH_CACHE_REQUEST + printf(" mr_flag %d\n\n", mr_flag); +#endif + CurveRenderData *rdata = curve_render_data_create(cu, ob->runtime.curve_cache, mr_flag); /* DispLists */ diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index 48678e64f3d..85130ee9472 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -5112,6 +5112,10 @@ void DRW_mesh_batch_cache_create_requested( return; } +#ifdef DRW_DEBUG_MESH_CACHE_REQUEST + printf("-- %s %s --\n", __func__, ob->id.name + 2); +#endif + /* Generate MeshRenderData flags */ eMRDataType mr_flag = 0, mr_edit_flag = 0; DRW_ADD_FLAG_FROM_VBO_REQUEST( @@ -5198,6 +5202,10 @@ void DRW_mesh_batch_cache_create_requested( Mesh *me_original = me; MBC_GET_FINAL_MESH(me); +#ifdef DRW_DEBUG_MESH_CACHE_REQUEST + printf(" mr_flag %u, mr_edit_flag %u\n\n", mr_flag, mr_edit_flag); +#endif + if (me_original == me) { mr_flag |= mr_edit_flag; } |