From abd9d50faae749367aeb69d678c4e843d637c3dc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 29 Jun 2017 15:34:50 +1000 Subject: [PATCH] Cleanup: quiet negative shift warning --- .../draw/intern/draw_cache_impl_mesh.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index d7bef6b1045..1bccdb87b64 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -490,15 +490,16 @@ static MeshRenderData *mesh_render_data_create_ex( rdata->cd.layers.vcol_active = CustomData_get_active_layer(cd_ldata, CD_MLOOPCOL); rdata->cd.layers.tangent_active = rdata->cd.layers.uv_active; - if ((cd_lused[CD_MLOOPUV] & (1 << rdata->cd.layers.uv_active)) == 0) { - rdata->cd.layers.uv_active = -1; - } - if ((cd_lused[CD_TANGENT] & (1 << rdata->cd.layers.tangent_active)) == 0) { - rdata->cd.layers.tangent_active = -1; - } - if ((cd_lused[CD_MLOOPCOL] & (1 << rdata->cd.layers.vcol_active)) == 0) { - rdata->cd.layers.vcol_active = -1; - } +#define CD_VALIDATE_ACTIVE_LAYER(active_index, used) \ + if ((active_index != -1) && (used & (1 << active_index)) == 0) { \ + active_index = -1; \ + } ((void)0) + + CD_VALIDATE_ACTIVE_LAYER(rdata->cd.layers.uv_active, cd_lused[CD_MLOOPUV]); + CD_VALIDATE_ACTIVE_LAYER(rdata->cd.layers.tangent_active, cd_lused[CD_TANGENT]); + CD_VALIDATE_ACTIVE_LAYER(rdata->cd.layers.vcol_active, cd_lused[CD_MLOOPCOL]); + +#undef CD_VALIDATE_ACTIVE_LAYER if (cd_vused[CD_ORCO] & 1) { rdata->orco = CustomData_get_layer(cd_vdata, CD_ORCO);