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 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_GL_GL_SWITCHES_H_
#define UI_GL_GL_SWITCHES_H_
// Defines all the command-line switches used by ui/gl.
#include <stddef.h>
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "ui/gl/gl_export.h"
namespace gl {
// The GL implementation names that can be passed to --use-gl.
GL_EXPORT extern const char kGLImplementationEGLName[];
GL_EXPORT extern const char kGLImplementationANGLEName[];
GL_EXPORT extern const char kGLImplementationMockName[];
GL_EXPORT extern const char kGLImplementationStubName[];
GL_EXPORT extern const char kGLImplementationDisabledName[];
GL_EXPORT extern const char kANGLEImplementationDefaultName[];
GL_EXPORT extern const char kANGLEImplementationD3D9Name[];
GL_EXPORT extern const char kANGLEImplementationD3D11Name[];
GL_EXPORT extern const char kANGLEImplementationD3D11on12Name[];
GL_EXPORT extern const char kANGLEImplementationD3D11WarpName[];
GL_EXPORT extern const char kANGLEImplementationD3D11WarpForWebGLName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLEGLName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLESName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLESEGLName[];
GL_EXPORT extern const char kANGLEImplementationNullName[];
GL_EXPORT extern const char kANGLEImplementationVulkanName[];
GL_EXPORT extern const char kANGLEImplementationSwiftShaderName[];
GL_EXPORT extern const char kANGLEImplementationSwiftShaderForWebGLName[];
GL_EXPORT extern const char kANGLEImplementationMetalName[];
GL_EXPORT extern const char kANGLEImplementationNoneName[];
GL_EXPORT extern const char kANGLEImplementationD3D11NULLName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLNULLName[];
GL_EXPORT extern const char kANGLEImplementationOpenGLESNULLName[];
GL_EXPORT extern const char kANGLEImplementationVulkanNULLName[];
GL_EXPORT extern const char kANGLEImplementationMetalNULLName[];
GL_EXPORT extern const char kCmdDecoderValidatingName[];
GL_EXPORT extern const char kCmdDecoderPassthroughName[];
GL_EXPORT extern const char kSwapChainFormatNV12[];
GL_EXPORT extern const char kSwapChainFormatYUY2[];
GL_EXPORT extern const char kSwapChainFormatBGRA[];
GL_EXPORT extern const char kSwapChainFormatP010[];
} // namespace gl
namespace switches {
GL_EXPORT extern const char kDisableGpuDriverBugWorkarounds[];
GL_EXPORT extern const char kDisableGpuVsync[];
GL_EXPORT extern const char kEnableGPUServiceLogging[];
GL_EXPORT extern const char kEnableGPUServiceTracing[];
GL_EXPORT extern const char kGpuNoContextLost[];
GL_EXPORT extern const char kUseANGLE[];
GL_EXPORT extern const char kUseCmdDecoder[];
GL_EXPORT extern const char kEnableANGLEFeatures[];
GL_EXPORT extern const char kDisableANGLEFeatures[];
GL_EXPORT extern const char kUseGL[];
GL_EXPORT extern const char kTestGLLib[];
GL_EXPORT extern const char kUseGpuInTests[];
GL_EXPORT extern const char kEnableSgiVideoSync[];
GL_EXPORT extern const char kDisableGLExtensions[];
GL_EXPORT extern const char kEnableSwapBuffersWithBounds[];
GL_EXPORT extern const char kDisableDirectComposition[];
GL_EXPORT extern const char kEnableDirectCompositionVideoOverlays[];
GL_EXPORT extern const char kUseAdapterLuid[];
GL_EXPORT extern const char kEnableUnsafeSwiftShader[];
GL_EXPORT extern const char kDirectCompositionVideoSwapChainFormat[];
// These flags are used by the test harness code, not passed in by users.
GL_EXPORT extern const char kDisableGLDrawingForTests[];
GL_EXPORT extern const char kOverrideUseSoftwareGLForTests[];
GL_EXPORT extern const char* const kGLSwitchesCopiedFromGpuProcessHost[];
GL_EXPORT extern const size_t kGLSwitchesCopiedFromGpuProcessHostNumSwitches;
#if BUILDFLAG(IS_ANDROID)
GL_EXPORT extern const char kDisableAndroidNativeFenceSyncForTesting[];
#endif
} // namespace switches
namespace features {
GL_EXPORT BASE_DECLARE_FEATURE(kDCompDebugVisualization);
GL_EXPORT BASE_DECLARE_FEATURE(kDCompTripleBufferRootSwapChain);
GL_EXPORT BASE_DECLARE_FEATURE(kDCompTripleBufferVideoSwapChain);
GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionSoftwareOverlays);
GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionLetterboxVideoOptimization);
GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionUnlimitedOverlays);
GL_EXPORT BASE_DECLARE_FEATURE(kEGLDualGPURendering);
GL_EXPORT BASE_DECLARE_FEATURE(kIntelVpSuperResolution);
GL_EXPORT BASE_DECLARE_FEATURE(kNvidiaVpSuperResolution);
GL_EXPORT BASE_DECLARE_FEATURE(kNvidiaVpTrueHDR);
GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEOpenGL);
GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEMetal);
GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEVulkan);
GL_EXPORT BASE_DECLARE_FEATURE(kTrackCurrentShaders);
GL_EXPORT BASE_DECLARE_FEATURE(kVulkanFromANGLE);
GL_EXPORT BASE_DECLARE_FEATURE(kDXGIWaitableSwapChain);
GL_EXPORT BASE_DECLARE_FEATURE(kGpuVsync);
GL_EXPORT extern const base::FeatureParam<int>
kDXGIWaitableSwapChainMaxQueuedFrames;
GL_EXPORT BASE_DECLARE_FEATURE(kDXGISwapChainPresentInterval0);
GL_EXPORT bool IsDefaultANGLEVulkan();
GL_EXPORT bool SupportsEGLDualGPURendering();
} // namespace features
#endif // UI_GL_GL_SWITCHES_H_
|