summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/HardwareRenderer.java7
-rw-r--r--core/java/android/view/ViewRootImpl.java2
2 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 5b592e037107..2bf16d89616c 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -413,8 +413,8 @@ public abstract class HardwareRenderer {
if (error != EGL_SUCCESS) {
// something bad has happened revert to
// normal rendering.
- fallback(error != EGL11.EGL_CONTEXT_LOST);
Log.w(LOG_TAG, "EGL error: " + GLUtils.getEGLErrorString(error));
+ fallback(error != EGL11.EGL_CONTEXT_LOST);
}
}
}
@@ -702,8 +702,9 @@ public abstract class HardwareRenderer {
@Override
void setup(int width, int height) {
- checkCurrent();
- mCanvas.setViewport(width, height);
+ if (validate()) {
+ mCanvas.setViewport(width, height);
+ }
}
boolean canDraw() {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 6ea863ff9709..a0cc28761ca0 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1352,7 +1352,7 @@ public final class ViewRootImpl extends Handler implements ViewParent,
mAttachInfo.mHardwareRenderer != null &&
mAttachInfo.mHardwareRenderer.isEnabled())) {
mAttachInfo.mHardwareRenderer.setup(mWidth, mHeight);
- if (!hwInitialized) {
+ if (!hwInitialized && mAttachInfo.mHardwareRenderer.isEnabled()) {
mAttachInfo.mHardwareRenderer.invalidate(mHolder);
}
}