summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2013-03-01 16:24:13 -0800
committerAndy McFadden <fadden@android.com>2013-03-05 11:16:10 -0800
commit0c361e9d3c93b3890fbae82b2f937bb4b3a42f70 (patch)
tree22bc6eeced29260770643c15a715542a9f6fa878
parent43abdc486d19c137b79a2bde9ce4706c91656bda (diff)
downloadframeworks_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.cpp17
-rw-r--r--opengl/java/android/opengl/EGL14.java9
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
+ );
+
}