added align16() function
authorBrian <brian.paul@tungstengraphics.com>
Fri, 17 Aug 2007 17:40:06 +0000 (11:40 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Fri, 17 Aug 2007 17:40:06 +0000 (11:40 -0600)
src/mesa/pipe/p_util.h

index 69b69a3..3eff332 100644 (file)
 
 #define Elements(x) sizeof(x)/sizeof(*(x))
 
+/**
+ * Return pointer aligned to next multiple of 16 bytes.
+ */
+static INLINE void *
+align16(void *unaligned)
+{
+   union {
+      void *p;
+      uint64 u;
+   } pu;
+   pu.p = unaligned;
+   pu.u = (pu.u + 15) & ~15;
+   return pu.p;
+}
+
+
 #if defined(__MSC__) && defined(__WIN32__)
 static INLINE unsigned ffs( unsigned u )
 {