DRW: Add debug utility for batch cache requests
This commit is contained in:
@@ -205,10 +205,19 @@ struct GPUBatch *DRW_particles_batch_cache_get_edit_tip_points(struct Object *ob
|
|||||||
struct PTCacheEdit *edit);
|
struct PTCacheEdit *edit);
|
||||||
|
|
||||||
/* Common */
|
/* Common */
|
||||||
#define DRW_ADD_FLAG_FROM_VBO_REQUEST(flag, vbo, value) \
|
// #define DRW_DEBUG_MESH_CACHE_REQUEST
|
||||||
(flag |= DRW_vbo_requested(vbo) ? (value) : 0)
|
|
||||||
#define DRW_ADD_FLAG_FROM_IBO_REQUEST(flag, ibo, value) \
|
#ifdef DRW_DEBUG_MESH_CACHE_REQUEST
|
||||||
(flag |= DRW_ibo_requested(ibo) ? (value) : 0)
|
# 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 */
|
/* Test and assign NULL if test fails */
|
||||||
#define DRW_TEST_ASSIGN_VBO(v) (v = (DRW_vbo_requested(v) ? (v) : NULL))
|
#define DRW_TEST_ASSIGN_VBO(v) (v = (DRW_vbo_requested(v) ? (v) : NULL))
|
||||||
|
|||||||
@@ -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 */
|
/* Generate MeshRenderData flags */
|
||||||
int mr_flag = 0;
|
int mr_flag = 0;
|
||||||
DRW_ADD_FLAG_FROM_VBO_REQUEST(mr_flag, cache->ordered.pos_nor, CU_DATATYPE_SURFACE);
|
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);
|
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);
|
CurveRenderData *rdata = curve_render_data_create(cu, ob->runtime.curve_cache, mr_flag);
|
||||||
|
|
||||||
/* DispLists */
|
/* DispLists */
|
||||||
|
|||||||
@@ -5112,6 +5112,10 @@ void DRW_mesh_batch_cache_create_requested(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DRW_DEBUG_MESH_CACHE_REQUEST
|
||||||
|
printf("-- %s %s --\n", __func__, ob->id.name + 2);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Generate MeshRenderData flags */
|
/* Generate MeshRenderData flags */
|
||||||
eMRDataType mr_flag = 0, mr_edit_flag = 0;
|
eMRDataType mr_flag = 0, mr_edit_flag = 0;
|
||||||
DRW_ADD_FLAG_FROM_VBO_REQUEST(
|
DRW_ADD_FLAG_FROM_VBO_REQUEST(
|
||||||
@@ -5198,6 +5202,10 @@ void DRW_mesh_batch_cache_create_requested(
|
|||||||
Mesh *me_original = me;
|
Mesh *me_original = me;
|
||||||
MBC_GET_FINAL_MESH(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) {
|
if (me_original == me) {
|
||||||
mr_flag |= mr_edit_flag;
|
mr_flag |= mr_edit_flag;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user