summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-17 14:34:17 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-17 14:34:17 -0800
commit5b719d63244cbd47be205a300b717d8b2eb3dc6d (patch)
tree128063d74ed362c9ff7457c0646f0c5dd4f76700
parente935d45ef4f092551b1ffa579e88867efcf4f884 (diff)
parent77fb584c23527f881eebe5c7b3f25a7cf2c91a97 (diff)
Merge "Guard Choreographer buffer stuffing recovery behind flag" into main
-rw-r--r--core/java/android/view/Choreographer.java35
-rw-r--r--core/java/android/view/SurfaceControl.java9
2 files changed, 22 insertions, 22 deletions
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index 089b5c256b6e..6c50b5f945a5 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -16,6 +16,7 @@
package android.view;
+import static android.view.flags.Flags.bufferStuffingRecovery;
import static android.view.flags.Flags.FLAG_EXPECTED_PRESENTATION_TIME_API;
import static android.view.DisplayEventReceiver.VSYNC_SOURCE_APP;
import static android.view.DisplayEventReceiver.VSYNC_SOURCE_SURFACE_FLINGER;
@@ -965,22 +966,24 @@ public final class Choreographer {
// Evaluate if buffer stuffing recovery needs to start or end, and
// what actions need to be taken for recovery.
- switch (updateBufferStuffingState(frameTimeNanos, vsyncEventData)) {
- case NONE:
- // Without buffer stuffing recovery, offsetFrameTimeNanos is
- // synonymous with frameTimeNanos.
- break;
- case OFFSET:
- // Add animation offset. Used to update frame timeline with
- // offset before jitter is calculated.
- offsetFrameTimeNanos = frameTimeNanos - frameIntervalNanos;
- break;
- case DELAY_FRAME:
- // Intentional frame delay to help reduce queued buffer count.
- scheduleVsyncLocked();
- return;
- default:
- break;
+ if (bufferStuffingRecovery()) {
+ switch (updateBufferStuffingState(frameTimeNanos, vsyncEventData)) {
+ case NONE:
+ // Without buffer stuffing recovery, offsetFrameTimeNanos is
+ // synonymous with frameTimeNanos.
+ break;
+ case OFFSET:
+ // Add animation offset. Used to update frame timeline with
+ // offset before jitter is calculated.
+ offsetFrameTimeNanos = frameTimeNanos - frameIntervalNanos;
+ break;
+ case DELAY_FRAME:
+ // Intentional frame delay to help reduce queued buffer count.
+ scheduleVsyncLocked();
+ return;
+ default:
+ break;
+ }
}
try {
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index f22505b80948..833f2d98554e 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -22,7 +22,6 @@ import static android.graphics.Matrix.MSKEW_X;
import static android.graphics.Matrix.MSKEW_Y;
import static android.graphics.Matrix.MTRANS_X;
import static android.graphics.Matrix.MTRANS_Y;
-import static android.view.flags.Flags.bufferStuffingRecovery;
import static android.view.SurfaceControlProto.HASH_CODE;
import static android.view.SurfaceControlProto.LAYER_ID;
import static android.view.SurfaceControlProto.NAME;
@@ -5118,11 +5117,9 @@ public final class SurfaceControl implements Parcelable {
*/
@NonNull
public Transaction setRecoverableFromBufferStuffing(@NonNull SurfaceControl sc) {
- if (bufferStuffingRecovery()) {
- checkPreconditions(sc);
- nativeSetFlags(mNativeObject, sc.mNativeObject, RECOVERABLE_FROM_BUFFER_STUFFING,
- RECOVERABLE_FROM_BUFFER_STUFFING);
- }
+ checkPreconditions(sc);
+ nativeSetFlags(mNativeObject, sc.mNativeObject, RECOVERABLE_FROM_BUFFER_STUFFING,
+ RECOVERABLE_FROM_BUFFER_STUFFING);
return this;
}