summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2014-08-25 23:26:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-25 23:26:19 +0000
commit366b4234eaa24d182b02c2e294c8536602201002 (patch)
tree7f6e09448e13a57dfe165bbf79e4dbce244d52cd /core/java/android
parent4cce1de9fe95ffc3b968de87579a543a461f96bb (diff)
parent8afd0f245cc0c4a0366f39f41b5f78e47ee83be3 (diff)
downloadframeworks_base-366b4234eaa24d182b02c2e294c8536602201002.zip
frameworks_base-366b4234eaa24d182b02c2e294c8536602201002.tar.gz
frameworks_base-366b4234eaa24d182b02c2e294c8536602201002.tar.bz2
Merge "Create z reordering boundaries around dispatchDraw" into lmp-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/GLES20Canvas.java12
-rw-r--r--core/java/android/view/ViewGroup.java3
2 files changed, 14 insertions, 1 deletions
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
index a410aa9..ceea9f8 100644
--- a/core/java/android/view/GLES20Canvas.java
+++ b/core/java/android/view/GLES20Canvas.java
@@ -179,6 +179,18 @@ class GLES20Canvas extends HardwareCanvas {
private static native void nSetHighContrastText(long renderer, boolean highContrastText);
@Override
+ public void insertReorderBarrier() {
+ nInsertReorderBarrier(mRenderer, true);
+ }
+
+ @Override
+ public void insertInorderBarrier() {
+ nInsertReorderBarrier(mRenderer, false);
+ }
+
+ private static native void nInsertReorderBarrier(long renderer, boolean enableReorder);
+
+ @Override
public int onPreDraw(Rect dirty) {
if (dirty != null) {
return nPrepareDirty(mRenderer, dirty.left, dirty.top, dirty.right, dirty.bottom,
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 19dd583..854e6be 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -3072,7 +3072,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
boolean more = false;
final long drawingTime = getDrawingTime();
-
+ if (usingRenderNodeProperties) canvas.insertReorderBarrier();
// Only use the preordered list if not HW accelerated, since the HW pipeline will do the
// draw reordering internally
final ArrayList<View> preorderedList = usingRenderNodeProperties
@@ -3099,6 +3099,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
more |= drawChild(canvas, child, drawingTime);
}
}
+ if (usingRenderNodeProperties) canvas.insertInorderBarrier();
if (debugDraw()) {
onDebugDraw(canvas);