Only define the following before android-L (where new headers define
them already)
typedef khronos_int64_t GLint64;
typedef khronos_uint64_t GLuint64;
typedef struct __GLsync *GLsync;
Also define L to 9999 for crtbrand.c which needs it to be an integer
Change-Id: I9ed957d70b85cd1cdfeacf11f77203b39c93023d
1. Set APP_ABI:=all in almost all samples
2. Enhance hello-jni to report more ABIs
3. Fix warnings
Change-Id: I2851c42b77ef8225e32143d225edcf973633e782
Fixes two issues:
1. Remove redundant check for hard-float in Teapot/MoreTeapots and ndk_helper
they depend. The ndk-build system add those flags already for armeabi-v7a-hard
2. native-audio in debug build: assert on the non-existance var
Change-Id: Id6b2d38a264c2f2d0e0c7fe625991fcee1762800
It appears that upstream 3.5 still can't accept __builtin_isnan redeclared
with calling convention, eg.
cat > isnan.c <<EOF
int __builtin_isnan(double) __attribute__((pcs("aapcs")));
EOF
clang -target armv5te-none-linux-androideabi -c isnan.c
isnan.c:1:5: error: function declared 'aapcs' here was previously declared without calling convention
int __builtin_isnan(double) __attribute__((pcs("aapcs")));
^
isnan.c:1:5: note: previous declaration is here
Change-Id: Iff466fd913c3deec27aa3ff355a208543028d368
Clang3.4 can take __builtin_nexttoward and __builtin_nexttowardf.
Also fix a minor typo in comment
Change-Id: If98a35e2e38c45ebd619b0ceb6c5ee41acc4e415
Workaround issue where SYSTEM_UI_FLAG_IMMERSIVE_STICKY is invalidated
when a volume button is pressed (internal bug ref b/11986621)
Immersive mode still does not recover when the screen has been
rotated, due to onSystemUiVisibilityChange is not triggered
when screen is rotated (internal bug ref b/11990702)
Change-Id: Ifdfe9b24d5c3c208441aeca0fbb2b1eaee39da95
Similar to clang 3.3, it seems that clang 3.4 declares an incompatible
function prototypes for __builtin_isnan(). To workaround this issue,
we should not declare the function prototype for __builtin_isnan().
Note: Though it may be good to fix this in clang type checker, like
__builtin_nexttoward(), however it seems non-trivial since __builtin_isnsn()
might be overloaded. We can revert this after we have fixed the
clang builtin definition.
Change-Id: I329b56225f3d229b0c141bb8414c4369f154efda
Annotate __builtin math functions with __NDK_FPABI_MATH__ too.
1. __attribute__((pcs("aapcs"))) has no effect on codegen when __buitlin
function is emitted inlined.
2. When __builtin call into regular function in Android's libm, it has
proper attribute which observes soft float-abi
Change-Id: I11e8b74fc22f3072b9ce849193e4a56e98c92d64
- Now they are in ndkHelper:: name space
- Changed module name to ndk_helper
- Changed some static members to class var or stand alone function
- Added syncronization for JNIHelper.cpp
- For a documentation, I will work with doc writer for future improvement
Change-Id: I0055061a4f53b1904cde2e0339550ee277b35fc5
Addressed most of feedbacks,
- Switched coding standard to Chrome style
- Update JNI helper, and documented
- Fixed other issues that is pointed out
Change-Id: Icc729a55ed8dd613759f34a3fc35cb4949d2d205
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