diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-05-13 16:57:03 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-05-14 11:57:03 +0300 |
commit | e5349f14eb17689316ab5a85a7d4ffbb740ec93c (patch) | |
tree | 3ad2b81b1db82c932c67f2bf573265e772be1520 /source/blender/draw | |
parent | 0e5da91f0aa534c3dfdb6a650cfb067fa84099da (diff) |
BLI_memblock: Add more options
- Use int instead of uint for safety and less conversions.
- Add free callback
- Add cleared alloc option
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 1d215dcefe1..f4830916ecf 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -535,12 +535,12 @@ static void drw_viewport_cache_resize(void) GPU_texture_free(*tex); } - BLI_memblock_clear(DST.vmempool->calls); - BLI_memblock_clear(DST.vmempool->states); - BLI_memblock_clear(DST.vmempool->shgroups); - BLI_memblock_clear(DST.vmempool->uniforms); - BLI_memblock_clear(DST.vmempool->passes); - BLI_memblock_clear(DST.vmempool->images); + BLI_memblock_clear(DST.vmempool->calls, NULL); + BLI_memblock_clear(DST.vmempool->states, NULL); + BLI_memblock_clear(DST.vmempool->shgroups, NULL); + BLI_memblock_clear(DST.vmempool->uniforms, NULL); + BLI_memblock_clear(DST.vmempool->passes, NULL); + BLI_memblock_clear(DST.vmempool->images, NULL); } DRW_instance_data_list_free_unused(DST.idatalist); @@ -605,22 +605,22 @@ static void drw_viewport_var_init(void) DST.vmempool = GPU_viewport_mempool_get(DST.viewport); if (DST.vmempool->calls == NULL) { - DST.vmempool->calls = BLI_memblock_create(sizeof(DRWCall)); + DST.vmempool->calls = BLI_memblock_create(sizeof(DRWCall), false); } if (DST.vmempool->states == NULL) { - DST.vmempool->states = BLI_memblock_create(sizeof(DRWCallState)); + DST.vmempool->states = BLI_memblock_create(sizeof(DRWCallState), false); } if (DST.vmempool->shgroups == NULL) { - DST.vmempool->shgroups = BLI_memblock_create(sizeof(DRWShadingGroup)); + DST.vmempool->shgroups = BLI_memblock_create(sizeof(DRWShadingGroup), false); } if (DST.vmempool->uniforms == NULL) { - DST.vmempool->uniforms = BLI_memblock_create(sizeof(DRWUniform)); + DST.vmempool->uniforms = BLI_memblock_create(sizeof(DRWUniform), false); } if (DST.vmempool->passes == NULL) { - DST.vmempool->passes = BLI_memblock_create(sizeof(DRWPass)); + DST.vmempool->passes = BLI_memblock_create(sizeof(DRWPass), false); } if (DST.vmempool->images == NULL) { - DST.vmempool->images = BLI_memblock_create(sizeof(GPUTexture *)); + DST.vmempool->images = BLI_memblock_create(sizeof(GPUTexture *), false); } DST.idatalist = GPU_viewport_instance_data_list_get(DST.viewport); |