summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-01-12 16:21:41 -0800
committerRomain Guy <romainguy@google.com>2011-01-12 16:21:41 -0800
commit4f6aff386045000c2c03b903c7109cb42092b7ea (patch)
tree6732409e754dffefcd2bfe97cfe275e437df503a /core/java/android
parentc038ea358aadca082198f3effc550d33135bf426 (diff)
downloadframeworks_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.java2
-rw-r--r--core/java/android/view/ViewRoot.java9
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) {