DRW: Mesh Batch Cache: Fix error in loop custom data layer checking

This commit is contained in:
Clément Foucault 2019-04-03 23:46:32 +02:00
parent d0c418b10a
commit c6de149ee7
1 changed files with 7 additions and 3 deletions

View File

@ -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;
}
}
}