Android: Add interface for getting native EGL context

This CL also implements support for getting the native context on
EGL 1.4. It's a bit tricker to get the native handle for EGL 1.0 so it
will be done in a separate CL.

Bug: webrtc:8257
Change-Id: I269e75c357f19507098180077fa9d1b1ac4dce23
Reviewed-on: https://webrtc-review.googlesource.com/1880
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19890}
This commit is contained in:
Magnus Jedvert
2017-09-18 11:26:30 +02:00
committed by Commit Bot
parent 6dc2038d0d
commit aa568a64ed
3 changed files with 20 additions and 3 deletions

View File

@ -37,9 +37,18 @@ class EglBase10 extends EglBase {
private EGLSurface eglSurface = EGL10.EGL_NO_SURFACE;
// EGL wrapper for an actual EGLContext.
public static class Context extends EglBase.Context {
public static class Context implements EglBase.Context {
private final EGLContext eglContext;
@Override
public long getNativeEglContext() {
// TODO(magjed): Implement. There is no easy way of getting the native context for EGL 1.0. We
// need to make sure to have an EglSurface, then make the context current using that surface,
// and then call into JNI and call the native version of eglGetCurrentContext. Then we need to
// restore the state and return the native context.
throw new RuntimeException("getNativeEglContext is not implemented for EGL 1.0");
}
public Context(EGLContext eglContext) {
this.eglContext = eglContext;
}