[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
}