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:
authorAlexander Gavrilov <angavrilov@gmail.com>2018-12-01 15:40:48 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2018-12-01 15:40:48 +0300
commit02a4fc139597cae8c7002fd5a6e4b16171314cc5 (patch)
tree6d913e20b415a3e7e1f655dec4f700d41cb55b42 /source/blender/draw
parentee8a2edb967627370ba70c31d7e900dcd4746482 (diff)
Texture Paint: implement efficient face selection updates.
Fix the old code that propagates selection changes to the evaluated mesh directly without rebuilding, and avoid tagging DEG_TAG_COPY_ON_WRITE if it succeeds.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/intern/draw_cache_impl_mesh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 9902f241efd..bc3bb0e322e 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -2328,6 +2328,10 @@ void DRW_mesh_batch_cache_dirty_tag(Mesh *me, int mode)
GPU_BATCH_DISCARD_SAFE(cache->facedot_with_select_id);
GPU_BATCH_DISCARD_SAFE(cache->edges_with_select_id);
GPU_BATCH_DISCARD_SAFE(cache->verts_with_select_id);
+ /* Paint mode selection */
+ GPU_BATCH_DISCARD_SAFE(cache->overlay_paint_edges);
+ GPU_BATCH_DISCARD_SAFE(cache->overlay_weight_faces);
+ GPU_BATCH_DISCARD_SAFE(cache->overlay_weight_verts);
/* Because visible UVs depends on edit mode selection, discard everything. */
mesh_batch_cache_discard_uvedit(cache);
break;