diff options
| -rw-r--r-- | src/gallium/auxiliary/os/os_thread.h | 2 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_math.h | 10 | ||||
| -rw-r--r-- | src/gallium/include/pipe/p_compiler.h | 2 | ||||
| -rw-r--r-- | src/gallium/include/pipe/p_config.h | 8 | ||||
| -rw-r--r-- | src/glsl/ralloc.c | 4 | ||||
| -rw-r--r-- | src/mesa/main/imports.c | 2 | ||||
| -rw-r--r-- | src/mesa/main/imports.h | 7 | ||||
| -rw-r--r-- | src/mesa/main/querymatrix.c | 3 | 
8 files changed, 35 insertions, 3 deletions
| diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h index 8173d4cc37..3ad7ce645d 100644 --- a/src/gallium/auxiliary/os/os_thread.h +++ b/src/gallium/auxiliary/os/os_thread.h @@ -307,7 +307,7 @@ typedef int64_t pipe_condvar;   * pipe_barrier   */ -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if (defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED)) && !defined(PIPE_OS_ANDROID)  typedef pthread_barrier_t pipe_barrier; diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index e3d4c06b6f..00653562ad 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -199,6 +199,16 @@ roundf(float x)  #endif /* _MSC_VER */ +#ifdef PIPE_OS_ANDROID + +static INLINE +double log2(double d) +{ +   return log(d) / M_LN2; +} + +#endif + diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 3441db685c..ec9f105897 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -67,7 +67,9 @@ extern "C" {  #if !defined(__HAIKU__) && !defined(__USE_MISC) +#if !defined(PIPE_OS_ANDROID)  typedef unsigned int       uint; +#endif  typedef unsigned short     ushort;  #endif  typedef unsigned char      ubyte; diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index 74a1fa2978..988430c11d 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -133,6 +133,14 @@  #define PIPE_OS_UNIX  #endif +/* + * Android defines __linux__ so PIPE_OS_LINUX and PIPE_OS_UNIX will also be + * defined. + */ +#if defined(ANDROID) +#define PIPE_OS_ANDROID +#endif +  #if defined(__FreeBSD__)  #define PIPE_OS_FREEBSD  #define PIPE_OS_BSD diff --git a/src/glsl/ralloc.c b/src/glsl/ralloc.c index 6a5eac6b9a..757ab5c76b 100644 --- a/src/glsl/ralloc.c +++ b/src/glsl/ralloc.c @@ -46,6 +46,10 @@  #endif  #endif +#ifdef ANDROID +#define SIZE_MAX UINT32_MAX +#endif +  #define CANARY 0x5A1106  struct ralloc_header diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index bf89815f2d..2ff21fa2eb 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -753,7 +753,7 @@ _mesa_strdup( const char *s )  float  _mesa_strtof( const char *s, char **end )  { -#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) +#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(ANDROID)     static locale_t loc = NULL;     if (!loc) {        loc = newlocale(LC_CTYPE_MASK, "C", NULL); diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index ce7baabe2c..7c990a4768 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -116,6 +116,7 @@ typedef union { GLfloat f; GLint i; } fi_type;  #endif +  /**   * \name Work-arounds for platforms that lack C99 math functions   */ @@ -134,7 +135,13 @@ typedef union { GLfloat f; GLint i; } fi_type;  #define exp2f(f) ((float) exp2(f))  #define floorf(f) ((float) floor(f))  #define logf(f) ((float) log(f)) + +#ifdef ANDROID +#define log2f(f) ((float) (log(f) / M_LN2)) +#else  #define log2f(f) ((float) log2(f)) +#endif +  #define powf(x,y) ((float) pow(x,y))  #define sinf(f) ((float) sin(f))  #define sinhf(f) ((float) sinh(f)) diff --git a/src/mesa/main/querymatrix.c b/src/mesa/main/querymatrix.c index 944ad435f7..11c7b0669d 100644 --- a/src/mesa/main/querymatrix.c +++ b/src/mesa/main/querymatrix.c @@ -73,7 +73,8 @@ fpclassify(double x)  #elif defined(__APPLE__) || defined(__CYGWIN__) || defined(__FreeBSD__) || \       defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || \       (defined(__sun) && defined(__C99FEATURES__)) || defined(__MINGW32__) || \ -     (defined(__sun) && defined(__GNUC__)) +     (defined(__sun) && defined(__GNUC__)) || \ +     defined(ANDROID)  /* fpclassify is available. */ | 
