Enable DMSAA for tiles only for vulkan.
Currently DMSAA shows regressions with GL. So enabled it only for
vulkan.
Bug: 1366068
Change-Id: I65526bde5f6d9df387a657aee348919e09c12314
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4567092
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Auto-Submit: vikas soni <vikassoni@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1149439}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 753bd0b..0318d8b 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -156,7 +156,18 @@
base::FeatureList::IsEnabled(features::kUseDMSAAForTiles)) {
DCHECK(pending_raster_queries);
DCHECK(compositor_context_provider);
- DCHECK(worker_context_provider);
+ 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_ &=
+ worker_context_provider->ContextCapabilities().using_vulkan_context;
+ }
+#endif
}
GpuRasterBufferProvider::~GpuRasterBufferProvider() = default;