[go: nahoru, domu]

[UseDMSAAForTiles] New finch flag for Android GL.

Add a new feature flag to enable and control DMSAA for tiles launch on
Android GL backend.

Bug: 1366068
Change-Id: Idfc829f08cde25a77d9c4e580bfd6d75f2dff3c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4834925
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: vikas soni <vikassoni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1191613}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 9c11c1d2..440d949 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -158,13 +158,20 @@
   CHECK(worker_context_provider);
 
 #if BUILDFLAG(IS_ANDROID)
-  // On Android, DMSAA is currently only enabled for vulkan until GL
-  // regressions are fixed.
   {
     absl::optional<viz::RasterContextProvider::ScopedRasterContextLock> lock;
     lock.emplace(worker_context_provider);
-    is_using_dmsaa_ &=
+    auto is_using_vulkan =
         worker_context_provider->ContextCapabilities().using_vulkan_context;
+
+    // On Android, DMSAA on vulkan backend launch is controlled by
+    // kUseDMSAAForTiles whereas GL backend launch is controlled by
+    // kUseDMSAAForTilesAndroidGL.
+    is_using_dmsaa_ =
+        (base::FeatureList::IsEnabled(features::kUseDMSAAForTiles) &&
+         is_using_vulkan) ||
+        (base::FeatureList::IsEnabled(features::kUseDMSAAForTilesAndroidGL) &&
+         !is_using_vulkan);
   }
 #endif
 }