// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "gpu/config/gpu_switches.h" namespace switches { // Disable GPU rasterization, i.e. rasterize on the CPU only. // Overrides the kEnableGpuRasterization flag. const char kDisableGpuRasterization[] = …; // Disables mipmap generation in Skia. Used a workaround for select low memory // devices, see https://crbug.com/1138979 for details. const char kDisableMipmapGeneration[] = …; // Allow heuristics to determine when a layer tile should be drawn with the // Skia GPU backend. Only valid with GPU accelerated compositing. const char kEnableGpuRasterization[] = …; // Select a different set of GPU blocklist entries with the specified // test_group ID. const char kGpuBlocklistTestGroup[] = …; // Enable an extra set of GPU driver bug list entries with the specified // test_group ID. Note the default test group (group 0) is still active. const char kGpuDriverBugListTestGroup[] = …; // Passes encoded GpuPreferences to GPU process. const char kGpuPreferences[] = …; // Ignores GPU blocklist. const char kIgnoreGpuBlocklist[] = …; // Allows explicitly specifying the shader disk cache size for embedded devices. // Default value is 6MB. On Android, 2MB is default and 128KB for low-end // devices. const char kGpuDiskCacheSizeKB[] = …; // Disables the non-sandboxed GPU process for DX12 info collection const char kDisableGpuProcessForDX12InfoCollection[] = …; const char kEnableUnsafeWebGPU[] = …; // Enables WebGPU developer features which are not generally exposed to the web // platform. const char kEnableWebGPUDeveloperFeatures[] = …; // Enable validation layers in Dawn backends. const char kEnableDawnBackendValidation[] = …; // The adapter to use for WebGPU content. GPU_EXPORT extern const char kUseWebGPUAdapter[] = …; // The adapter selecting strategy related to GPUPowerPreference. GPU_EXPORT extern const char kUseWebGPUPowerPreference[] = …; // Force all WebGPU content to run in WebGPU Compatibility mode. const char kForceWebGPUCompat[] = …; // Set the Dawn features(toggles) enabled on the creation of Dawn devices. const char kEnableDawnFeatures[] = …; // Set the Dawn features(toggles) disabled on the creation of Dawn devices. const char kDisableDawnFeatures[] = …; // Start the non-sandboxed GPU process for DX12 and Vulkan info collection // immediately after the browser starts. The default is to delay for 120 // seconds. const char kNoDelayForDX12VulkanInfoCollection[] = …; // Enables measures of how long GPU Main Thread was blocked between SwapBuffers const char kEnableGpuBlockedTime[] = …; // Passes the active graphics vendor id from browser process to info collection // GPU process. const char kGpuVendorId[] = …; // Passes the active graphics device id from browser process to info collection // GPU process. const char kGpuDeviceId[] = …; // Passes the active graphics sub system id from browser process to info // collection GPU process. const char kGpuSubSystemId[] = …; // Passes the active graphics revision info from browser process to info // collection GPU process. const char kGpuRevision[] = …; // Passes the active graphics driver version from browser process to info // collection GPU process. const char kGpuDriverVersion[] = …; // Indicate that the this is being used by Android WebView and its draw functor // is using vulkan. const char kWebViewDrawFunctorUsesVulkan[] = …; // Enables using protected memory for vulkan resources. const char kEnableVulkanProtectedMemory[] = …; // Disables falling back to GL based hardware rendering if initializing Vulkan // fails. This is to allow tests to catch regressions in Vulkan. const char kDisableVulkanFallbackToGLForTesting[] = …; // Specifies the heap limit for Vulkan memory. // TODO(crbug.com/40161102): Remove this switch. const char kVulkanHeapMemoryLimitMb[] = …; // Specifies the sync CPU limit for total Vulkan memory. // TODO(crbug.com/40161102): Remove this switch. const char kVulkanSyncCpuMemoryLimitMb[] = …; // Crash Chrome if GPU process crashes. This is to force a test to fail when // GPU process crashes unexpectedly. const char kForceBrowserCrashOnGpuCrash[] = …; // Override value for the GPU watchdog timeout in seconds. const char kGpuWatchdogTimeoutSeconds[] = …; // Force the use of a separate EGL display for WebGL contexts. Used for testing // multi-GPU pathways on devices with only one valid GPU. const char kForceSeparateEGLDisplayForWebGLTesting[] = …; // Specify which backend to use for Skia Graphite - "dawn" (default) or "metal" // (only allowed on non-official developer builds). const char kSkiaGraphiteBackend[] = …; const char kSkiaGraphiteBackendDawn[] = …; const char kSkiaGraphiteBackendDawnD3D11[] = …; const char kSkiaGraphiteBackendDawnD3D12[] = …; const char kSkiaGraphiteBackendDawnMetal[] = …; const char kSkiaGraphiteBackendDawnSwiftshader[] = …; const char kSkiaGraphiteBackendDawnVulkan[] = …; const char kSkiaGraphiteBackendMetal[] = …; // Force disabling/enabling Skia Graphite. Disabling will take precedence over // enabling if both are specified. const char kDisableSkiaGraphite[] = …; const char kEnableSkiaGraphite[] = …; const char kShaderCachePath[] = …; // Try to use a redistributable DirectML.dll. Used for testing WebNN // against newer DirectML release before it is integrated into Windows OS. // Please see more info about DirectML releases at: // https://learn.microsoft.com/en-us/windows/ai/directml/dml-version-history const char kUseRedistributableDirectML[] = …; // Enables ThreadControllerWithMessagePumpImpl's TimeKeeper UMA metrics using // CrGpuMain as suffix. const char kEnableGpuMainTimeKeeperMetrics[] = …; } // namespace switches