summaryrefslogtreecommitdiff
path: root/opengl
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2011-08-02 17:09:34 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-08-02 17:09:34 -0700
commit9ebf4ebbb9611f2aafef7d4d22b74015a7b4c8c4 (patch)
tree88c65f0a610db044492bb6a6fdbf65e3f414c895 /opengl
parentd0ec2401e9e31a5319e205acc785f5db19212010 (diff)
parent3ab88557947d708cc36d60ce6566509ceff944e4 (diff)
Merge "fix an issue where the screen could be stale after a surface size change"
Diffstat (limited to 'opengl')
-rw-r--r--opengl/java/android/opengl/GLSurfaceView.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java
index 3f547fd8fe0f..4c7f84e4f49a 100644
--- a/opengl/java/android/opengl/GLSurfaceView.java
+++ b/opengl/java/android/opengl/GLSurfaceView.java
@@ -1073,6 +1073,15 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
return gl;
}
+ public void purgeBuffers() {
+ mEgl.eglMakeCurrent(mEglDisplay,
+ EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE,
+ EGL10.EGL_NO_CONTEXT);
+ mEgl.eglMakeCurrent(mEglDisplay,
+ mEglSurface, mEglSurface,
+ mEglContext);
+ }
+
/**
* Display the current render surface.
* @return false if the context has been lost.
@@ -1415,6 +1424,7 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
if (LOG_RENDERER) {
Log.w("GLThread", "onSurfaceChanged(" + w + ", " + h + ")");
}
+ mEglHelper.purgeBuffers();
mRenderer.onSurfaceChanged(gl, w, h);
sizeChanged = false;
}