gpu_switches.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "gpu/command_buffer/service/gpu_switches.h"
6#include "base/basictypes.h"
7
8namespace switches {
9
10// Always return success when compiling a shader. Linking will still fail.
11const char kCompileShaderAlwaysSucceeds[]   = "compile-shader-always-succeeds";
12
13// Disable the GL error log limit.
14const char kDisableGLErrorLimit[]           = "disable-gl-error-limit";
15
16// Disable the GLSL translator.
17const char kDisableGLSLTranslator[]         = "disable-glsl-translator";
18
19// Disable workarounds for various GPU driver bugs.
20const char kDisableGpuDriverBugWorkarounds[] =
21    "disable-gpu-driver-bug-workarounds";
22
23// Turn on Logging GPU commands.
24const char kEnableGPUCommandLogging[]       = "enable-gpu-command-logging";
25
26// Turn on Calling GL Error after every command.
27const char kEnableGPUDebugging[]            = "enable-gpu-debugging";
28
29// Turn off gpu program caching
30const char kDisableGpuProgramCache[]        = "disable-gpu-program-cache";
31
32// Enforce GL minimums.
33const char kEnforceGLMinimums[]             = "enforce-gl-minimums";
34
35// Force the use of a workaround for graphics hangs seen on certain
36// Mac OS systems. Enabled by default (and can't be disabled) on known
37// affected systems.
38const char kForceGLFinishWorkaround[]       = "force-glfinish-workaround";
39
40// Sets the total amount of memory that may be allocated for GPU resources
41const char kForceGpuMemAvailableMb[]        = "force-gpu-mem-available-mb";
42
43// Sets the maximum size of the in-memory gpu program cache, in kb
44const char kGpuProgramCacheSizeKb[]         = "gpu-program-cache-size-kb";
45
46const char kTraceGL[]       = "trace-gl";
47
48const char* kGpuSwitches[] = {
49  kCompileShaderAlwaysSucceeds,
50  kDisableGLErrorLimit,
51  kDisableGLSLTranslator,
52  kDisableGpuDriverBugWorkarounds,
53  kEnableGPUCommandLogging,
54  kEnableGPUDebugging,
55  kDisableGpuProgramCache,
56  kEnforceGLMinimums,
57  kForceGLFinishWorkaround,
58  kForceGpuMemAvailableMb,
59  kGpuProgramCacheSizeKb,
60  kTraceGL,
61};
62
63const int kNumGpuSwitches = arraysize(kGpuSwitches);
64
65}  // namespace switches
66