forked from bartvdbraak/blender
minor edits to last commit - use fixed chunksize, rather than the number of verts/edges/faces in bm_mempool_init().
This commit is contained in:
parent
c26f5035b6
commit
979a80e743
@ -2119,11 +2119,10 @@ void CustomData_bmesh_init_pool(CustomData *data, int totelem, const char htype)
|
||||
BLI_assert(data->pool == NULL);
|
||||
|
||||
switch (htype) {
|
||||
case BM_VERT: chunksize = 512; break;
|
||||
case BM_EDGE: chunksize = 1024; break;
|
||||
case BM_LOOP: chunksize = 2048; break;
|
||||
case BM_FACE: chunksize = 512; break;
|
||||
case BM_ALL: chunksize = 512; break; /* use this when its undefined */
|
||||
case BM_VERT: chunksize = bm_mesh_chunksize_default.totvert; break;
|
||||
case BM_EDGE: chunksize = bm_mesh_chunksize_default.totedge; break;
|
||||
case BM_LOOP: chunksize = bm_mesh_chunksize_default.totloop; break;
|
||||
case BM_FACE: chunksize = bm_mesh_chunksize_default.totface; break;
|
||||
default:
|
||||
BLI_assert(0);
|
||||
chunksize = 512;
|
||||
|
@ -45,13 +45,14 @@
|
||||
|
||||
/* used as an extern, defined in bmesh.h */
|
||||
BMAllocTemplate bm_mesh_allocsize_default = {512, 1024, 2048, 512};
|
||||
BMAllocTemplate bm_mesh_chunksize_default = {512, 1024, 2048, 512};
|
||||
|
||||
static void bm_mempool_init(BMesh *bm, const BMAllocTemplate *allocsize)
|
||||
{
|
||||
bm->vpool = BLI_mempool_create(sizeof(BMVert), allocsize->totvert, allocsize->totvert, BLI_MEMPOOL_ALLOW_ITER);
|
||||
bm->epool = BLI_mempool_create(sizeof(BMEdge), allocsize->totedge, allocsize->totedge, BLI_MEMPOOL_ALLOW_ITER);
|
||||
bm->lpool = BLI_mempool_create(sizeof(BMLoop), allocsize->totloop, allocsize->totloop, 0);
|
||||
bm->fpool = BLI_mempool_create(sizeof(BMFace), allocsize->totface, allocsize->totface, BLI_MEMPOOL_ALLOW_ITER);
|
||||
bm->vpool = BLI_mempool_create(sizeof(BMVert), allocsize->totvert, bm_mesh_chunksize_default.totvert, BLI_MEMPOOL_ALLOW_ITER);
|
||||
bm->epool = BLI_mempool_create(sizeof(BMEdge), allocsize->totedge, bm_mesh_chunksize_default.totedge, BLI_MEMPOOL_ALLOW_ITER);
|
||||
bm->lpool = BLI_mempool_create(sizeof(BMLoop), allocsize->totloop, bm_mesh_chunksize_default.totloop, 0);
|
||||
bm->fpool = BLI_mempool_create(sizeof(BMFace), allocsize->totface, bm_mesh_chunksize_default.totface, BLI_MEMPOOL_ALLOW_ITER);
|
||||
|
||||
#ifdef USE_BMESH_HOLES
|
||||
bm->looplistpool = BLI_mempool_create(sizeof(BMLoopList), allocsize[3], allocsize[3], FALSE, FALSE);
|
||||
|
@ -53,5 +53,6 @@ typedef struct BMAllocTemplate {
|
||||
} BMAllocTemplate;
|
||||
|
||||
extern BMAllocTemplate bm_mesh_allocsize_default;
|
||||
extern BMAllocTemplate bm_mesh_chunksize_default;
|
||||
|
||||
#endif /* __BMESH_MESH_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user