summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/p_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/p_util.h')
-rwxr-xr-x[-rw-r--r--]src/mesa/pipe/p_util.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/pipe/p_util.h b/src/mesa/pipe/p_util.h
index 3eff3328c7..436bda2139 100644..100755
--- a/src/mesa/pipe/p_util.h
+++ b/src/mesa/pipe/p_util.h
@@ -39,10 +39,10 @@
#define Elements(x) sizeof(x)/sizeof(*(x))
/**
- * Return pointer aligned to next multiple of 16 bytes.
+ * Return a pointer aligned to next multiple of 16 bytes.
*/
static INLINE void *
-align16(void *unaligned)
+align16( void *unaligned )
{
union {
void *p;
@@ -59,7 +59,12 @@ static INLINE unsigned ffs( unsigned u )
{
unsigned i;
+ if( u == 0 ) {
+ return 0;
+ }
+
__asm bsf eax, [u]
+ __asm inc eax
__asm mov [i], eax
return i;