summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAras Pranckevicius <[email protected]>2010-08-23 09:19:51 +0300
committerJosé Fonseca <[email protected]>2010-08-23 20:55:50 +0100
commit44a6c13ac33fc00fc4d0cf7435ac23eaa8058300 (patch)
treef60d43477e365203333169855e7e349b4860daae
parentc0eb479e0782c063a1a781f81b99a18ef649e9ef (diff)
mesa: Fix msvc build of glsl.
Signed-off-by: José Fonseca <[email protected]>
-rw-r--r--src/mesa/main/imports.h9
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
/*@}*/