diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-04-04 00:46:32 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-04-04 00:51:00 +0300 |
commit | c6de149ee7db99f50118be6e1d58652f4c02931b (patch) | |
tree | 32ef3bb0a5f0f6cc84d1be0d48970282db99b1cf /source/blender/draw | |
parent | d0c418b10a1a3ae5667738153fcd41d4c2c54ded (diff) |
DRW: Mesh Batch Cache: Fix error in loop custom data layer checking
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_mesh.c | 10 |
1 files changed, 7 insertions, 3 deletions
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 @@ -4629,6 +4629,13 @@ void DRW_mesh_batch_cache_create_requested( 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: GPU_VERTBUF_DISCARD_SAFE(cache->ordered.loop_uv_tan); @@ -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; } } } |