From de64ae1792fb6bd4397745ab6079c45029a76588 Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Fri, 29 Jan 2021 17:24:35 +0000 Subject: [PATCH] Revert "SyncRtSurfaceTransactionApplier: Use BLASTSync" This reverts commit 2b0b88aa53b0d75e6a32003d98ac14b113b58915. Reason for revert: Regression, see b/178770656 Bug: 178770656 Test: Enter PiP from Play Movies Change-Id: I2cf5bd035520676091f02ba977c671fcfbe60bf7 --- .../android/view/SyncRtSurfaceTransactionApplier.java | 9 ++++----- core/java/android/view/ViewRootImpl.java | 2 +- .../system/SyncRtSurfaceTransactionApplierCompat.java | 7 ++----- .../systemui/shared/system/ViewRootImplCompat.java | 8 -------- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/core/java/android/view/SyncRtSurfaceTransactionApplier.java b/core/java/android/view/SyncRtSurfaceTransactionApplier.java index acbcbfad1a750..b10370aa5d4cd 100644 --- a/core/java/android/view/SyncRtSurfaceTransactionApplier.java +++ b/core/java/android/view/SyncRtSurfaceTransactionApplier.java @@ -85,13 +85,12 @@ public class SyncRtSurfaceTransactionApplier { for (int i = params.length - 1; i >= 0; i--) { SurfaceParams surfaceParams = params[i]; SurfaceControl surface = surfaceParams.surface; + if (frame > 0) { + t.deferTransactionUntil(surface, mTargetSc, frame); + } applyParams(t, surfaceParams, mTmpFloat9); } - if (mTargetViewRootImpl != null) { - mTargetViewRootImpl.mergeWithNextTransaction(t, frame); - } else { - t.apply(); - } + t.apply(); } public static void applyParams(Transaction t, SurfaceParams params, float[] tmpFloat9) { diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 52d0062abdf2c..844fc267c3cb3 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -10109,7 +10109,7 @@ public final class ViewRootImpl implements ViewParent, * Merges the transaction passed in with the next transaction in BLASTBufferQueue. This ensures * you can add transactions to the upcoming frame. */ - public void mergeWithNextTransaction(Transaction t, long frameNumber) { + void mergeWithNextTransaction(Transaction t, long frameNumber) { if (mBlastBufferQueue != null) { mBlastBufferQueue.mergeWithNextTransaction(t, frameNumber); } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java index fbabaa489d74d..70021b6f3d455 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SyncRtSurfaceTransactionApplierCompat.java @@ -114,13 +114,10 @@ public class SyncRtSurfaceTransactionApplierCompat { for (int i = params.length - 1; i >= 0; i--) { SyncRtSurfaceTransactionApplierCompat.SurfaceParams surfaceParams = params[i]; + t.deferTransactionUntil(surfaceParams.surface, mBarrierSurfaceControl, frame); surfaceParams.applyTo(t); } - if (mTargetViewRootImpl != null) { - mTargetViewRootImpl.mergeWithNextTransaction(t, frame); - } else { - t.apply(); - } + t.apply(); Trace.traceEnd(Trace.TRACE_TAG_VIEW); Message.obtain(mApplyHandler, MSG_UPDATE_SEQUENCE_NUMBER, toApplySeqNo, 0) .sendToTarget(); diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ViewRootImplCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ViewRootImplCompat.java index 89c60f1d3f067..4a28d56a41e18 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ViewRootImplCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ViewRootImplCompat.java @@ -56,12 +56,4 @@ public class ViewRootImplCompat { }); } } - - public void mergeWithNextTransaction(SurfaceControl.Transaction t, long frame) { - if (mViewRoot != null) { - mViewRoot.mergeWithNextTransaction(t, frame); - } else { - t.apply(); - } - } }