1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "gpu/command_buffer/service/gpu_switches.h"
#include "base/macros.h"
namespace switches {
// Always return success when compiling a shader. Linking will still fail.
const char kCompileShaderAlwaysSucceeds[] = "compile-shader-always-succeeds";
// Disable the GL error log limit.
const char kDisableGLErrorLimit[] = "disable-gl-error-limit";
// Disable the GLSL translator.
const char kDisableGLSLTranslator[] = "disable-glsl-translator";
// Disable workarounds for various GPU driver bugs.
const char kDisableGpuDriverBugWorkarounds[] =
"disable-gpu-driver-bug-workarounds";
// Turn off user-defined name hashing in shaders.
const char kDisableShaderNameHashing[] = "disable-shader-name-hashing";
// Turn on Logging GPU commands.
const char kEnableGPUCommandLogging[] = "enable-gpu-command-logging";
// Turn on Calling GL Error after every command.
const char kEnableGPUDebugging[] = "enable-gpu-debugging";
// Enable GPU service logging. Note: This is the same switch as the one in
// gl_switches.cc. It's defined here again to avoid dependencies between
// dlls.
const char kEnableGPUServiceLoggingGPU[] = "enable-gpu-service-logging";
// Turn off gpu program caching
const char kDisableGpuProgramCache[] = "disable-gpu-program-cache";
// Enforce GL minimums.
const char kEnforceGLMinimums[] = "enforce-gl-minimums";
// Sets the total amount of memory that may be allocated for GPU resources
const char kForceGpuMemAvailableMb[] = "force-gpu-mem-available-mb";
// Sets the maximum size of the in-memory gpu program cache, in kb
const char kGpuProgramCacheSizeKb[] = "gpu-program-cache-size-kb";
// Disables the GPU shader on disk cache.
const char kDisableGpuShaderDiskCache[] = "disable-gpu-shader-disk-cache";
// Allows async texture uploads (off main thread) via GL context sharing.
const char kEnableShareGroupAsyncTextureUpload[] =
"enable-share-group-async-texture-upload";
// Enable WebGL subscribe uniform extension.
const char kEnableSubscribeUniformExtension[] =
"enable-subscribe-uniform-extension";
// Simulates shared textures when share groups are not available. Not available
// everywhere.
const char kEnableThreadedTextureMailboxes[] =
"enable-threaded-texture-mailboxes";
// Include ANGLE's intermediate representation (AST) output in shader
// compilation info logs.
const char kGLShaderIntermOutput[] = "gl-shader-interm-output";
// Emulate ESSL lowp and mediump float precisions by mutating the shaders to
// round intermediate values in ANGLE.
const char kEmulateShaderPrecision[] = "emulate-shader-precision";
// Enables using path rendering implementation implemented currently
// in NV_path_rendering OpenGL extension. Requires compatible hardware
// and driver. This is used in GPU rasterization.
const char kEnableGLPathRendering[] = "enable-gl-path-rendering";
const char* kGpuSwitches[] = {
kCompileShaderAlwaysSucceeds,
kDisableGLErrorLimit,
kDisableGLSLTranslator,
kDisableGpuDriverBugWorkarounds,
kDisableShaderNameHashing,
kEnableGPUCommandLogging,
kEnableGPUDebugging,
kEnableGPUServiceLoggingGPU,
kDisableGpuProgramCache,
kEnforceGLMinimums,
kForceGpuMemAvailableMb,
kGpuDriverBugWorkarounds,
kGpuProgramCacheSizeKb,
kDisableGpuShaderDiskCache,
kEnableShareGroupAsyncTextureUpload,
kEnableSubscribeUniformExtension,
kGLShaderIntermOutput,
kEmulateShaderPrecision,
kEnableGLPathRendering,
};
const int kNumGpuSwitches = arraysize(kGpuSwitches);
} // namespace switches
|