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:

committed by
Chromium LUCI CQ

parent
5cfa11aea2
commit
1a9df34cf2
chrome/browser
content/test/gpu/gpu_tests
gpu/config
@@ -9097,10 +9097,6 @@ const FeatureEntry kFeatureEntries[] = {
|
|||||||
#endif // ENABLE_EXTENSIONS
|
#endif // ENABLE_EXTENSIONS
|
||||||
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
#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,
|
{"captured-surface-control", flag_descriptions::kCapturedSurfaceControlName,
|
||||||
flag_descriptions::kCapturedSurfaceControlDescription, kOsDesktop,
|
flag_descriptions::kCapturedSurfaceControlDescription, kOsDesktop,
|
||||||
FEATURE_VALUE_TYPE(blink::features::kCapturedSurfaceControl)},
|
FEATURE_VALUE_TYPE(blink::features::kCapturedSurfaceControl)},
|
||||||
|
@@ -34,12 +34,6 @@ const char kCanvasHibernationName[] = "Hibernation for 2D canvas";
|
|||||||
const char kCanvasHibernationDescription[] =
|
const char kCanvasHibernationDescription[] =
|
||||||
"Enables canvas hibernation for 2D canvas.";
|
"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)
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
const char kCapturedSurfaceControlName[] = "Captured Surface Control";
|
const char kCapturedSurfaceControlName[] = "Captured Surface Control";
|
||||||
const char kCapturedSurfaceControlDescription[] =
|
const char kCapturedSurfaceControlDescription[] =
|
||||||
|
@@ -570,9 +570,6 @@ extern const char kGetUserMediaDeferredDeviceSettingsSelectionDescription[];
|
|||||||
extern const char kCanvasHibernationName[];
|
extern const char kCanvasHibernationName[];
|
||||||
extern const char kCanvasHibernationDescription[];
|
extern const char kCanvasHibernationDescription[];
|
||||||
|
|
||||||
extern const char kCanvasOopRasterizationName[];
|
|
||||||
extern const char kCanvasOopRasterizationDescription[];
|
|
||||||
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
#if !BUILDFLAG(IS_ANDROID)
|
||||||
extern const char kCapturedSurfaceControlName[];
|
extern const char kCapturedSurfaceControlName[];
|
||||||
extern const char kCapturedSurfaceControlDescription[];
|
extern const char kCapturedSurfaceControlDescription[];
|
||||||
|
@@ -267,11 +267,4 @@ def MediaRecorderTestCases() -> List[ExpectedColorTestCase]:
|
|||||||
video_expected_colors,
|
video_expected_colors,
|
||||||
crop_action=ca.NonWhiteContentCropAction(),
|
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,
|
matching_algorithm=match_algo,
|
||||||
timeout=timeout),
|
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
|
# Safeguard against repeating crbug.com/1371308
|
||||||
PixelTestPage(
|
PixelTestPage(
|
||||||
'pixel_video_from_canvas_2d.html',
|
'pixel_video_from_canvas_2d.html',
|
||||||
|
@@ -96,7 +96,6 @@
|
|||||||
|
|
||||||
# ExpectedColor_MediaRecorderFromVideoElement fails when protected memory is used.
|
# 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_MediaRecorderFromVideoElement [ Skip ]
|
||||||
crbug.com/1417006 [ fuchsia web-engine-shell ] ExpectedColor_MediaRecorderFromVideoElementWithOoprCanvasDisabled [ Skip ]
|
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# Temporary Skip Expectations #
|
# 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.
|
# 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
|
# Longstanding flaking test - page reported failure
|
||||||
crbug.com/40877266 [ android android-shield-android-tv ] ExpectedColor_MediaRecorderFromVideoElement [ RetryOnFailure ]
|
crbug.com/40877266 [ android android-shield-android-tv ] ExpectedColor_MediaRecorderFromVideoElement [ RetryOnFailure ]
|
||||||
|
|
||||||
|
@@ -162,13 +162,6 @@ BASE_FEATURE(kDefaultEnableGpuRasterization,
|
|||||||
#endif
|
#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.
|
// Enables the use of MSAA in skia on Ice Lake and later intel architectures.
|
||||||
BASE_FEATURE(kEnableMSAAOnNewIntelGPUs,
|
BASE_FEATURE(kEnableMSAAOnNewIntelGPUs,
|
||||||
"EnableMSAAOnNewIntelGPUs",
|
"EnableMSAAOnNewIntelGPUs",
|
||||||
@@ -732,11 +725,7 @@ bool EnablePruneOldTransferCacheEntries() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool IsCanvasOopRasterizationEnabled() {
|
bool IsCanvasOopRasterizationEnabled() {
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
|
||||||
return true;
|
return true;
|
||||||
#else
|
|
||||||
return base::FeatureList::IsEnabled(kCanvasOopRasterization);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
@@ -38,10 +38,6 @@ GPU_EXPORT BASE_DECLARE_FEATURE(
|
|||||||
|
|
||||||
GPU_EXPORT BASE_DECLARE_FEATURE(kDefaultEnableGpuRasterization);
|
GPU_EXPORT BASE_DECLARE_FEATURE(kDefaultEnableGpuRasterization);
|
||||||
|
|
||||||
#if !BUILDFLAG(IS_ANDROID)
|
|
||||||
GPU_EXPORT BASE_DECLARE_FEATURE(kCanvasOopRasterization);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GPU_EXPORT BASE_DECLARE_FEATURE(kEnableMSAAOnNewIntelGPUs);
|
GPU_EXPORT BASE_DECLARE_FEATURE(kEnableMSAAOnNewIntelGPUs);
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
@@ -234,33 +234,6 @@ GpuFeatureStatus Get2DCanvasFeatureStatus(
|
|||||||
return kGpuFeatureStatusEnabled;
|
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(
|
GpuFeatureStatus GetAcceleratedVideoDecodeFeatureStatus(
|
||||||
const std::set<int>& blocklisted_features,
|
const std::set<int>& blocklisted_features,
|
||||||
bool use_swift_shader) {
|
bool use_swift_shader) {
|
||||||
@@ -600,9 +573,9 @@ GpuFeatureInfo ComputeGpuFeatureInfo(const GPUInfo& gpu_info,
|
|||||||
GetWebGPUFeatureStatus(blocklisted_features, use_swift_shader);
|
GetWebGPUFeatureStatus(blocklisted_features, use_swift_shader);
|
||||||
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS] =
|
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS] =
|
||||||
Get2DCanvasFeatureStatus(blocklisted_features, use_swift_shader);
|
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] =
|
gpu_feature_info.status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
|
||||||
GetCanvasOopRasterizationFeatureStatus(blocklisted_features,
|
kGpuFeatureStatusEnabled;
|
||||||
gpu_preferences);
|
|
||||||
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] =
|
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] =
|
||||||
GetAcceleratedVideoDecodeFeatureStatus(blocklisted_features,
|
GetAcceleratedVideoDecodeFeatureStatus(blocklisted_features,
|
||||||
use_swift_shader);
|
use_swift_shader);
|
||||||
|
Reference in New Issue
Block a user