[Bf-blender-cvs] [0651227c4a] clay-engine: Fixing Memory Leak
Clément Foucault
noreply at git.blender.org
Wed Feb 1 14:33:59 CET 2017
Commit: 0651227c4ad00da7d64e7764ab523e1365ef6301
Author: Clément Foucault
Date: Wed Feb 1 14:32:48 2017 +0100
Branches: clay-engine
https://developer.blender.org/rB0651227c4ad00da7d64e7764ab523e1365ef6301
Fixing Memory Leak
===================================================================
M source/blender/draw/intern/draw_manager.c
===================================================================
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 0c3c9a022c..dc40c669c8 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -348,7 +348,7 @@ void DRW_shgroup_free(struct DRWShadingGroup *shgroup)
MEM_freeN(shgroup->interface);
if (shgroup->dyngeom)
- Batch_discard(shgroup->dyngeom);
+ Batch_discard_all(shgroup->dyngeom);
}
/* Later use VBO */
@@ -483,7 +483,7 @@ static void shgroup_dynamic_batch_primitives(DRWShadingGroup *shgroup)
/* TODO make the batch dynamic instead of freeing it every times */
if (shgroup->dyngeom)
- Batch_discard(shgroup->dyngeom);
+ Batch_discard_all(shgroup->dyngeom);
shgroup->dyngeom = Batch_create(type, vbo, NULL);
@@ -512,18 +512,6 @@ static void shgroup_dynamic_batch_instance(DRWShadingGroup *shgroup)
copy_m4_m4((float (*)[4])&data[i*16], call->obmat);
}
- /* Upload Data */
- static VertexFormat format = { 0 };
- static unsigned mat_id;
- if (format.attrib_ct == 0) {
- mat_id = add_attrib(&format, "InstanceModelMatrix", GL_FLOAT, 4, KEEP_FLOAT);
- }
-
- VertexBuffer *vbo = VertexBuffer_create_with_format(&format);
- VertexBuffer_allocate_data(vbo, nbr);
-
- fillAttrib(vbo, mat_id, data);
-
/* TODO poke mike to add this to gawain */
if (shgroup->instance_vbo) {
glDeleteBuffers(1, &shgroup->instance_vbo);
More information about the Bf-blender-cvs
mailing list