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:
authorClément Foucault <foucault.clem@gmail.com>2019-01-11 21:07:33 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-01-11 22:09:42 +0300
commit9f51fc656e2ae7b4464240775600dcc81ba2df00 (patch)
treeddb9c91349f19f2a02e491507f89f7f4905fa7c2 /source/blender/draw/intern/draw_cache_impl_mesh.c
parentee34275e7da798a1cc9c398ac9bba68ad3343c1b (diff)
EditUV: Only clear data VBO when selection changes
This is a small optimisation that make UV selection faster.
Diffstat (limited to 'source/blender/draw/intern/draw_cache_impl_mesh.c')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_mesh.c10
1 files changed, 8 insertions, 2 deletions
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);