xref: /aosp_15_r20/external/angle/include/platform/autogen/FrontendFeatures_autogen.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_features.py using data from frontend_features.json.
3 //
4 // Copyright 2022 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // FrontendFeatures_autogen.h: Features/workarounds for driver bugs and other behaviors seen
9 // on all platforms.
10 
11 #ifndef ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
12 #define ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
13 
14 #include "platform/Feature.h"
15 
16 namespace angle
17 {
18 
19 struct FrontendFeatures : FeatureSetBase
20 {
21     FrontendFeatures();
22     ~FrontendFeatures();
23 
24     FeatureInfo loseContextOnOutOfMemory = {
25         "loseContextOnOutOfMemory",
26         FeatureCategory::FrontendWorkarounds,
27         &members,
28     };
29 
30     FeatureInfo disableProgramCachingForTransformFeedback = {
31         "disableProgramCachingForTransformFeedback",
32         FeatureCategory::FrontendWorkarounds,
33         &members,
34     };
35 
36     FeatureInfo disableProgramBinary = {
37         "disableProgramBinary",
38         FeatureCategory::FrontendFeatures,
39         &members,
40     };
41 
42     FeatureInfo disableDrawBuffersIndexed = {
43         "disableDrawBuffersIndexed",
44         FeatureCategory::FrontendFeatures,
45         &members,
46     };
47 
48     FeatureInfo disableAnisotropicFiltering = {
49         "disableAnisotropicFiltering",
50         FeatureCategory::FrontendWorkarounds,
51         &members,
52     };
53 
54     FeatureInfo allowCompressedFormats = {
55         "allowCompressedFormats",
56         FeatureCategory::FrontendWorkarounds,
57         &members,
58     };
59 
60     FeatureInfo singleThreadedTextureDecompression = {
61         "singleThreadedTextureDecompression",
62         FeatureCategory::FrontendWorkarounds,
63         &members,
64     };
65 
66     FeatureInfo forceDepthAttachmentInitOnClear = {
67         "forceDepthAttachmentInitOnClear",
68         FeatureCategory::FrontendWorkarounds,
69         &members,
70     };
71 
72     FeatureInfo enableCaptureLimits = {
73         "enableCaptureLimits",
74         FeatureCategory::FrontendFeatures,
75         &members,
76     };
77 
78     FeatureInfo forceRobustResourceInit = {
79         "forceRobustResourceInit",
80         FeatureCategory::FrontendFeatures,
81         &members,
82     };
83 
84     FeatureInfo forceInitShaderVariables = {
85         "forceInitShaderVariables",
86         FeatureCategory::FrontendFeatures,
87         &members,
88     };
89 
90     FeatureInfo enableProgramBinaryForCapture = {
91         "enableProgramBinaryForCapture",
92         FeatureCategory::FrontendFeatures,
93         &members,
94     };
95 
96     FeatureInfo forceGlErrorChecking = {
97         "forceGlErrorChecking",
98         FeatureCategory::FrontendFeatures,
99         &members,
100     };
101 
102     FeatureInfo emulatePixelLocalStorage = {
103         "emulatePixelLocalStorage",
104         FeatureCategory::FrontendFeatures,
105         &members,
106     };
107 
108     FeatureInfo cacheCompiledShader = {
109         "cacheCompiledShader",
110         FeatureCategory::FrontendFeatures,
111         &members,
112     };
113 
114     FeatureInfo dumpShaderSource = {
115         "dumpShaderSource",
116         FeatureCategory::FrontendFeatures,
117         &members,
118     };
119 
120     FeatureInfo enableShaderSubstitution = {
121         "enableShaderSubstitution",
122         FeatureCategory::FrontendWorkarounds,
123         &members,
124     };
125 
126     FeatureInfo disableProgramCaching = {
127         "disableProgramCaching",
128         FeatureCategory::FrontendFeatures,
129         &members,
130     };
131 
132     FeatureInfo dumpTranslatedShaders = {
133         "dumpTranslatedShaders",
134         FeatureCategory::FrontendFeatures,
135         &members,
136     };
137 
138     FeatureInfo enableTranslatedShaderSubstitution = {
139         "enableTranslatedShaderSubstitution",
140         FeatureCategory::FrontendWorkarounds,
141         &members,
142     };
143 
144     FeatureInfo compileJobIsThreadSafe = {
145         "compileJobIsThreadSafe",
146         FeatureCategory::FrontendFeatures,
147         &members,
148     };
149 
150     FeatureInfo linkJobIsThreadSafe = {
151         "linkJobIsThreadSafe",
152         FeatureCategory::FrontendFeatures,
153         &members,
154     };
155 
156     FeatureInfo alwaysRunLinkSubJobsThreaded = {
157         "alwaysRunLinkSubJobsThreaded",
158         FeatureCategory::FrontendFeatures,
159         &members,
160     };
161 
162     FeatureInfo uncurrentEglSurfaceUponSurfaceDestroy = {
163         "uncurrentEglSurfaceUponSurfaceDestroy",
164         FeatureCategory::FrontendWorkarounds,
165         &members,
166     };
167 
168     FeatureInfo forceMinimumMaxVertexAttributes = {
169         "forceMinimumMaxVertexAttributes",
170         FeatureCategory::FrontendFeatures,
171         &members,
172     };
173 
174     FeatureInfo forceFlushAfterDrawcallUsingShadowmap = {
175         "forceFlushAfterDrawcallUsingShadowmap",
176         FeatureCategory::FrontendWorkarounds,
177         &members,
178     };
179 
180     FeatureInfo rejectWebglShadersWithUndefinedBehavior = {
181         "rejectWebglShadersWithUndefinedBehavior",
182         FeatureCategory::FrontendWorkarounds,
183         &members,
184     };
185 
186     FeatureInfo alwaysEnableEmulatedMultidrawExtensions = {
187         "alwaysEnableEmulatedMultidrawExtensions",
188         FeatureCategory::FrontendWorkarounds,
189         &members,
190     };
191 
192 };
193 
194 inline FrontendFeatures::FrontendFeatures()  = default;
195 inline FrontendFeatures::~FrontendFeatures() = default;
196 
197 }  // namespace angle
198 
199 #endif  // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
200