• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 disableAnisotropicFiltering = {
43         "disableAnisotropicFiltering",
44         FeatureCategory::FrontendWorkarounds,
45         &members,
46     };
47 
48     FeatureInfo allowCompressedFormats = {
49         "allowCompressedFormats",
50         FeatureCategory::FrontendWorkarounds,
51         &members,
52     };
53 
54     FeatureInfo singleThreadedTextureDecompression = {
55         "singleThreadedTextureDecompression",
56         FeatureCategory::FrontendWorkarounds,
57         &members,
58     };
59 
60     FeatureInfo forceDepthAttachmentInitOnClear = {
61         "forceDepthAttachmentInitOnClear",
62         FeatureCategory::FrontendWorkarounds,
63         &members,
64     };
65 
66     FeatureInfo enableCaptureLimits = {
67         "enableCaptureLimits",
68         FeatureCategory::FrontendFeatures,
69         &members,
70     };
71 
72     FeatureInfo forceRobustResourceInit = {
73         "forceRobustResourceInit",
74         FeatureCategory::FrontendFeatures,
75         &members,
76     };
77 
78     FeatureInfo forceInitShaderVariables = {
79         "forceInitShaderVariables",
80         FeatureCategory::FrontendFeatures,
81         &members,
82     };
83 
84     FeatureInfo enableProgramBinaryForCapture = {
85         "enableProgramBinaryForCapture",
86         FeatureCategory::FrontendFeatures,
87         &members,
88     };
89 
90     FeatureInfo forceGlErrorChecking = {
91         "forceGlErrorChecking",
92         FeatureCategory::FrontendFeatures,
93         &members,
94     };
95 
96     FeatureInfo emulatePixelLocalStorage = {
97         "emulatePixelLocalStorage",
98         FeatureCategory::FrontendFeatures,
99         &members,
100     };
101 
102     FeatureInfo cacheCompiledShader = {
103         "cacheCompiledShader",
104         FeatureCategory::FrontendFeatures,
105         &members,
106     };
107 
108     FeatureInfo dumpShaderSource = {
109         "dumpShaderSource",
110         FeatureCategory::FrontendFeatures,
111         &members,
112     };
113 
114     FeatureInfo enableShaderSubstitution = {
115         "enableShaderSubstitution",
116         FeatureCategory::FrontendWorkarounds,
117         &members,
118     };
119 
120     FeatureInfo disableProgramCaching = {
121         "disableProgramCaching",
122         FeatureCategory::FrontendFeatures,
123         &members,
124     };
125 
126     FeatureInfo dumpTranslatedShaders = {
127         "dumpTranslatedShaders",
128         FeatureCategory::FrontendFeatures,
129         &members,
130     };
131 
132     FeatureInfo enableTranslatedShaderSubstitution = {
133         "enableTranslatedShaderSubstitution",
134         FeatureCategory::FrontendWorkarounds,
135         &members,
136     };
137 
138     FeatureInfo compileJobIsThreadSafe = {
139         "compileJobIsThreadSafe",
140         FeatureCategory::FrontendFeatures,
141         &members,
142     };
143 
144     FeatureInfo linkJobIsThreadSafe = {
145         "linkJobIsThreadSafe",
146         FeatureCategory::FrontendFeatures,
147         &members,
148     };
149 
150     FeatureInfo alwaysRunLinkSubJobsThreaded = {
151         "alwaysRunLinkSubJobsThreaded",
152         FeatureCategory::FrontendFeatures,
153         &members,
154     };
155 
156     FeatureInfo uncurrentEglSurfaceUponSurfaceDestroy = {
157         "uncurrentEglSurfaceUponSurfaceDestroy",
158         FeatureCategory::FrontendWorkarounds,
159         &members,
160     };
161 
162     FeatureInfo forceMinimumMaxVertexAttributes = {
163         "forceMinimumMaxVertexAttributes",
164         FeatureCategory::FrontendFeatures,
165         &members,
166     };
167 
168     FeatureInfo forceFlushAfterDrawcallUsingShadowmap = {
169         "forceFlushAfterDrawcallUsingShadowmap",
170         FeatureCategory::FrontendWorkarounds,
171         &members,
172     };
173 
174     FeatureInfo rejectWebglShadersWithUndefinedBehavior = {
175         "rejectWebglShadersWithUndefinedBehavior",
176         FeatureCategory::FrontendWorkarounds,
177         &members,
178     };
179 
180     FeatureInfo alwaysEnableEmulatedMultidrawExtensions = {
181         "alwaysEnableEmulatedMultidrawExtensions",
182         FeatureCategory::FrontendWorkarounds,
183         &members,
184     };
185 
186 };
187 
188 inline FrontendFeatures::FrontendFeatures()  = default;
189 inline FrontendFeatures::~FrontendFeatures() = default;
190 
191 }  // namespace angle
192 
193 #endif  // ANGLE_PLATFORM_AUTOGEN_FRONTENDFEATURES_H_
194