From b92fec61f6fad7b06401ea692d94e060750a7659 Mon Sep 17 00:00:00 2001 From: Robert Carr Date: Thu, 29 Oct 2020 12:09:18 -0700 Subject: [PATCH] Flip BLAST flag. This flag will enable the BLASTBufferQueue adapter for use by ViewRootImpl. BLASTSync and the BLASTBufferQueue in SurfaceView are still behind seperate flags. Bug: 168506246 Test: Days of manual testing on multiple devices (stressed: app switching, rotation, SurfaceView, PIP, Split-screen). Multiple presubmits. 5 passing runs of flicker. Systrace inspection. App startup perf tests. Inspection of jankstats from experiment based flip in R dogfood. Change-Id: I2b6e37884d938d327479977becbbce8e38e521f0 --- core/java/android/provider/Settings.java | 8 ++++++++ .../test/src/android/provider/SettingsBackupTest.java | 1 + .../java/com/android/server/wm/WindowManagerService.java | 7 +++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 780c4fa66d26a..cc3d92da7352f 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -9757,6 +9757,14 @@ public final class Settings { public static final String DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR = "render_shadows_in_compositor"; + /** + * If true, submit buffers using blast in ViewRootImpl. + * (0 = false, 1 = true) + * @hide + */ + public static final String DEVELOPMENT_USE_BLAST_ADAPTER_VR = + "use_blast_adapter_vr"; + /** * If true, submit buffers using blast in SurfaceView. * (0 = false, 1 = true) diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index baa266a6e5cdc..2412a32bd71b6 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -229,6 +229,7 @@ public class SettingsBackupTest { Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, Settings.Global.DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR, Settings.Global.DEVELOPMENT_USE_BLAST_ADAPTER_SV, + Settings.Global.DEVELOPMENT_USE_BLAST_ADAPTER_VR, Settings.Global.DEVICE_DEMO_MODE, Settings.Global.BATTERY_SAVER_ADAPTIVE_CONSTANTS, Settings.Global.BATTERY_SAVER_CONSTANTS, diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 01d628b48a279..70f43635a37c6 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1216,9 +1216,9 @@ public class WindowManagerService extends IWindowManager.Stub mAnimator = new WindowAnimator(this); mRoot = new RootWindowContainer(this); - mUseBLAST = DeviceConfig.getBoolean( - DeviceConfig.NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT, - WM_USE_BLAST_ADAPTER_FLAG, false); + final ContentResolver resolver = context.getContentResolver(); + mUseBLAST = Settings.Global.getInt(resolver, + Settings.Global.DEVELOPMENT_USE_BLAST_ADAPTER_VR, 1) == 1; mSyncEngine = new BLASTSyncEngine(this); @@ -1296,7 +1296,6 @@ public class WindowManagerService extends IWindowManager.Stub } }, UserHandle.ALL, suspendPackagesFilter, null, null); - final ContentResolver resolver = context.getContentResolver(); // Get persisted window scale setting mWindowAnimationScaleSetting = Settings.Global.getFloat(resolver, Settings.Global.WINDOW_ANIMATION_SCALE, mWindowAnimationScaleSetting);