[Bf-blender-cvs] [9f51fc656e2] master: EditUV: Only clear data VBO when selection changes

Clément Foucault noreply at git.blender.org
Fri Jan 11 20:09:44 CET 2019


Commit: 9f51fc656e2ae7b4464240775600dcc81ba2df00
Author: Clément Foucault
Date:   Fri Jan 11 19:07:33 2019 +0100
Branches: master
https://developer.blender.org/rB9f51fc656e2ae7b4464240775600dcc81ba2df00

EditUV: Only clear data VBO when selection changes

This is a small optimisation that make UV selection faster.

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

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 5ed1bcb2f43..e29d87fe13d 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -2319,8 +2319,14 @@ void DRW_mesh_batch_cache_dirty_tag(Mesh *me, int mode)
 			mesh_batch_cache_discard_uvedit(cache);
 			break;
 		case BKE_MESH_BATCH_DIRTY_UVEDIT_SELECT:
-			/* For now same as above. */
-			mesh_batch_cache_discard_uvedit(cache);
+			GPU_VERTBUF_DISCARD_SAFE(cache->edituv.loop_data);
+			GPU_VERTBUF_DISCARD_SAFE(cache->edituv.facedots_data);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces_strech_area);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces_strech_angle);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_edges);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_verts);
+			GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_facedots);
 			break;
 		default:
 			BLI_assert(0);



More information about the Bf-blender-cvs mailing list