summaryrefslogtreecommitdiff
path: root/opengl/java
diff options
context:
space:
mode:
authorshoudil <stephenli@codeaurora.org>2018-02-01 14:16:40 +0800
committerJun Wang <junwan@codeaurora.org>2018-05-14 13:59:45 +0800
commit480929aa91a767ad00b034f380891eec95b68ab4 (patch)
tree5dab119076e2c55ed497ae2200b06b2d3edaa51f /opengl/java
parent614fa5004f1273decdb6f70321cae15637dc104b (diff)
GLSurfaceView: report draw finished after first onDrawFrame in GLThread.
At default, GLThread will not report draw finish after 1st onDrawFrame. This will cause long black screen issue for game whose 2nd onDrawFrame taking time, such as CandyCrash case reported by customer. This change ensure the draw finished to be reported after 1st onDrawFrame. Change-Id: I8b817bdb5d6dcaec9835b45c6efe8e6892c716fe CRs-Fixed: 2182359
Diffstat (limited to 'opengl/java')
-rw-r--r--opengl/java/android/opengl/GLSurfaceView.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java
index 0f0a7e9d1314..e5a0c8ee70b7 100644
--- a/opengl/java/android/opengl/GLSurfaceView.java
+++ b/opengl/java/android/opengl/GLSurfaceView.java
@@ -1568,6 +1568,10 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
if (view != null) {
try {
Trace.traceBegin(Trace.TRACE_TAG_VIEW, "onDrawFrame");
+ if (mFinishDrawingRunnable != null) {
+ finishDrawingRunnable = mFinishDrawingRunnable;
+ mFinishDrawingRunnable = null;
+ }
view.mRenderer.onDrawFrame(gl);
if (finishDrawingRunnable != null) {
finishDrawingRunnable.run();