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.

Signed-off-by: Mathias Fröhlich <mathias.froehl...@web.de>
---
 src/mesa/main/uniform_query.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 997b0cb..7a09950 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -843,9 +843,11 @@ _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) {
+           int j = ffs(mask) - 1;
+           mask ^= (1u << j);
+           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

Reply via email to