summaryrefslogtreecommitdiffstats
path: root/core/java/android/view
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2013-05-29 15:54:25 -0700
committerRomain Guy <romainguy@google.com>2013-05-29 16:01:36 -0700
commit80b12fcaaec458377d966803c3a61504f0897ea1 (patch)
treeeb80fcbfffdaca5506afddc0f40578136e099dda /core/java/android/view
parent3bf4fa4b161342ac94e97844c7af0982f4a2758d (diff)
downloadframeworks_base-80b12fcaaec458377d966803c3a61504f0897ea1.zip
frameworks_base-80b12fcaaec458377d966803c3a61504f0897ea1.tar.gz
frameworks_base-80b12fcaaec458377d966803c3a61504f0897ea1.tar.bz2
Disable the AssetAtlas when running under valgrind
Bug #9191438 When running under valgrind, the ppid will be different from the ppid of the system server (which always gets forked from zygote.) Change-Id: I42cbf99fd0084aeab76c30de9beb7c49ed1fc7d8
Diffstat (limited to 'core/java/android/view')
-rw-r--r--core/java/android/view/HardwareRenderer.java12
-rw-r--r--core/java/android/view/IAssetAtlas.aidl7
2 files changed, 14 insertions, 5 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index 8dada90..c07b187 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -1931,11 +1931,13 @@ public abstract class HardwareRenderer {
IAssetAtlas atlas = IAssetAtlas.Stub.asInterface(binder);
try {
- GraphicBuffer buffer = atlas.getBuffer();
- if (buffer != null) {
- int[] map = atlas.getMap();
- if (map != null) {
- GLES20Canvas.initAtlas(buffer, map);
+ if (atlas.isCompatible(android.os.Process.myPpid())) {
+ GraphicBuffer buffer = atlas.getBuffer();
+ if (buffer != null) {
+ int[] map = atlas.getMap();
+ if (map != null) {
+ GLES20Canvas.initAtlas(buffer, map);
+ }
}
}
} catch (RemoteException e) {
diff --git a/core/java/android/view/IAssetAtlas.aidl b/core/java/android/view/IAssetAtlas.aidl
index 2595179..5f1e238 100644
--- a/core/java/android/view/IAssetAtlas.aidl
+++ b/core/java/android/view/IAssetAtlas.aidl
@@ -28,6 +28,13 @@ import android.view.GraphicBuffer;
*/
interface IAssetAtlas {
/**
+ * Indicates whether the atlas is compatible with the specified
+ * parent process id. If the atlas' ppid does not match, this
+ * method will return false.
+ */
+ boolean isCompatible(int ppid);
+
+ /**
* Returns the atlas buffer (texture) or null if the atlas is
* not available yet.
*/