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 8 namespace switches { 9 10 // Always return success when compiling a shader. Linking will still fail. 11 const char kCompileShaderAlwaysSucceeds[] = "compile-shader-always-succeeds"; 12 13 // Disable the GL error log limit. 14 const char kDisableGLErrorLimit[] = "disable-gl-error-limit"; 15 16 // Disable the GLSL translator. 17 const char kDisableGLSLTranslator[] = "disable-glsl-translator"; 18 19 // Disable workarounds for various GPU driver bugs. 20 const char kDisableGpuDriverBugWorkarounds[] = 21 "disable-gpu-driver-bug-workarounds"; 22 23 // Turn off user-defined name hashing in shaders. 24 const char kDisableShaderNameHashing[] = "disable-shader-name-hashing"; 25 26 // Turn on Logging GPU commands. 27 const char kEnableGPUCommandLogging[] = "enable-gpu-command-logging"; 28 29 // Turn on Calling GL Error after every command. 30 const char kEnableGPUDebugging[] = "enable-gpu-debugging"; 31 32 // Enable GPU service logging. Note: This is the same switch as the one in 33 // gl_switches.cc. It's defined here again to avoid dependencies between 34 // dlls. 35 const char kEnableGPUServiceLoggingGPU[] = "enable-gpu-service-logging"; 36 37 // Turn off gpu program caching 38 const char kDisableGpuProgramCache[] = "disable-gpu-program-cache"; 39 40 // Enforce GL minimums. 41 const char kEnforceGLMinimums[] = "enforce-gl-minimums"; 42 43 // Force the use of a workaround for graphics hangs seen on certain 44 // Mac OS systems. Enabled by default (and can't be disabled) on known 45 // affected systems. 46 const char kForceGLFinishWorkaround[] = "force-glfinish-workaround"; 47 48 // Sets the total amount of memory that may be allocated for GPU resources 49 const char kForceGpuMemAvailableMb[] = "force-gpu-mem-available-mb"; 50 51 // Force the synchronous copy path in compositing_iosurface_mac. 52 const char kForceSynchronousGLReadPixels[] = "force-synchronous-glreadpixels"; 53 54 // Pass a set of GpuDriverBugWorkaroundType ids, seperated by ','. 55 const char kGpuDriverBugWorkarounds[] = "gpu-driver-bug-workarounds"; 56 57 // Sets the maximum size of the in-memory gpu program cache, in kb 58 const char kGpuProgramCacheSizeKb[] = "gpu-program-cache-size-kb"; 59 60 const char kTraceGL[] = "trace-gl"; 61 62 // Disables the GPU shader on disk cache. 63 const char kDisableGpuShaderDiskCache[] = "disable-gpu-shader-disk-cache"; 64 65 // Allows async texture uploads (off main thread) via GL context sharing. 66 const char kEnableShareGroupAsyncTextureUpload[] = 67 "enable-share-group-async-texture-upload"; 68 69 const char* kGpuSwitches[] = { 70 kCompileShaderAlwaysSucceeds, 71 kDisableGLErrorLimit, 72 kDisableGLSLTranslator, 73 kDisableGpuDriverBugWorkarounds, 74 kDisableShaderNameHashing, 75 kEnableGPUCommandLogging, 76 kEnableGPUDebugging, 77 kEnableGPUServiceLoggingGPU, 78 kDisableGpuProgramCache, 79 kEnforceGLMinimums, 80 kForceGLFinishWorkaround, 81 kForceGpuMemAvailableMb, 82 kForceSynchronousGLReadPixels, 83 kGpuDriverBugWorkarounds, 84 kGpuProgramCacheSizeKb, 85 kTraceGL, 86 kDisableGpuShaderDiskCache, 87 kEnableShareGroupAsyncTextureUpload, 88 }; 89 90 const int kNumGpuSwitches = arraysize(kGpuSwitches); 91 92 } // namespace switches 93