Use SwANGLE for WebGL on Linux and Windows
This CL changes the software renderer used as WebGL fallback from legacy SwiftShader GL to SwANGLE (ANGLE + SwiftShader Vulkan) on Windows and Linux. Bug: chromium:1209250 Change-Id: I90f7d78c457d1b529b0890bace11c2a0c42902fd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2896048 Reviewed-by: Peter Kvitek <kvitekp@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> Cr-Commit-Position: refs/heads/master@{#892225}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
cbe4171877
commit
afe6fcac77
content/browser/gpu
gpu/config
headless/public
@ -1187,9 +1187,11 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine(
|
||||
use_gl = browser_command_line->GetSwitchValueASCII(switches::kUseGL);
|
||||
break;
|
||||
case gpu::GpuMode::SWIFTSHADER: {
|
||||
// This setting makes WebGL run on legacy SwiftShader GL when true and
|
||||
// SwANGLE when false.
|
||||
bool legacy_software_gl = true;
|
||||
#if defined(OS_LINUX) || defined(OS_WIN)
|
||||
// This setting makes WebGL run on SwANGLE instead of SwiftShader GL.
|
||||
legacy_software_gl = false;
|
||||
#endif
|
||||
gl::SetSoftwareWebGLCommandLineSwitches(command_line, legacy_software_gl);
|
||||
} break;
|
||||
default:
|
||||
|
@ -739,9 +739,11 @@ bool EnableSwiftShaderIfNeeded(base::CommandLine* command_line,
|
||||
kGpuFeatureStatusEnabled ||
|
||||
gpu_feature_info.status_values[GPU_FEATURE_TYPE_ACCELERATED_GL] !=
|
||||
kGpuFeatureStatusEnabled) {
|
||||
// This setting makes WebGL run on legacy SwiftShader GL when true and
|
||||
// SwANGLE when false.
|
||||
bool legacy_software_gl = true;
|
||||
#if defined(OS_LINUX) || defined(OS_WIN)
|
||||
// This setting makes WebGL run on SwANGLE instead of SwiftShader GL.
|
||||
legacy_software_gl = false;
|
||||
#endif
|
||||
gl::SetSoftwareWebGLCommandLineSwitches(command_line, legacy_software_gl);
|
||||
return true;
|
||||
}
|
||||
|
@ -41,7 +41,12 @@ Options::Options(int argc, const char** argv)
|
||||
product_name_and_version(GetProductNameAndVersion()),
|
||||
user_agent(content::BuildUserAgentFromProduct(product_name_and_version)),
|
||||
window_size(kDefaultWindowSize),
|
||||
font_render_hinting(kDefaultFontRenderHinting) {}
|
||||
font_render_hinting(kDefaultFontRenderHinting) {
|
||||
#if defined(OS_LINUX) || defined(OS_WIN)
|
||||
gl_implementation = gl::kGLImplementationANGLEName;
|
||||
angle_implementation = gl::kANGLEImplementationSwiftShaderForWebGLName;
|
||||
#endif
|
||||
}
|
||||
|
||||
Options::Options(Options&& options) = default;
|
||||
|
||||
|
Reference in New Issue
Block a user