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 "ui/gl/gl_switches.h" 6 #include "base/basictypes.h" 7 8 namespace gfx { 9 10 const char kGLImplementationDesktopName[] = "desktop"; 11 const char kGLImplementationOSMesaName[] = "osmesa"; 12 const char kGLImplementationAppleName[] = "apple"; 13 const char kGLImplementationEGLName[] = "egl"; 14 const char kGLImplementationSwiftShaderName[] = "swiftshader"; 15 const char kGLImplementationMockName[] = "mock"; 16 17 } // namespace gfx 18 19 namespace switches { 20 21 // Disables use of D3D11. 22 const char kDisableD3D11[] = "disable-d3d11"; 23 24 // Stop the GPU from synchronizing on the vsync before presenting. 25 const char kDisableGpuVsync[] = "disable-gpu-vsync"; 26 27 // Turns on GPU logging (debug build only). 28 const char kEnableGPUServiceLogging[] = "enable-gpu-service-logging"; 29 const char kEnableGPUClientLogging[] = "enable-gpu-client-logging"; 30 31 // Turns on calling TRACE for every GL call. 32 const char kEnableGPUServiceTracing[] = "enable-gpu-service-tracing"; 33 34 // Select which implementation of GL the GPU process should use. Options are: 35 // desktop: whatever desktop OpenGL the user has installed (Linux and Mac 36 // default). 37 // egl: whatever EGL / GLES2 the user has installed (Windows default - actually 38 // ANGLE). 39 // osmesa: The OSMesa software renderer. 40 const char kUseGL[] = "use-gl"; 41 42 const char kSwiftShaderPath[] = "swiftshader-path"; 43 44 // Inform Chrome that a GPU context will not be lost in power saving mode, 45 // screen saving mode, etc. Note that this flag does not ensure that a GPU 46 // context will never be lost in any situations, say, a GPU reset. 47 const char kGpuNoContextLost[] = "gpu-no-context-lost"; 48 49 // Indicates whether the dual GPU switching is supported or not. 50 const char kSupportsDualGpus[] = "supports-dual-gpus"; 51 52 // Flag used for Linux tests: for desktop GL bindings, try to load this GL 53 // library first, but fall back to regular library if loading fails. 54 const char kTestGLLib[] = "test-gl-lib"; 55 56 // Use hardware gpu, if available, for tests. 57 const char kUseGpuInTests[] = "use-gpu-in-tests"; 58 59 // On Windows only: use the WARP software rasterizer in the GPU process. 60 const char kUseWarp[] = "use-warp"; 61 62 // Disables GL drawing operations which produce pixel output. With this 63 // the GL output will not be correct but tests will run faster. 64 const char kDisableGLDrawingForTests[] = "disable-gl-drawing-for-tests"; 65 66 // Forces the use of OSMesa instead of hardware gpu. 67 const char kOverrideUseGLWithOSMesaForTests[] = 68 "override-use-gl-with-osmesa-for-tests"; 69 70 // This is the list of switches passed from this file that are passed from the 71 // GpuProcessHost to the GPU Process. Add your switch to this list if you need 72 // to read it in the GPU process, else don't add it. 73 const char* kGLSwitchesCopiedFromGpuProcessHost[] = { 74 kDisableGpuVsync, 75 kDisableD3D11, 76 kEnableGPUServiceLogging, 77 kEnableGPUServiceTracing, 78 kGpuNoContextLost, 79 kDisableGLDrawingForTests, 80 kOverrideUseGLWithOSMesaForTests, 81 kUseWarp 82 }; 83 const int kGLSwitchesCopiedFromGpuProcessHostNumSwitches = 84 arraysize(kGLSwitchesCopiedFromGpuProcessHost); 85 86 } // namespace switches 87 88