diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-05-10 08:30:28 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-05-10 08:31:54 +0100 |
commit | e3205b05407473e462f2c3668f56062da00ee0ea (patch) | |
tree | 48aae9d5299741dbb72e05bdc5b809698b8bfb51 /src/gallium | |
parent | 7c5e2672f050644bcab6902b11d0ff4036603bb3 (diff) |
gallivm: cosf/sinf are macros on MSVC.
So taking the function address does not work.
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_arit.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index 9aea04e05b..0f56f2a1d6 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -1231,18 +1231,28 @@ lp_build_sincos(struct lp_build_context *bld, return res; } +static float c_cosf( float f ) +{ + return (float) cos( (double) f ); +} + +static float c_sinf( float f ) +{ + return (float) sin( (double) f ); +} + LLVMValueRef lp_build_cos(struct lp_build_context *bld, LLVMValueRef a) { - return lp_build_sincos(bld, "cosf", &cosf, a); + return lp_build_sincos(bld, "cosf", &c_cosf, a); } LLVMValueRef lp_build_sin(struct lp_build_context *bld, LLVMValueRef a) { - return lp_build_sincos(bld, "sinf", &sinf, a); + return lp_build_sincos(bld, "sinf", &c_sinf, a); } #else /* !PIPE_OS_WINDOWS */ |