Commit 12232119 authored by Olli Etuaho's avatar Olli Etuaho Committed by Commit Bot

Add ANGLE backend flag to about:flags

The flag is only available on Windows and offers choices to use the
OpenGL, D3D9 or D3D11 backend.

TEST=manual test on Windows
BUG=chromium:693090

Change-Id: Ia9ce5d58a0658af513b070e564014398f35a243e
Reviewed-on: https://chromium-review.googlesource.com/1202203
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589480}
parent 4694c1d4
...@@ -361,6 +361,17 @@ const FeatureEntry::Choice kDefaultTileHeightChoices[] = { ...@@ -361,6 +361,17 @@ const FeatureEntry::Choice kDefaultTileHeightChoices[] = {
{flag_descriptions::kDefaultTileHeightVenti, switches::kDefaultTileHeight, {flag_descriptions::kDefaultTileHeightVenti, switches::kDefaultTileHeight,
"1024"}}; "1024"}};
#if defined(OS_WIN)
const FeatureEntry::Choice kUseAngleChoices[] = {
{flag_descriptions::kUseAngleDefault, "", ""},
{flag_descriptions::kUseAngleGL, switches::kUseANGLE,
gl::kANGLEImplementationOpenGLName},
{flag_descriptions::kUseAngleD3D11, switches::kUseANGLE,
gl::kANGLEImplementationD3D11Name},
{flag_descriptions::kUseAngleD3D9, switches::kUseANGLE,
gl::kANGLEImplementationD3D9Name}};
#endif
#if BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(ENABLE_DICE_SUPPORT)
const FeatureEntry::FeatureParam kAccountConsistencyDice[] = { const FeatureEntry::FeatureParam kAccountConsistencyDice[] = {
{kAccountConsistencyFeatureMethodParameter, {kAccountConsistencyFeatureMethodParameter,
...@@ -4436,6 +4447,12 @@ const FeatureEntry kFeatureEntries[] = { ...@@ -4436,6 +4447,12 @@ const FeatureEntry kFeatureEntries[] = {
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the // Histograms" in tools/metrics/histograms/README.md (run the
// AboutFlagsHistogramTest unit test to verify this process). // AboutFlagsHistogramTest unit test to verify this process).
#if defined(OS_WIN)
{"use-angle", flag_descriptions::kUseAngleName,
flag_descriptions::kUseAngleDescription, kOsWin,
MULTI_VALUE_TYPE(kUseAngleChoices)},
#endif
}; };
class FlagsStateSingleton { class FlagsStateSingleton {
......
...@@ -2941,6 +2941,19 @@ const char kTraceExportEventsToEtwDesription[] = ...@@ -2941,6 +2941,19 @@ const char kTraceExportEventsToEtwDesription[] =
"Windows (ETW) and can then be captured by tools such as UIForETW or " "Windows (ETW) and can then be captured by tools such as UIForETW or "
"Xperf."; "Xperf.";
const char kUseAngleName[] = "Choose ANGLE graphics backend";
const char kUseAngleDescription[] =
"Choose the graphics backend for ANGLE. D3D11 is used on most Windows "
"computers by default. Using the OpenGL driver as the graphics backend may "
"result in higher performance in some graphics-heavy applications, "
"particularly on NVIDIA GPUs. It can increase battery and memory usage of "
"video playback.";
const char kUseAngleDefault[] = "Default";
const char kUseAngleGL[] = "OpenGL";
const char kUseAngleD3D11[] = "D3D11";
const char kUseAngleD3D9[] = "D3D9";
const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API"; const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
const char kUseWinrtMidiApiDescription[] = const char kUseWinrtMidiApiDescription[] =
"Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 or " "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 or "
......
...@@ -1771,6 +1771,14 @@ extern const char kIncreaseInputAudioBufferSizeDescription[]; ...@@ -1771,6 +1771,14 @@ extern const char kIncreaseInputAudioBufferSizeDescription[];
extern const char kTraceExportEventsToEtwName[]; extern const char kTraceExportEventsToEtwName[];
extern const char kTraceExportEventsToEtwDesription[]; extern const char kTraceExportEventsToEtwDesription[];
extern const char kUseAngleName[];
extern const char kUseAngleDescription[];
extern const char kUseAngleDefault[];
extern const char kUseAngleGL[];
extern const char kUseAngleD3D11[];
extern const char kUseAngleD3D9[];
extern const char kUseWinrtMidiApiName[]; extern const char kUseWinrtMidiApiName[];
extern const char kUseWinrtMidiApiDescription[]; extern const char kUseWinrtMidiApiDescription[];
......
...@@ -29494,6 +29494,7 @@ from previous Chrome versions. ...@@ -29494,6 +29494,7 @@ from previous Chrome versions.
<int value="644189071" label="PermissionsBlacklist:enabled"/> <int value="644189071" label="PermissionsBlacklist:enabled"/>
<int value="646252875" label="ReadItLaterInMenu:enabled"/> <int value="646252875" label="ReadItLaterInMenu:enabled"/>
<int value="646738320" label="disable-gesture-editing"/> <int value="646738320" label="disable-gesture-editing"/>
<int value="647662142" label="use-angle"/>
<int value="649111851" label="MidiManagerCros:enabled"/> <int value="649111851" label="MidiManagerCros:enabled"/>
<int value="649508040" label="AutofillEnableCompanyName:enabled"/> <int value="649508040" label="AutofillEnableCompanyName:enabled"/>
<int value="651421878" label="VideoRotateToFullscreen:enabled"/> <int value="651421878" label="VideoRotateToFullscreen:enabled"/>
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