diff options
author | Aras Pranckevicius <[email protected]> | 2010-08-23 09:19:51 +0300 |
---|---|---|
committer | José Fonseca <[email protected]> | 2010-08-23 20:55:50 +0100 |
commit | 44a6c13ac33fc00fc4d0cf7435ac23eaa8058300 (patch) | |
tree | f60d43477e365203333169855e7e349b4860daae /src/mesa/main | |
parent | c0eb479e0782c063a1a781f81b99a18ef649e9ef (diff) |
mesa: Fix msvc build of glsl.
Signed-off-by: José Fonseca <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/imports.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index e967b147311..22ac26e15e9 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -120,7 +120,7 @@ typedef union { GLfloat f; GLint i; } fi_type; * \name Work-arounds for platforms that lack C99 math functions */ /*@{*/ -#if (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE < 600)) && !defined(_ISOC99_SOURCE) \ +#if (!defined(_XOPEN_SOURCE) || (_XOPEN_SOURCE < 600)) && !defined(_ISOC99_SOURCE) \ && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L)) \ && (!defined(_MSC_VER) || (_MSC_VER < 1400)) #define acosf(f) ((float) acos(f)) @@ -141,7 +141,12 @@ typedef union { GLfloat f; GLint i; } fi_type; #define sqrtf(f) ((float) sqrt(f)) #define tanf(f) ((float) tan(f)) #define tanhf(f) ((float) tanh(f)) -#define truncf(f) ((float) trunc(f)) +#endif + +#if defined(_MSC_VER) +static INLINE float truncf(float x) { return x < 0.0f ? ceilf(x) : floorf(x); } +static INLINE float exp2f(float x) { return powf(2.0f, x); } +static INLINE float log2f(float x) { return logf(x) * 1.442695041f; } #endif /*@}*/ |