diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-01-11 21:07:33 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-01-11 22:09:42 +0300 |
commit | 9f51fc656e2ae7b4464240775600dcc81ba2df00 (patch) | |
tree | ddb9c91349f19f2a02e491507f89f7f4905fa7c2 /source/blender/draw/intern/draw_cache_impl_mesh.c | |
parent | ee34275e7da798a1cc9c398ac9bba68ad3343c1b (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.c | 10 |
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); |