diff options
author | Romain Guy <romainguy@google.com> | 2011-01-12 16:21:41 -0800 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2011-01-12 16:21:41 -0800 |
commit | 4f6aff386045000c2c03b903c7109cb42092b7ea (patch) | |
tree | 6732409e754dffefcd2bfe97cfe275e437df503a /core/java/android | |
parent | c038ea358aadca082198f3effc550d33135bf426 (diff) | |
download | frameworks_base-4f6aff386045000c2c03b903c7109cb42092b7ea.zip frameworks_base-4f6aff386045000c2c03b903c7109cb42092b7ea.tar.gz frameworks_base-4f6aff386045000c2c03b903c7109cb42092b7ea.tar.bz2 |
Only enable GL rendering on the main thread.
Change-Id: I41950f4c0a5063ee5d6950cf137eb60a1c7a72fe
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/view/HardwareRenderer.java | 2 | ||||
-rw-r--r-- | core/java/android/view/ViewRoot.java | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index 05a9ff8..f9a6c1b 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -36,7 +36,7 @@ import javax.microedition.khronos.opengles.GL; * @hide */ public abstract class HardwareRenderer { - private static final String LOG_TAG = "HardwareRenderer"; + static final String LOG_TAG = "HardwareRenderer"; /** * A process can set this flag to false to prevent the use of hardware diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index 7c55f7b..d480bbc 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -485,7 +485,14 @@ public final class ViewRoot extends Handler implements ViewParent, private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) { mAttachInfo.mHardwareAccelerated = false; mAttachInfo.mHardwareAccelerationRequested = false; - + + // Don't enable hardware acceleration when we're not on the main thread + if (Looper.getMainLooper() != Looper.myLooper()) { + Log.w(HardwareRenderer.LOG_TAG, "Attempting to initialize hardware acceleration " + + "outside of the main thread, aborting"); + return; + } + // Try to enable hardware acceleration if requested if (attrs != null && (attrs.flags & WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED) != 0) { |