[go: nahoru, domu]

Add DMSAA code path for tiles

This CL adds DMSAA code path for tiles under UseDMSAAForTiles feature
flag.

Bug: 1366068
Change-Id: I2cd3f5c941472d30f3cc3698e6e223dd60e3c6f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3913529
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1050707}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 087fe18..fcf2e19 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -20,6 +20,7 @@
 #include "base/trace_event/process_memory_dump.h"
 #include "base/trace_event/trace_event.h"
 #include "build/chromeos_buildflags.h"
+#include "cc/base/features.h"
 #include "cc/base/histograms.h"
 #include "cc/paint/display_item_list.h"
 #include "cc/paint/paint_canvas.h"
@@ -151,7 +152,9 @@
       max_tile_size_(max_tile_size),
       pending_raster_queries_(pending_raster_queries),
       raster_metric_probability_(raster_metric_probability),
-      is_using_raw_draw_(features::IsUsingRawDraw()) {
+      is_using_raw_draw_(features::IsUsingRawDraw()),
+      is_using_dmsaa_(
+          base::FeatureList::IsEnabled(features::kUseDMSAAForTiles)) {
   DCHECK(pending_raster_queries);
   DCHECK(compositor_context_provider);
   DCHECK(worker_context_provider);
@@ -371,9 +374,11 @@
   }
 
   // Assume legacy MSAA if sample count is positive.
-  gpu::raster::MsaaMode msaa_mode = playback_settings.msaa_sample_count > 0
-                                        ? gpu::raster::kMSAA
-                                        : gpu::raster::kNoMSAA;
+  gpu::raster::MsaaMode msaa_mode =
+      playback_settings.msaa_sample_count > 0
+          ? (client_->is_using_dmsaa_ ? gpu::raster::kDMSAA
+                                      : gpu::raster::kMSAA)
+          : gpu::raster::kNoMSAA;
   // msaa_sample_count should be 1, 2, 4, 8, 16, 32, 64,
   // and log2(msaa_sample_count) should be [0,6].
   // If playback_settings.msaa_sample_count <= 0, the MSAA is not used. It is