Allow user code to be compiled with "-mhard-float" for armeabi-v7a
(which implies -mfloat-abi=hard), and either link with
1. Android native APIs which use softfp, or
2. A customized libm_hard.a which is compiled with -mhard-float. Need
-D_NDK_MATH_NO_SOFTFP=1
See tests/device/hard-float/jni/Android.mk for details and restriction
on Clang
Change-Id: I773a842c73368e08b9a6cda0441e95a96fa303b2
1. Add sincos, sincosf, and sincosl to API >= 9 (for ARM only,
because X86 and MIPS have it already)
2. Add nan, nanf, nanl, and tgammaf to API >= 13 (11 actually,
but we don't want to add another API which is not released)
3. Add log2, log2f, log2l, logbl, nexttoward, and nexttowardl to
API >= 18
See b.android.com/38423
Change-Id: I0a756aeeddafc3862f3c0ae38218cb3301608231
The evaluation order of function args aren't gaurenteed in C++
jni/NDKSupport/vecmath.h:869:32: warning: multiple unsequenced modifications to 'i' [-Wunsequenced]
LOGI("%f %f %f %f", f[i++], f[i++], f[i++], f[i++]);
Change-Id: Ibf69978dd3abf57a7042624aad3d416a0f6f5e01
jni/gl3stub.c:21:5: error: implicit declaration of function 'eglGetProcAddress' is invalid in C99
FIND_PROC(glReadBuffer);
^
jni/gl3stub.c:20:37: note: expanded from macro 'FIND_PROC'
#define FIND_PROC(s) s = (void*)eglGetProcAddress(#s)
^
1 error generated.
Change-Id: I907f33e3d88f3e96bf7958102e90bf15529748b9
Using dlopen/dlsym works, but eglGetProcAddress is a little easier and
more consistent with how GL extension functions (rather than these
non-extension functions) are loaded.
Change-Id: I082c193f08f7d5456389ab783a06cd38a9632d53
* Headers were copied from frameworks/native/opengl/include/GLES3/.
* Symbol lists were generated with ndk/build/tools/gen-system-symbols.sh.
* Symbols are identical between architectures
Change-Id: I011094ea3b479cf166ffb6bef3778cde683fc502