projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mesa: refactor: move _mesa_update_minmax/histogram() into image.c
[mesa.git]
/
src
/
mesa
/
main
/
imports.c
diff --git
a/src/mesa/main/imports.c
b/src/mesa/main/imports.c
index d8d35af15e2033f83e98c2bc6be0178a1775dc19..d798f80e25316612ba3d0b6616c8113ed1079896 100644
(file)
--- a/
src/mesa/main/imports.c
+++ b/
src/mesa/main/imports.c
@@
-542,26
+542,24
@@
int
_mesa_ffs(int i)
{
#if (defined(_WIN32) && !defined(__MINGW32__) ) || defined(__IBMC__) || defined(__IBMCPP__)
_mesa_ffs(int i)
{
#if (defined(_WIN32) && !defined(__MINGW32__) ) || defined(__IBMC__) || defined(__IBMCPP__)
- register int bit = 0;
- if (i != 0) {
- if ((i & 0xffff) == 0) {
- bit += 16;
- i >>= 16;
- }
- if ((i & 0xff) == 0) {
- bit += 8;
- i >>= 8;
- }
- if ((i & 0xf) == 0) {
- bit += 4;
- i >>= 4;
- }
- while ((i & 1) == 0) {
- bit++;
- i >>= 1;
- }
+ register int bit = 1;
+ if ((i & 0xffff) == 0) {
+ bit += 16;
+ i >>= 16;
+ }
+ if ((i & 0xff) == 0) {
+ bit += 8;
+ i >>= 8;
+ }
+ if ((i & 0xf) == 0) {
+ bit += 4;
+ i >>= 4;
+ }
+ if ((i & 0x3) == 0) {
+ bit += 2;
+ i >>= 2;
}
}
- return
bit
;
+ return
(i) ? (bit + ((i + 1) & 0x01)) : 0
;
#else
return ffs(i);
#endif
#else
return ffs(i);
#endif