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-04-04 00:46:32 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-04-04 00:51:00 +0300
commitc6de149ee7db99f50118be6e1d58652f4c02931b (patch)
tree32ef3bb0a5f0f6cc84d1be0d48970282db99b1cf /source/blender/draw/intern/draw_cache_impl_mesh.c
parentd0c418b10a1a3ae5667738153fcd41d4c2c54ded (diff)
DRW: Mesh Batch Cache: Fix error in loop custom data layer checking
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, 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;
}
}
}