[Bf-blender-cvs] [bda01759840] blender2.8: DRW: Fix leak from the wireframe drawing.

Clément Foucault noreply at git.blender.org
Mon Jun 4 16:04:26 CEST 2018


Commit: bda0175984027c760ba0a203603c18d10323e9be
Author: Clément Foucault
Date:   Mon Jun 4 16:04:11 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBbda0175984027c760ba0a203603c18d10323e9be

DRW: Fix leak from the wireframe drawing.

===================================================================

M	source/blender/draw/intern/draw_cache_impl_mesh.c

===================================================================

diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 1764d6b89ad..e6dde8adc97 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -1587,6 +1587,7 @@ typedef struct MeshBatchCache {
 
 	Gwn_Batch *edge_detection;
 
+	Gwn_VertBuf *edges_face_overlay;
 	GPUTexture *edges_face_overlay_tx;
 	int edges_face_overlay_tri_count; /* Number of tri in edges_face_overlay_tx */
 
@@ -1869,6 +1870,7 @@ static void mesh_batch_cache_clear(Mesh *me)
 	GWN_INDEXBUF_DISCARD_SAFE(cache->edges_adjacency);
 	GWN_BATCH_DISCARD_SAFE(cache->edge_detection);
 
+	GWN_VERTBUF_DISCARD_SAFE(cache->edges_face_overlay);
 	DRW_TEXTURE_FREE_SAFE(cache->edges_face_overlay_tx);
 
 	GWN_VERTBUF_DISCARD_SAFE(cache->shaded_triangles_data);
@@ -3356,6 +3358,7 @@ static GPUTexture *mesh_batch_cache_get_edges_overlay_texture_buf(MeshRenderData
 	Gwn_VertFormat format = {0};
 	uint index_id = GWN_vertformat_attr_add(&format, "index", GWN_COMP_I32, 1, GWN_FETCH_INT);
 	Gwn_VertBuf *vbo = GWN_vertbuf_create_with_format(&format);
+	cache->edges_face_overlay = vbo;
 
 	int vbo_len_capacity = tri_len * 3;
 	GWN_vertbuf_data_alloc(vbo, vbo_len_capacity);



More information about the Bf-blender-cvs mailing list