diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-06-08 16:08:09 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-06-08 16:08:09 +0300 |
commit | 5b014911a51651d736671da1a0ca96bfe0cd8eba (patch) | |
tree | 7ecc381ed783213482f198d4c283f8032ec65431 /source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc | |
parent | 23fd576cf8adb4269d40110e0d5e893e464af6a1 (diff) |
Revert "Cleanup: use cpp new/delete."
This reverts commit 43464c94f4def8689dd99a9e459f5ff77420d27b.
Diffstat (limited to 'source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc')
-rw-r--r-- | source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc index a52fb69e904..aab9ae8c228 100644 --- a/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc +++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc @@ -35,31 +35,18 @@ struct MeshExtract_Tri_Data { GPUIndexBufBuilder elb; int *tri_mat_start; int *tri_mat_end; - - MeshExtract_Tri_Data(int mat_len) - { - tri_mat_start = new int[mat_len]; - tri_mat_end = new int[mat_len]; - } - - ~MeshExtract_Tri_Data() - { - delete tri_mat_start; - delete tri_mat_end; - } - -#ifdef WITH_CXX_GUARDEDALLOC - MEM_CXX_CLASS_ALLOC_FUNCS("DRW:MeshExtract_Tri_Data") -#endif }; static void *extract_tris_init(const MeshRenderData *mr, struct MeshBatchCache *UNUSED(cache), void *UNUSED(ibo)) { - MeshExtract_Tri_Data *data = new MeshExtract_Tri_Data(mr->mat_len); + MeshExtract_Tri_Data *data = static_cast<MeshExtract_Tri_Data *>( + MEM_callocN(sizeof(*data), __func__)); size_t mat_tri_idx_size = sizeof(int) * mr->mat_len; + data->tri_mat_start = static_cast<int *>(MEM_callocN(mat_tri_idx_size, __func__)); + data->tri_mat_end = static_cast<int *>(MEM_callocN(mat_tri_idx_size, __func__)); int *mat_tri_len = data->tri_mat_start; /* Count how many triangle for each material. */ @@ -161,7 +148,9 @@ static void extract_tris_finish(const MeshRenderData *mr, GPU_indexbuf_create_subrange_in_place(mbc_final->tris_per_mat[i], ibo, start, len); } } - delete (data); + MEM_freeN(data->tri_mat_start); + MEM_freeN(data->tri_mat_end); + MEM_freeN(data); } constexpr MeshExtract create_extractor_tris() |