// 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"; const char* kGpuSwitches[] = { kCompileShaderAlwaysSucceeds, kDisableGLErrorLimit, kDisableGLSLTranslator, kDisableGpuDriverBugWorkarounds, kDisableShaderNameHashing, kEnableGPUCommandLogging, kEnableGPUDebugging, kEnableGPUServiceLoggingGPU, kDisableGpuProgramCache, kEnforceGLMinimums, kForceGpuMemAvailableMb, kGpuDriverBugWorkarounds, kGpuProgramCacheSizeKb, kDisableGpuShaderDiskCache, kEnableShareGroupAsyncTextureUpload, kEnableSubscribeUniformExtension, kGLShaderIntermOutput, kEmulateShaderPrecision, }; const int kNumGpuSwitches = arraysize(kGpuSwitches); } // namespace switches