[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