Loading core/java/android/view/HardwareRenderer.java +38 −28 Original line number Diff line number Diff line Loading @@ -478,8 +478,7 @@ public abstract class HardwareRenderer { startTime = SystemClock.elapsedRealtime(); } checkCurrent(); if (checkCurrent()) { onPreDraw(); Canvas canvas = mCanvas; Loading @@ -505,8 +504,9 @@ public abstract class HardwareRenderer { checkEglErrors(); } } } private void checkCurrent() { private boolean checkCurrent() { // TODO: Don't check the current context when we have one per UI thread // TODO: Use a threadlocal flag to know whether the surface has changed if (sEgl.eglGetCurrentContext() != sEglContext || Loading @@ -515,8 +515,10 @@ public abstract class HardwareRenderer { fallback(true); Log.e(LOG_TAG, "eglMakeCurrent failed " + getEGLErrorString(sEgl.eglGetError())); return false; } } return true; } static abstract class EglConfigChooser { Loading Loading @@ -650,6 +652,11 @@ public abstract class HardwareRenderer { return mGlCanvas = new GLES20Canvas(mTranslucent); } @Override boolean canDraw() { return super.canDraw() && mGlCanvas != null; } @Override void onPreDraw() { mGlCanvas.onPreDraw(); Loading @@ -662,11 +669,14 @@ public abstract class HardwareRenderer { @Override void destroy(boolean full) { try { super.destroy(full); } finally { if (full && mGlCanvas != null) { mGlCanvas = null; } } } @Override DisplayList createDisplayList() { Loading Loading
core/java/android/view/HardwareRenderer.java +38 −28 Original line number Diff line number Diff line Loading @@ -478,8 +478,7 @@ public abstract class HardwareRenderer { startTime = SystemClock.elapsedRealtime(); } checkCurrent(); if (checkCurrent()) { onPreDraw(); Canvas canvas = mCanvas; Loading @@ -505,8 +504,9 @@ public abstract class HardwareRenderer { checkEglErrors(); } } } private void checkCurrent() { private boolean checkCurrent() { // TODO: Don't check the current context when we have one per UI thread // TODO: Use a threadlocal flag to know whether the surface has changed if (sEgl.eglGetCurrentContext() != sEglContext || Loading @@ -515,8 +515,10 @@ public abstract class HardwareRenderer { fallback(true); Log.e(LOG_TAG, "eglMakeCurrent failed " + getEGLErrorString(sEgl.eglGetError())); return false; } } return true; } static abstract class EglConfigChooser { Loading Loading @@ -650,6 +652,11 @@ public abstract class HardwareRenderer { return mGlCanvas = new GLES20Canvas(mTranslucent); } @Override boolean canDraw() { return super.canDraw() && mGlCanvas != null; } @Override void onPreDraw() { mGlCanvas.onPreDraw(); Loading @@ -662,11 +669,14 @@ public abstract class HardwareRenderer { @Override void destroy(boolean full) { try { super.destroy(full); } finally { if (full && mGlCanvas != null) { mGlCanvas = null; } } } @Override DisplayList createDisplayList() { Loading