1 // Copyright 2020 The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // This file maintain a list of advanced features that can be switched on/off
16 // with feature control.
17 //
18 // The features in this file should be independent from system image builds.
19 // To add system image dependent features, please add them to
20 // FeatureControlDefGuest.h
21 //
22 // To add a new item, please add a new line in the following format:
23 // FEATURE_CONTROL_ITEM(YOUR_FEATURE_NAME , enum)
24 // You will also need to edit android/data/advancedFeatures.ini to set its
25 // default value.
26 
27 // This file is supposed to be included multiple times. It should not have
28 // #pragma once here.
29 
30 FEATURE_CONTROL_ITEM(GLPipeChecksum, 0)
31 FEATURE_CONTROL_ITEM(ForceANGLE, 1)
32 FEATURE_CONTROL_ITEM(ForceSwiftshader, 2)
33 // TODO(lpetrut): ensure that WHPX can be requested as an advanced feature.
34 // We may rename the feature name from HYPERV to WHPX as that's the accelerator
35 // name.
36 FEATURE_CONTROL_ITEM(HYPERV, 3)
37 FEATURE_CONTROL_ITEM(HVF, 4)
38 FEATURE_CONTROL_ITEM(KVM, 5)
39 FEATURE_CONTROL_ITEM(HAXM, 6)
40 FEATURE_CONTROL_ITEM(FastSnapshotV1, 7)
41 FEATURE_CONTROL_ITEM(ScreenRecording, 8)
42 FEATURE_CONTROL_ITEM(VirtualScene, 9)
43 FEATURE_CONTROL_ITEM(VideoPlayback, 10)
44 FEATURE_CONTROL_ITEM(GenericSnapshotsUI, 11)
45 FEATURE_CONTROL_ITEM(AllowSnapshotMigration, 12)
46 FEATURE_CONTROL_ITEM(WindowsOnDemandSnapshotLoad, 13)
47 FEATURE_CONTROL_ITEM(WindowsHypervisorPlatform, 14)
48 FEATURE_CONTROL_ITEM(LocationUiV2, 15)
49 FEATURE_CONTROL_ITEM(SnapshotAdb, 16)
50 FEATURE_CONTROL_ITEM(QuickbootFileBacked, 17)
51 FEATURE_CONTROL_ITEM(Offworld, 18)
52 FEATURE_CONTROL_ITEM(OffworldDisableSecurity, 19)
53 FEATURE_CONTROL_ITEM(OnDemandSnapshotLoad, 20)
54 FEATURE_CONTROL_ITEM(Vulkan, 21)
55 FEATURE_CONTROL_ITEM(MacroUi, 22)
56 FEATURE_CONTROL_ITEM(IpDisconnectOnLoad, 23)
57 FEATURE_CONTROL_ITEM(HasSharedSlotsHostMemoryAllocator, 24)
58 FEATURE_CONTROL_ITEM(CarVHalTable, 25)
59 FEATURE_CONTROL_ITEM(VulkanSnapshots, 26)
60 FEATURE_CONTROL_ITEM(DynamicMediaProfile, 27)
61 FEATURE_CONTROL_ITEM(CarVhalReplay, 28)
62 FEATURE_CONTROL_ITEM(NoDelayCloseColorBuffer, 29)
63 FEATURE_CONTROL_ITEM(NoDeviceFrame, 30)
64 FEATURE_CONTROL_ITEM(VirtioGpuNativeSync, 31)
65 FEATURE_CONTROL_ITEM(VulkanShaderFloat16Int8, 32)
66 FEATURE_CONTROL_ITEM(CarRotary, 33)
67 FEATURE_CONTROL_ITEM(TvRemote, 34)
68 FEATURE_CONTROL_ITEM(NativeTextureDecompression, 35)
69 FEATURE_CONTROL_ITEM(GuestUsesAngle, 36)
70 FEATURE_CONTROL_ITEM(VulkanNativeSwapchain, 37)
71 FEATURE_CONTROL_ITEM(VirtioGpuFenceContexts, 38)
72 FEATURE_CONTROL_ITEM(AsyncComposeSupport, 39)
73 FEATURE_CONTROL_ITEM(NoDraw, 40)
74 FEATURE_CONTROL_ITEM(MigratableSnapshotSave, 41)
75 FEATURE_CONTROL_ITEM(VulkanAstcLdrEmulation, 42)
76 FEATURE_CONTROL_ITEM(VulkanYcbcrEmulation, 43)
77 FEATURE_CONTROL_ITEM(VulkanEtc2Emulation, 44)
78 FEATURE_CONTROL_ITEM(ExternalBlob, 45)
79 FEATURE_CONTROL_ITEM(SystemBlob, 46)
80 FEATURE_CONTROL_ITEM(NetsimWebUi, 93)
81 FEATURE_CONTROL_ITEM(NetsimCliUi, 94)
82 FEATURE_CONTROL_ITEM(WiFiPacketStream, 95)
83 FEATURE_CONTROL_ITEM(VulkanAllocateDeviceMemoryOnly, 98)
84 FEATURE_CONTROL_ITEM(VulkanAllocateHostMemory, 99)
85 FEATURE_CONTROL_ITEM(QtRawKeyboardInput, 100)
86