diff options
author | Brian Paul <[email protected]> | 2010-05-13 13:25:29 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-05-13 14:15:44 -0600 |
commit | 17542c1e3eb45662114b8dc0f97104df64b8d4f4 (patch) | |
tree | e2c713d1ab3292c428603b624aaff839580b45ac | |
parent | c91d9cb563baf292f04ad3eeb33837806a4fb20d (diff) |
gallivm: silence casting warning
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_format_aos.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c index 5a52d81c20a..eb492042387 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c @@ -310,6 +310,21 @@ 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. * @@ -390,7 +405,8 @@ lp_build_fetch_rgba_aos(LLVMBuilderRef builder, assert(LLVMIsDeclaration(function)); - LLVMAddGlobalMapping(lp_build_engine, function, format_desc->fetch_rgba_float); + LLVMAddGlobalMapping(lp_build_engine, function, + fetch_func_ptr_to_voidptr(format_desc->fetch_rgba_float)); } tmp = lp_build_alloca(builder, LLVMVectorType(LLVMFloatType(), 4), ""); |