Merge branch 'master' into pipe-video
[mesa.git] / src / gallium / auxiliary / util / u_pointer.h
index e1af9f11cb9ced91f091bc104ed75e9aa27aedc5..cce0c7430e78953ea99cc98838b8dea9d5608c90 100644 (file)
@@ -98,6 +98,29 @@ align16( void *unaligned )
    return align_pointer( unaligned, 16 );
 }
 
+typedef void (*func_pointer)(void);
+
+static INLINE func_pointer
+pointer_to_func( void *p )
+{
+   union {
+      void *p;
+      func_pointer f;
+   } pf;
+   pf.p = p;
+   return pf.f;
+}
+
+static INLINE void *
+func_to_pointer( func_pointer f )
+{
+   union {
+      void *p;
+      func_pointer f;
+   } pf;
+   pf.f = f;
+   return pf.p;
+}
 
 
 #ifdef __cplusplus