diff options
author | Andy McFadden <fadden@android.com> | 2013-03-01 16:24:13 -0800 |
---|---|---|
committer | Andy McFadden <fadden@android.com> | 2013-03-05 11:16:10 -0800 |
commit | 0c361e9d3c93b3890fbae82b2f937bb4b3a42f70 (patch) | |
tree | 22bc6eeced29260770643c15a715542a9f6fa878 | |
parent | 43abdc486d19c137b79a2bde9ce4706c91656bda (diff) | |
download | frameworks_base-0c361e9d3c93b3890fbae82b2f937bb4b3a42f70.zip frameworks_base-0c361e9d3c93b3890fbae82b2f937bb4b3a42f70.tar.gz frameworks_base-0c361e9d3c93b3890fbae82b2f937bb4b3a42f70.tar.bz2 |
Add eglPresentationTimeANDROID
Added EGL extension to set a timestamp on a surface.
Bug 8191230
Change-Id: Ie73bd7d1217348c9c64b8c68da38d671d48355f7
-rw-r--r-- | core/jni/android_opengl_EGL14.cpp | 17 | ||||
-rw-r--r-- | opengl/java/android/opengl/EGL14.java | 9 |
2 files changed, 26 insertions, 0 deletions
diff --git a/core/jni/android_opengl_EGL14.cpp b/core/jni/android_opengl_EGL14.cpp index 664af07..ac4bc1d 100644 --- a/core/jni/android_opengl_EGL14.cpp +++ b/core/jni/android_opengl_EGL14.cpp @@ -1202,6 +1202,22 @@ android_eglCopyBuffers return (EGLBoolean) 0; } +/* EGLBoolean eglPresentationTimeANDROID ( EGLDisplay dpy, EGLSurface sur, EGLnsecsANDROID time ) */ +static jboolean +android_eglPresentationTimeANDROID + (JNIEnv *_env, jobject _this, jobject dpy, jobject sur, jlong time) { + EGLBoolean _returnValue = (EGLBoolean) 0; + EGLDisplay dpy_native = (EGLDisplay) fromEGLHandle(_env, egldisplayGetHandleID, dpy); + EGLSurface sur_native = (EGLSurface) fromEGLHandle(_env, eglsurfaceGetHandleID, sur); + + _returnValue = eglPresentationTimeANDROID( + (EGLDisplay)dpy_native, + (EGLSurface)sur_native, + (EGLnsecsANDROID)time + ); + return _returnValue; +} + static const char *classPathName = "android/opengl/EGL14"; static JNINativeMethod methods[] = { @@ -1240,6 +1256,7 @@ static JNINativeMethod methods[] = { {"eglWaitNative", "(I)Z", (void *) android_eglWaitNative }, {"eglSwapBuffers", "(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z", (void *) android_eglSwapBuffers }, {"eglCopyBuffers", "(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z", (void *) android_eglCopyBuffers }, +{"eglPresentationTimeANDROID", "(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;J)Z", (void *) android_eglPresentationTimeANDROID }, }; int register_android_opengl_jni_EGL14(JNIEnv *_env) diff --git a/opengl/java/android/opengl/EGL14.java b/opengl/java/android/opengl/EGL14.java index cd53c17..d1e2a9e 100644 --- a/opengl/java/android/opengl/EGL14.java +++ b/opengl/java/android/opengl/EGL14.java @@ -445,4 +445,13 @@ public static final int EGL_CORE_NATIVE_ENGINE = 0x305B; int target ); + // C function EGLBoolean eglPresentationTimeANDROID ( EGLDisplay dpy, EGLSurface sur, EGLnsecsANDROID time ) + + /** @hide -- TODO(fadden) unhide this */ + public static native boolean eglPresentationTimeANDROID( + EGLDisplay dpy, + EGLSurface sur, + long time + ); + } |