0

Remove feature CanvasOopRasterization.

It's also removed from about:flags.

Now it's fully launched.

TEST=bots
R=vasilyt@chromium.org

Bug: 391648152
Change-Id: Ib657cab8ece95883730225ccb6895c5d38e03828
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6305022
Auto-Submit: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425846}
This commit is contained in:
Zhenyao Mo
2025-02-27 10:48:56 -08:00
committed by Chromium LUCI CQ
parent 5cfa11aea2
commit 1a9df34cf2
9 changed files with 2 additions and 80 deletions

@ -9097,10 +9097,6 @@ const FeatureEntry kFeatureEntries[] = {
#endif // ENABLE_EXTENSIONS
#if !BUILDFLAG(IS_ANDROID)
{"canvas-oop-rasterization", flag_descriptions::kCanvasOopRasterizationName,
flag_descriptions::kCanvasOopRasterizationDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kCanvasOopRasterization)},
{"captured-surface-control", flag_descriptions::kCapturedSurfaceControlName,
flag_descriptions::kCapturedSurfaceControlDescription, kOsDesktop,
FEATURE_VALUE_TYPE(blink::features::kCapturedSurfaceControl)},

@ -34,12 +34,6 @@ const char kCanvasHibernationName[] = "Hibernation for 2D canvas";
const char kCanvasHibernationDescription[] =
"Enables canvas hibernation for 2D canvas.";
const char kCanvasOopRasterizationName[] =
"Out-of-process 2D canvas rasterization.";
const char kCanvasOopRasterizationDescription[] =
"The rasterization of 2d canvas contents is performed in the GPU process. "
"Requires that out-of-process rasterization be enabled.";
#if !BUILDFLAG(IS_ANDROID)
const char kCapturedSurfaceControlName[] = "Captured Surface Control";
const char kCapturedSurfaceControlDescription[] =

@ -570,9 +570,6 @@ extern const char kGetUserMediaDeferredDeviceSettingsSelectionDescription[];
extern const char kCanvasHibernationName[];
extern const char kCanvasHibernationDescription[];
extern const char kCanvasOopRasterizationName[];
extern const char kCanvasOopRasterizationDescription[];
#if !BUILDFLAG(IS_ANDROID)
extern const char kCapturedSurfaceControlName[];
extern const char kCapturedSurfaceControlDescription[];

@ -267,11 +267,4 @@ def MediaRecorderTestCases() -> List[ExpectedColorTestCase]:
video_expected_colors,
crop_action=ca.NonWhiteContentCropAction(),
),
ExpectedColorTestCase(
'content/test/data/gpu/pixel_media_recorder_from_video_element.html',
'MediaRecorderFromVideoElementWithOoprCanvasDisabled',
60,
video_expected_colors,
crop_action=ca.NonWhiteContentCropAction(),
extra_browser_args=['--disable-features=CanvasOopRasterization']),
]

