[Bf-blender-cvs] [e8daa615704] master: DRW: Add debug utility for batch cache requests
Clément Foucault
noreply at git.blender.org
Tue Apr 30 12:55:12 CEST 2019
Commit: e8daa615704b55a8bd613f4e3d84656b5aabfcf8
Author: Clément Foucault
Date: Tue Apr 30 12:50:17 2019 +0200
Branches: master
https://developer.blender.org/rBe8daa615704b55a8bd613f4e3d84656b5aabfcf8
DRW: Add debug utility for batch cache requests
===================================================================
M source/blender/draw/intern/draw_cache_impl.h
M source/blender/draw/intern/draw_cache_impl_curve.c
M source/blender/draw/intern/draw_cache_impl_mesh.c
===================================================================
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;
}
More information about the Bf-blender-cvs
mailing list