diff options
| author | 2011-08-02 17:09:34 -0700 | |
|---|---|---|
| committer | 2011-08-02 17:09:34 -0700 | |
| commit | 9ebf4ebbb9611f2aafef7d4d22b74015a7b4c8c4 (patch) | |
| tree | 88c65f0a610db044492bb6a6fdbf65e3f414c895 /opengl | |
| parent | d0ec2401e9e31a5319e205acc785f5db19212010 (diff) | |
| parent | 3ab88557947d708cc36d60ce6566509ceff944e4 (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.java | 10 |
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; } |