Mesa (master): draw: re-implement free_bit() with ffs()

Brian Paul brianp at kemper.freedesktop.org
Wed Feb 3 04:40:46 UTC 2010


Module: Mesa
Branch: master
Commit: c173eb990a20611ac47c1727e1fb11d7fd3aa0c4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c173eb990a20611ac47c1727e1fb11d7fd3aa0c4

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Feb  2 21:17:56 2010 -0700

draw: re-implement free_bit() with ffs()

---

 src/gallium/auxiliary/draw/draw_pipe_aaline.c   |    7 +------
 src/gallium/auxiliary/draw/draw_pipe_pstipple.c |    7 +------
 2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
index 4585dcd..54bb9d4 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
@@ -178,12 +178,7 @@ aa_transform_decl(struct tgsi_transform_context *ctx,
 static int
 free_bit(uint bitfield)
 {
-   int i;
-   for (i = 0; i < 32; i++) {
-      if ((bitfield & (1 << i)) == 0)
-         return i;
-   }
-   return -1;
+   return ffs(~bitfield) - 1;
 }
 
 
diff --git a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
index 0cc2b71..5f5db7e 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
@@ -171,12 +171,7 @@ pstip_transform_immed(struct tgsi_transform_context *ctx,
 static int
 free_bit(uint bitfield)
 {
-   int i;
-   for (i = 0; i < 32; i++) {
-      if ((bitfield & (1 << i)) == 0)
-         return i;
-   }
-   return -1;
+   return ffs(~bitfield) - 1;
 }
 
 




More information about the mesa-commit mailing list