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