Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2021-06-08 16:08:09 +0300
committerJeroen Bakker <jeroen@blender.org>2021-06-08 16:08:09 +0300
commit5b014911a51651d736671da1a0ca96bfe0cd8eba (patch)
tree7ecc381ed783213482f198d4c283f8032ec65431 /source/blender/draw/intern/mesh_extractors/extract_mesh_ibo_tris.cc
parent23fd576cf8adb4269d40110e0d5e893e464af6a1 (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.cc25
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()