@ -1573,15 +1573,6 @@ class PixelTestPages():
matching_algorithm=match_algo,
timeout=timeout),
# Safeguard against repeating crbug.com/1337101
PixelTestPage(
'pixel_video_from_canvas_2d_alpha.html',
base_name + '_VideoStreamFrom2DAlphaCanvas_DisableOOPRaster',
crop_action=standard_crop,
browser_args=['--disable-features=CanvasOopRasterization'],
matching_algorithm=match_algo,
timeout=timeout),
# Safeguard against repeating crbug.com/1371308
PixelTestPage(
'pixel_video_from_canvas_2d.html',

@ -96,7 +96,6 @@
# ExpectedColor_MediaRecorderFromVideoElement fails when protected memory is used.
crbug.com/1417006 [ fuchsia web-engine-shell ] ExpectedColor_MediaRecorderFromVideoElement [ Skip ]
crbug.com/1417006 [ fuchsia web-engine-shell ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ Skip ]
###############################
# Temporary Skip Expectations #
@ -110,12 +109,6 @@ crbug.com/1417006 [ fuchsia web-engine-shell ] ExpectedColor_MediaRecorderFromVi
###################
# Non-"Skip" expectations go here to suppress regular flakes/failures.
# Fails on GL, Metal, Graphite and Ganesh, AMD and Intel
crbug.com/377724727 [ amd-0x7340 angle-opengl debug graphite-disabled mac-x86_64 no-asan no-clang-coverage passthrough sonoma ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ Failure ]
crbug.com/377724727 [ android ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ RetryOnFailure ]
crbug.com/377724727 [ linux ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ RetryOnFailure ]
crbug.com/377724727 [ win ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ RetryOnFailure ]
# Longstanding flaking test - page reported failure
crbug.com/40877266 [ android android-shield-android-tv ] ExpectedColor_MediaRecorderFromVideoElement [ RetryOnFailure ]

@ -162,13 +162,6 @@ BASE_FEATURE(kDefaultEnableGpuRasterization,
#endif
);
#if !BUILDFLAG(IS_ANDROID)
// Enables the use of out of process rasterization for canvas.
BASE_FEATURE(kCanvasOopRasterization,
"CanvasOopRasterization",
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
// Enables the use of MSAA in skia on Ice Lake and later intel architectures.
BASE_FEATURE(kEnableMSAAOnNewIntelGPUs,
"EnableMSAAOnNewIntelGPUs",
@ -732,11 +725,7 @@ bool EnablePruneOldTransferCacheEntries() {
}
bool IsCanvasOopRasterizationEnabled() {
#if BUILDFLAG(IS_ANDROID)
return true;
#else
return base::FeatureList::IsEnabled(kCanvasOopRasterization);
#endif
}
#if BUILDFLAG(IS_ANDROID)

@ -38,10 +38,6 @@ GPU_EXPORT BASE_DECLARE_FEATURE(
GPU_EXPORT BASE_DECLARE_FEATURE(kDefaultEnableGpuRasterization);
#if !BUILDFLAG(IS_ANDROID)
GPU_EXPORT BASE_DECLARE_FEATURE(kCanvasOopRasterization);
#endif
GPU_EXPORT BASE_DECLARE_FEATURE(kEnableMSAAOnNewIntelGPUs);
#if BUILDFLAG(IS_WIN)

@ -234,33 +234,6 @@ GpuFeatureStatus Get2DCanvasFeatureStatus(
return kGpuFeatureStatusEnabled;
}
GpuFeatureStatus GetCanvasOopRasterizationFeatureStatus(
const std::set<int>& blocklisted_features,
const GpuPreferences& gpu_preferences) {
#if BUILDFLAG(IS_CHROMEOS)
// Disable OOP-C if explicitly turned off from the command line.
base::FeatureList* feature_list = base::FeatureList::GetInstance();
if (feature_list && feature_list->IsFeatureOverriddenFromCommandLine(
features::kCanvasOopRasterization.name,
base::FeatureList::OVERRIDE_DISABLE_FEATURE)) {
return kGpuFeatureStatusDisabled;
}
// On certain ChromeOS devices, using Vulkan without OOP-C results in video
// encode artifacts (b/318721705).
if (gpu_preferences.use_vulkan != VulkanImplementationName::kNone)
return kGpuFeatureStatusEnabled;
#endif // BUILDFLAG(IS_CHROMEOS)
// Canvas OOP Rasterization on platforms that are not fully enabled is
// controlled by a finch experiment.
if (!features::IsCanvasOopRasterizationEnabled()) {
return kGpuFeatureStatusDisabled;
}
return kGpuFeatureStatusEnabled;
}
GpuFeatureStatus GetAcceleratedVideoDecodeFeatureStatus(
const std::set<int>& blocklisted_features,
bool use_swift_shader) {
@ -600,9 +573,9 @@ GpuFeatureInfo ComputeGpuFeatureInfo(const GPUInfo& gpu_info,
GetWebGPUFeatureStatus(blocklisted_features, use_swift_shader);
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS] =
Get2DCanvasFeatureStatus(blocklisted_features, use_swift_shader);
// TODO(zmo): Remove GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION.
gpu_feature_info.status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
GetCanvasOopRasterizationFeatureStatus(blocklisted_features,
gpu_preferences);
kGpuFeatureStatusEnabled;
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] =
GetAcceleratedVideoDecodeFeatureStatus(blocklisted_features,
use_swift_shader);