From: Mathias Fröhlich <mathias.froehl...@web.de> Replaces an iterate and test bit in a bitmask loop by a loop only iterating over the bits set in the bitmask.
v2: Use _mesa_bit_scan{,64} instead of open coding. Reviewed-by: Brian Paul <bri...@vmware.com> Signed-off-by: Mathias Fröhlich <mathias.froehl...@web.de> --- src/mesa/main/uniform_query.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index 997b0cb..461ebba 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -843,9 +843,10 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg, * been modified. */ bool changed = false; - for (unsigned j = 0; j < ARRAY_SIZE(prog->SamplerUnits); j++) { - if ((sh->active_samplers & (1U << j)) != 0 - && (prog->SamplerUnits[j] != sh->SamplerUnits[j])) { + GLbitfield mask = sh->active_samplers; + while (mask) { + const int j = _mesa_bit_scan(&mask); + if (prog->SamplerUnits[j] != sh->SamplerUnits[j]) { changed = true; break; } -- 2.5.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev