diff --git a/opengl/libagl/Android.mk b/opengl/libagl/Android.mk index 64320cf75..4b08749b2 100644 --- a/opengl/libagl/Android.mk +++ b/opengl/libagl/Android.mk @@ -31,7 +31,9 @@ LOCAL_SHARED_LIBRARIES := libcutils libhardware libutils liblog libpixelflinger LOCAL_SRC_FILES_arm += fixed_asm.S iterators.S LOCAL_CFLAGS_arm += -fstrict-aliasing +ifndef ARCH_MIPS_REV6 LOCAL_SRC_FILES_mips += arch-mips/fixed_asm.S +endif LOCAL_CFLAGS_mips += -fstrict-aliasing # The graphics code can generate division by zero LOCAL_CFLAGS_mips += -mno-check-zero-division diff --git a/opengl/libagl/fp.cpp b/opengl/libagl/fp.cpp index aea44493e..a7a4f7b10 100644 --- a/opengl/libagl/fp.cpp +++ b/opengl/libagl/fp.cpp @@ -19,7 +19,7 @@ // ---------------------------------------------------------------------------- -#if !defined(__arm__) && !defined(__mips__) +#if !(defined(__arm__) || (defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6)) GGLfixed gglFloatToFixed(float v) { return GGLfixed(floorf(v * 65536.0f + 0.5f)); } diff --git a/opengl/libagl/matrix.h b/opengl/libagl/matrix.h index 5bd717aed..cafc11905 100644 --- a/opengl/libagl/matrix.h +++ b/opengl/libagl/matrix.h @@ -74,7 +74,7 @@ GLfixed vsquare3(GLfixed a, GLfixed b, GLfixed c) ); return r; -#elif defined(__mips__) +#elif defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6 GLfixed res; int32_t t1,t2,t3; @@ -160,7 +160,7 @@ static inline GLfixed mla3a( GLfixed a0, GLfixed b0, ); return r; -#elif defined(__mips__) +#elif defined(__mips__) && !defined(__LP64__) && __mips_isa_rev < 6 GLfixed res; int32_t t1,t2;