Commit 609bbed3 authored by Miguel Casas's avatar Miguel Casas Committed by Commit Bot

Canvas 2d: ignore RuntimeEnabledFeatures for LowLatency() cases

ToT looks at RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()
(enabled by default for Mac, disabled by default elsewhere) to use
ImageCHROMIUM for Canvas 2D contexts or not.  This is fine, but in
the LowLatency it doesn't make sense not use that features, we
always want to use ImageCHROMIUM (if we |want_acceleration| at all).

Hence this CL:
- ignores the RuntimeEnabledFeature if LowLatency (so all platforms
 will use ImageCHROMIUM for LowLatency -- if |want_acceleration|).
- removes the associated code in runtime_features.cc and about_flags.cc,
 essentially undoing my previous crrev.com/c/1056168. (So that Mac
 can still control the use of ImageCHROMIUM for non-low-latency cases).

Bonus cleanup: simplify |enable_web_gl_image_chromium| initialization.

Bug: 878405
Change-Id: I91c5422fad82b1146af02c193546f924bbe5448b
Reviewed-on: https://chromium-review.googlesource.com/1194473
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Reviewed-by: default avatarccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587930}
parent 464be768
...@@ -1333,7 +1333,7 @@ const FeatureEntry kFeatureEntries[] = { ...@@ -1333,7 +1333,7 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)}, SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
{"enable-canvas-2d-image-chromium", {"enable-canvas-2d-image-chromium",
flag_descriptions::kCanvas2DImageChromiumName, flag_descriptions::kCanvas2DImageChromiumName,
flag_descriptions::kCanvas2DImageChromiumDescription, kOsMac | kOsCrOS, flag_descriptions::kCanvas2DImageChromiumDescription, kOsMac,
FEATURE_VALUE_TYPE(features::kCanvas2DImageChromium)}, FEATURE_VALUE_TYPE(features::kCanvas2DImageChromium)},
{"disable-accelerated-2d-canvas", {"disable-accelerated-2d-canvas",
flag_descriptions::kAccelerated2dCanvasName, flag_descriptions::kAccelerated2dCanvasName,
......
...@@ -174,11 +174,6 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs( ...@@ -174,11 +174,6 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
!command_line.HasSwitch(switches::kDisable2dCanvasImageChromium) && !command_line.HasSwitch(switches::kDisable2dCanvasImageChromium) &&
!command_line.HasSwitch(switches::kDisableGpu) && !command_line.HasSwitch(switches::kDisableGpu) &&
base::FeatureList::IsEnabled(features::kCanvas2DImageChromium); base::FeatureList::IsEnabled(features::kCanvas2DImageChromium);
#elif defined(OS_CHROMEOS)
const bool enable_canvas_2d_image_chromium =
!command_line.HasSwitch(switches::kDisable2dCanvasImageChromium) &&
!command_line.HasSwitch(switches::kDisableGpu) &&
base::FeatureList::IsEnabled(features::kCanvas2DImageChromium);
#else #else
constexpr bool enable_canvas_2d_image_chromium = false; constexpr bool enable_canvas_2d_image_chromium = false;
#endif #endif
...@@ -186,17 +181,14 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs( ...@@ -186,17 +181,14 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
enable_canvas_2d_image_chromium); enable_canvas_2d_image_chromium);
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
bool enable_web_gl_image_chromium = command_line.HasSwitch( const bool enable_web_gl_image_chromium =
switches::kEnableGpuMemoryBufferCompositorResources) && command_line.HasSwitch(
switches::kEnableGpuMemoryBufferCompositorResources) &&
!command_line.HasSwitch(switches::kDisableWebGLImageChromium) && !command_line.HasSwitch(switches::kDisableWebGLImageChromium) &&
!command_line.HasSwitch(switches::kDisableGpu); !command_line.HasSwitch(switches::kDisableGpu) &&
base::FeatureList::IsEnabled(features::kWebGLImageChromium);
if (enable_web_gl_image_chromium) {
enable_web_gl_image_chromium =
base::FeatureList::IsEnabled(features::kWebGLImageChromium);
}
#else #else
bool enable_web_gl_image_chromium = const bool enable_web_gl_image_chromium =
command_line.HasSwitch(switches::kEnableWebGLImageChromium); command_line.HasSwitch(switches::kEnableWebGLImageChromium);
#endif #endif
WebRuntimeFeatures::EnableWebGLImageChromium(enable_web_gl_image_chromium); WebRuntimeFeatures::EnableWebGLImageChromium(enable_web_gl_image_chromium);
......
...@@ -102,7 +102,8 @@ CanvasRenderingContextHost::GetOrCreateCanvasResourceProviderImpl( ...@@ -102,7 +102,8 @@ CanvasRenderingContextHost::GetOrCreateCanvasResourceProviderImpl(
: CanvasResourceProvider::kSoftwareCompositedResourceUsage; : CanvasResourceProvider::kSoftwareCompositedResourceUsage;
const CanvasResourceProvider::PresentationMode presentation_mode = const CanvasResourceProvider::PresentationMode presentation_mode =
RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled() (RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled() ||
(LowLatencyEnabled() && want_acceleration))
? CanvasResourceProvider::kAllowImageChromiumPresentationMode ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
: CanvasResourceProvider::kDefaultPresentationMode; : CanvasResourceProvider::kDefaultPresentationMode;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment