blob: 087c5946673b1f5d719ee516b2c2b5d424dd7858 [file] [log] [blame]
ericrk41a1579e2017-02-10 20:56:281// Copyright 2017 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#include "gpu/config/gpu_finch_features.h"
5
ericrk41a1579e2017-02-10 20:56:286namespace features {
Maggie Chen1ecb0742018-11-28 07:27:377#if defined(OS_ANDROID)
8// Use android AImageReader when playing videos with MediaPlayer.
9const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
10 base::FEATURE_DISABLED_BY_DEFAULT};
11
12// Use android SurfaceControl API for managing display compositor's buffer queue
13// and using overlays on Android.
14// Note that the feature only works with VizDisplayCompositor enabled.
15const base::Feature kAndroidSurfaceControl{"AndroidSurfaceControl",
16 base::FEATURE_DISABLED_BY_DEFAULT};
17#endif
ericrk41a1579e2017-02-10 20:56:2818
19// Enable GPU Rasterization by default. This can still be overridden by
20// --force-gpu-rasterization or --disable-gpu-rasterization.
Eric Karlba990bf2018-01-03 00:19:3521#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_CHROMEOS) || \
22 defined(OS_ANDROID)
23// DefaultEnableGpuRasterization has launched on Mac, Windows, ChromeOS, and
24// Android.
ericrk41a1579e2017-02-10 20:56:2825const base::Feature kDefaultEnableGpuRasterization{
26 "DefaultEnableGpuRasterization", base::FEATURE_ENABLED_BY_DEFAULT};
27#else
28const base::Feature kDefaultEnableGpuRasterization{
29 "DefaultEnableGpuRasterization", base::FEATURE_DISABLED_BY_DEFAULT};
30#endif
31
Adrienne Walkerc87477e2018-06-06 22:28:2132// Enable out of process rasterization by default. This can still be overridden
33// by --enable-oop-rasterization or --disable-oop-rasterization.
34const base::Feature kDefaultEnableOopRasterization{
35 "DefaultEnableOopRasterization", base::FEATURE_DISABLED_BY_DEFAULT};
36
Geoff Lang94cb9462017-10-25 21:54:0237// Use the passthrough command decoder by default. This can be overridden with
38// the --use-cmd-decoder=passthrough or --use-cmd-decoder=validating flags.
39const base::Feature kDefaultPassthroughCommandDecoder{
Sunny Sachanandani9456e9b2018-09-08 02:30:5340 "DefaultPassthroughCommandDecoder", base::FEATURE_DISABLED_BY_DEFAULT};
Geoff Lang94cb9462017-10-25 21:54:0241
Vikas Soni882982e12018-08-05 19:50:5842
Sunny Sachanandani729164b2018-08-10 00:45:1443// Overrides preferred overlay format to NV12 instead of YUY2.
44const base::Feature kDirectCompositionPreferNV12Overlays{
Sunny Sachanandani8f9ee582018-11-28 03:57:5145 "DirectCompositionPreferNV12Overlays", base::FEATURE_ENABLED_BY_DEFAULT};
Sunny Sachanandani729164b2018-08-10 00:45:1446
Maggie Chen132c38e52019-02-04 22:18:4747// Allow putting a video swapchain underneath the main swapchain, so overlays
48// can be used even if there are controls on top of the video. It can be
49// enabled only when overlay is supported.
50const base::Feature kDirectCompositionUnderlays{
51 "DirectCompositionUnderlays", base::FEATURE_DISABLED_BY_DEFAULT};
52
Maggie Chen1ecb0742018-11-28 07:27:3753// Causes us to use the SharedImageManager, removing support for the old
54// mailbox system. Any consumers of the GPU process using the old mailbox
55// system will experience undefined results.
56const base::Feature kSharedImageManager{"SharedImageManager",
57 base::FEATURE_DISABLED_BY_DEFAULT};
58
59// For Windows only. Use overlay swapchain to present software protected videos
60// for all GPUs
61const base::Feature kUseDCOverlaysForSoftwareProtectedVideo{
62 "UseDCOverlaysForSoftwareProtectedVideo",
63 base::FEATURE_DISABLED_BY_DEFAULT};
64
Sunny Sachanandani8918dc62018-12-05 02:01:5165// Use decode swap chain created from compatible video decoder buffers.
66const base::Feature kDirectCompositionUseNV12DecodeSwapChain{
67 "DirectCompositionUseNV12DecodeSwapChain",
68 base::FEATURE_DISABLED_BY_DEFAULT};
69
Andres Calderon Jaramillo605253d2018-09-05 15:46:3570// Controls the decode acceleration of JPEG images (as opposed to camera
71// captures) in Chrome OS using the VA-API.
72// TODO(andrescj): remove or enable by default in Chrome OS once
73// https://crbug.com/868400 is resolved.
74const base::Feature kVaapiJpegImageDecodeAcceleration{
75 "VaapiJpegImageDecodeAcceleration", base::FEATURE_DISABLED_BY_DEFAULT};
76
ericrk41a1579e2017-02-10 20:56:2877} // namespace features