From c6de149ee7db99f50118be6e1d58652f4c02931b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 3 Apr 2019 23:46:32 +0200 Subject: DRW: Mesh Batch Cache: Fix error in loop custom data layer checking --- source/blender/draw/intern/draw_cache_impl_mesh.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to '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 ddb36c62682..84d2805de73 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -4628,6 +4628,13 @@ void DRW_mesh_batch_cache_create_requested( if (cd_overlap == false) { for (int type = 0; type < CD_NUMTYPES; ++type) { if ((cache->cd_vused[type] & cache->cd_vneeded[type]) != cache->cd_vneeded[type]) { + switch (type) { + case CD_ORCO: + GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_orco); + break; + } + } + if ((cache->cd_lused[type] & cache->cd_lneeded[type]) != cache->cd_lneeded[type]) { switch (type) { case CD_MLOOPUV: case CD_TANGENT: @@ -4636,9 +4643,6 @@ void DRW_mesh_batch_cache_create_requested( case CD_MLOOPCOL: GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_vcol); break; - case CD_ORCO: - GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_orco); - break; } } } -- cgit v1.2.3