gallivm: Use func_to_pointer().
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 10 Jun 2010 15:23:25 +0000 (16:23 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 14 Jun 2010 15:50:40 +0000 (16:50 +0100)
src/gallium/auxiliary/gallivm/lp_bld_format_aos.c

index eb492042387f33c53b2a58949fb1f689689469a8..87e3e72a6e865fe3240ab3de5ae09998dbea7bb8 100644 (file)
@@ -310,21 +310,6 @@ lp_build_pack_rgba_aos(LLVMBuilderRef builder,
 }
 
 
-typedef void (*fetch_func)(float *, const uint8_t *, unsigned, unsigned);
-
-/** cast wrapper */
-static void *
-fetch_func_ptr_to_voidptr(fetch_func f)
-{
-   union {
-      void *v;
-      fetch_func f;
-   } u;
-   u.f = f;
-   return u.v;
-}
-
-
 /**
  * Fetch a pixel into a 4 float AoS.
  *
@@ -406,7 +391,7 @@ lp_build_fetch_rgba_aos(LLVMBuilderRef builder,
          assert(LLVMIsDeclaration(function));
 
          LLVMAddGlobalMapping(lp_build_engine, function,
-                    fetch_func_ptr_to_voidptr(format_desc->fetch_rgba_float));
+                              func_to_pointer((func_pointer)format_desc->fetch_rgba_float));
       }
 
       tmp = lp_build_alloca(builder, LLVMVectorType(LLVMFloatType(), 4), "");