Cleanup: rename 'MeshBufferExtractionCache' to 'MeshBufferCache'
Matches the existing `MeshBatchCache`.
This commit is contained in:
parent
6e51ef9531
commit
eb0c50ac78
|
@ -159,7 +159,7 @@ typedef struct MeshBufferList {
|
|||
*
|
||||
* - Loose geometry.
|
||||
*/
|
||||
typedef struct MeshBufferExtractionCache {
|
||||
typedef struct MeshBufferCache {
|
||||
struct {
|
||||
int edge_len;
|
||||
int vert_len;
|
||||
|
@ -172,7 +172,7 @@ typedef struct MeshBufferExtractionCache {
|
|||
int *mat_tri_len;
|
||||
int visible_tri_len;
|
||||
} poly_sorted;
|
||||
} MeshBufferExtractionCache;
|
||||
} MeshBufferCache;
|
||||
|
||||
#define FOREACH_MESH_BUFFER_CACHE(batch_cache, mbuflist) \
|
||||
for (MeshBufferList *mbuflist = &batch_cache->final; \
|
||||
|
@ -185,9 +185,9 @@ typedef struct MeshBufferExtractionCache {
|
|||
typedef struct MeshBatchCache {
|
||||
MeshBufferList final, cage, uv_cage;
|
||||
|
||||
MeshBufferExtractionCache final_extraction_cache;
|
||||
MeshBufferExtractionCache cage_extraction_cache;
|
||||
MeshBufferExtractionCache uv_cage_extraction_cache;
|
||||
MeshBufferCache final_extraction_cache;
|
||||
MeshBufferCache cage_extraction_cache;
|
||||
MeshBufferCache uv_cage_extraction_cache;
|
||||
|
||||
struct {
|
||||
/* Surfaces / Render */
|
||||
|
@ -309,7 +309,7 @@ BLI_STATIC_ASSERT(MBC_BATCH_INDEX(surface_per_mat) < 32,
|
|||
void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
|
||||
MeshBatchCache *cache,
|
||||
MeshBufferList *mbuflist,
|
||||
MeshBufferExtractionCache *extraction_cache,
|
||||
MeshBufferCache *extraction_cache,
|
||||
Mesh *me,
|
||||
const bool is_editmode,
|
||||
const bool is_paint_mode,
|
||||
|
|
|
@ -497,12 +497,12 @@ static struct TaskNode *extract_task_node_create(struct TaskGraph *task_graph,
|
|||
* \{ */
|
||||
struct MeshRenderDataUpdateTaskData {
|
||||
MeshRenderData *mr = nullptr;
|
||||
MeshBufferExtractionCache *cache = nullptr;
|
||||
MeshBufferCache *cache = nullptr;
|
||||
eMRIterType iter_type;
|
||||
eMRDataType data_flag;
|
||||
|
||||
MeshRenderDataUpdateTaskData(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
eMRIterType iter_type,
|
||||
eMRDataType data_flag)
|
||||
: mr(mr), cache(cache), iter_type(iter_type), data_flag(data_flag)
|
||||
|
@ -542,7 +542,7 @@ static void mesh_extract_render_data_node_exec(void *__restrict task_data)
|
|||
|
||||
static struct TaskNode *mesh_extract_render_data_node_create(struct TaskGraph *task_graph,
|
||||
MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
const eMRIterType iter_type,
|
||||
const eMRDataType data_flag)
|
||||
{
|
||||
|
@ -566,7 +566,7 @@ static struct TaskNode *mesh_extract_render_data_node_create(struct TaskGraph *t
|
|||
static void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
|
||||
MeshBatchCache *cache,
|
||||
MeshBufferList *mbuflist,
|
||||
MeshBufferExtractionCache *extraction_cache,
|
||||
MeshBufferCache *extraction_cache,
|
||||
Mesh *me,
|
||||
|
||||
const bool is_editmode,
|
||||
|
@ -780,7 +780,7 @@ extern "C" {
|
|||
void mesh_buffer_cache_create_requested(struct TaskGraph *task_graph,
|
||||
MeshBatchCache *cache,
|
||||
MeshBufferList *mbuflist,
|
||||
MeshBufferExtractionCache *extraction_cache,
|
||||
MeshBufferCache *extraction_cache,
|
||||
Mesh *me,
|
||||
|
||||
const bool is_editmode,
|
||||
|
|
|
@ -45,17 +45,15 @@
|
|||
* \{ */
|
||||
|
||||
static void mesh_render_data_lverts_bm(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
BMesh *bm);
|
||||
static void mesh_render_data_ledges_bm(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
BMesh *bm);
|
||||
static void mesh_render_data_loose_geom_mesh(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache);
|
||||
static void mesh_render_data_loose_geom_build(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache);
|
||||
static void mesh_render_data_loose_geom_mesh(const MeshRenderData *mr, MeshBufferCache *cache);
|
||||
static void mesh_render_data_loose_geom_build(const MeshRenderData *mr, MeshBufferCache *cache);
|
||||
|
||||
static void mesh_render_data_loose_geom_load(MeshRenderData *mr, MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_loose_geom_load(MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
mr->ledges = cache->loose_geom.edges;
|
||||
mr->lverts = cache->loose_geom.verts;
|
||||
|
@ -65,8 +63,7 @@ static void mesh_render_data_loose_geom_load(MeshRenderData *mr, MeshBufferExtra
|
|||
mr->loop_loose_len = mr->vert_loose_len + (mr->edge_loose_len * 2);
|
||||
}
|
||||
|
||||
static void mesh_render_data_loose_geom_ensure(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_loose_geom_ensure(const MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
/* Early exit: Are loose geometry already available.
|
||||
* Only checking for loose verts as loose edges and verts are calculated at the same time. */
|
||||
|
@ -76,8 +73,7 @@ static void mesh_render_data_loose_geom_ensure(const MeshRenderData *mr,
|
|||
mesh_render_data_loose_geom_build(mr, cache);
|
||||
}
|
||||
|
||||
static void mesh_render_data_loose_geom_build(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_loose_geom_build(const MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
cache->loose_geom.vert_len = 0;
|
||||
cache->loose_geom.edge_len = 0;
|
||||
|
@ -94,8 +90,7 @@ static void mesh_render_data_loose_geom_build(const MeshRenderData *mr,
|
|||
}
|
||||
}
|
||||
|
||||
static void mesh_render_data_loose_geom_mesh(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_loose_geom_mesh(const MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
BLI_bitmap *lvert_map = BLI_BITMAP_NEW(mr->vert_len, __func__);
|
||||
|
||||
|
@ -128,9 +123,7 @@ static void mesh_render_data_loose_geom_mesh(const MeshRenderData *mr,
|
|||
MEM_freeN(lvert_map);
|
||||
}
|
||||
|
||||
static void mesh_render_data_lverts_bm(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
BMesh *bm)
|
||||
static void mesh_render_data_lverts_bm(const MeshRenderData *mr, MeshBufferCache *cache, BMesh *bm)
|
||||
{
|
||||
int elem_id;
|
||||
BMIter iter;
|
||||
|
@ -147,9 +140,7 @@ static void mesh_render_data_lverts_bm(const MeshRenderData *mr,
|
|||
}
|
||||
}
|
||||
|
||||
static void mesh_render_data_ledges_bm(const MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
BMesh *bm)
|
||||
static void mesh_render_data_ledges_bm(const MeshRenderData *mr, MeshBufferCache *cache, BMesh *bm)
|
||||
{
|
||||
int elem_id;
|
||||
BMIter iter;
|
||||
|
@ -167,7 +158,7 @@ static void mesh_render_data_ledges_bm(const MeshRenderData *mr,
|
|||
}
|
||||
|
||||
void mesh_render_data_update_loose_geom(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
const eMRIterType iter_type,
|
||||
const eMRDataType data_flag)
|
||||
{
|
||||
|
@ -185,16 +176,13 @@ void mesh_render_data_update_loose_geom(MeshRenderData *mr,
|
|||
* Contains polygon indices sorted based on their material.
|
||||
*
|
||||
* \{ */
|
||||
static void mesh_render_data_polys_sorted_load(MeshRenderData *mr,
|
||||
const MeshBufferExtractionCache *cache);
|
||||
static void mesh_render_data_polys_sorted_ensure(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache);
|
||||
static void mesh_render_data_polys_sorted_build(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache);
|
||||
static void mesh_render_data_polys_sorted_load(MeshRenderData *mr, const MeshBufferCache *cache);
|
||||
static void mesh_render_data_polys_sorted_ensure(MeshRenderData *mr, MeshBufferCache *cache);
|
||||
static void mesh_render_data_polys_sorted_build(MeshRenderData *mr, MeshBufferCache *cache);
|
||||
static int *mesh_render_data_mat_tri_len_build(MeshRenderData *mr);
|
||||
|
||||
void mesh_render_data_update_polys_sorted(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
const eMRDataType data_flag)
|
||||
{
|
||||
if (data_flag & MR_DATA_POLYS_SORTED) {
|
||||
|
@ -203,16 +191,14 @@ void mesh_render_data_update_polys_sorted(MeshRenderData *mr,
|
|||
}
|
||||
}
|
||||
|
||||
static void mesh_render_data_polys_sorted_load(MeshRenderData *mr,
|
||||
const MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_polys_sorted_load(MeshRenderData *mr, const MeshBufferCache *cache)
|
||||
{
|
||||
mr->poly_sorted.tri_first_index = cache->poly_sorted.tri_first_index;
|
||||
mr->poly_sorted.mat_tri_len = cache->poly_sorted.mat_tri_len;
|
||||
mr->poly_sorted.visible_tri_len = cache->poly_sorted.visible_tri_len;
|
||||
}
|
||||
|
||||
static void mesh_render_data_polys_sorted_ensure(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_polys_sorted_ensure(MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
if (cache->poly_sorted.tri_first_index) {
|
||||
return;
|
||||
|
@ -220,8 +206,7 @@ static void mesh_render_data_polys_sorted_ensure(MeshRenderData *mr,
|
|||
mesh_render_data_polys_sorted_build(mr, cache);
|
||||
}
|
||||
|
||||
static void mesh_render_data_polys_sorted_build(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache)
|
||||
static void mesh_render_data_polys_sorted_build(MeshRenderData *mr, MeshBufferCache *cache)
|
||||
{
|
||||
int *tri_first_index = MEM_mallocN(sizeof(*tri_first_index) * mr->poly_len, __func__);
|
||||
int *mat_tri_len = mesh_render_data_mat_tri_len_build(mr);
|
||||
|
@ -584,7 +569,7 @@ void mesh_render_data_free(MeshRenderData *mr)
|
|||
MEM_SAFE_FREE(mr->mlooptri);
|
||||
MEM_SAFE_FREE(mr->loop_normals);
|
||||
|
||||
/* Loose geometry are owned by #MeshBufferExtractionCache. */
|
||||
/* Loose geometry are owned by #MeshBufferCache. */
|
||||
mr->ledges = NULL;
|
||||
mr->lverts = NULL;
|
||||
|
||||
|
|
|
@ -856,16 +856,16 @@ static void mesh_buffer_list_clear(MeshBufferList *mbuflist)
|
|||
}
|
||||
}
|
||||
|
||||
static void mesh_buffer_extraction_cache_clear(MeshBufferExtractionCache *extraction_cache)
|
||||
static void mesh_buffer_cache_clear(MeshBufferCache *mbc)
|
||||
{
|
||||
MEM_SAFE_FREE(extraction_cache->loose_geom.verts);
|
||||
MEM_SAFE_FREE(extraction_cache->loose_geom.edges);
|
||||
extraction_cache->loose_geom.edge_len = 0;
|
||||
extraction_cache->loose_geom.vert_len = 0;
|
||||
MEM_SAFE_FREE(mbc->loose_geom.verts);
|
||||
MEM_SAFE_FREE(mbc->loose_geom.edges);
|
||||
mbc->loose_geom.edge_len = 0;
|
||||
mbc->loose_geom.vert_len = 0;
|
||||
|
||||
MEM_SAFE_FREE(extraction_cache->poly_sorted.tri_first_index);
|
||||
MEM_SAFE_FREE(extraction_cache->poly_sorted.mat_tri_len);
|
||||
extraction_cache->poly_sorted.visible_tri_len = 0;
|
||||
MEM_SAFE_FREE(mbc->poly_sorted.tri_first_index);
|
||||
MEM_SAFE_FREE(mbc->poly_sorted.mat_tri_len);
|
||||
mbc->poly_sorted.visible_tri_len = 0;
|
||||
}
|
||||
|
||||
static void mesh_batch_cache_clear(Mesh *me)
|
||||
|
@ -878,9 +878,9 @@ static void mesh_batch_cache_clear(Mesh *me)
|
|||
mesh_buffer_list_clear(mbuflist);
|
||||
}
|
||||
|
||||
mesh_buffer_extraction_cache_clear(&cache->final_extraction_cache);
|
||||
mesh_buffer_extraction_cache_clear(&cache->cage_extraction_cache);
|
||||
mesh_buffer_extraction_cache_clear(&cache->uv_cage_extraction_cache);
|
||||
mesh_buffer_cache_clear(&cache->final_extraction_cache);
|
||||
mesh_buffer_cache_clear(&cache->cage_extraction_cache);
|
||||
mesh_buffer_cache_clear(&cache->uv_cage_extraction_cache);
|
||||
|
||||
for (int i = 0; i < cache->mat_len; i++) {
|
||||
GPU_INDEXBUF_DISCARD_SAFE(cache->tris_per_mat[i]);
|
||||
|
|
|
@ -252,11 +252,11 @@ MeshRenderData *mesh_render_data_create(Mesh *me,
|
|||
void mesh_render_data_free(MeshRenderData *mr);
|
||||
void mesh_render_data_update_normals(MeshRenderData *mr, const eMRDataType data_flag);
|
||||
void mesh_render_data_update_loose_geom(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
const eMRIterType iter_type,
|
||||
const eMRDataType data_flag);
|
||||
void mesh_render_data_update_polys_sorted(MeshRenderData *mr,
|
||||
MeshBufferExtractionCache *cache,
|
||||
MeshBufferCache *cache,
|
||||
const eMRDataType data_flag);
|
||||
void mesh_render_data_update_looptris(MeshRenderData *mr,
|
||||
const eMRIterType iter_type,
|
||||
|
|
Loading…
Reference in New Issue