diff options
Diffstat (limited to 'src/mesa/pipe/p_util.h')
-rwxr-xr-x[-rw-r--r--] | src/mesa/pipe/p_util.h | 9 |
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; |