xref: /aosp_15_r20/external/angle/include/platform/autogen/FeaturesD3D_autogen.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_features.py using data from d3d_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 // FeaturesD3D_autogen.h: Features and workarounds for D3D driver bugs and other issues.
9 
10 #ifndef ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_
11 #define ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_
12 
13 #include "platform/Feature.h"
14 
15 namespace angle
16 {
17 
18 struct FeaturesD3D : FeatureSetBase
19 {
20     FeaturesD3D();
21     ~FeaturesD3D();
22 
23     FeatureInfo borderColorSrgb = {
24         "borderColorSrgb",
25         FeatureCategory::D3DWorkarounds,
26         &members,
27     };
28 
29     FeatureInfo mrtPerfWorkaround = {
30         "mrtPerfWorkaround",
31         FeatureCategory::D3DWorkarounds,
32         &members,
33     };
34 
35     FeatureInfo setDataFasterThanImageUpload = {
36         "setDataFasterThanImageUpload",
37         FeatureCategory::D3DWorkarounds,
38         &members,
39     };
40 
41     FeatureInfo zeroMaxLodWorkaround = {
42         "zeroMaxLodWorkaround",
43         FeatureCategory::D3DWorkarounds,
44         &members,
45     };
46 
47     FeatureInfo depthStencilBlitExtraCopy = {
48         "depthStencilBlitExtraCopy",
49         FeatureCategory::D3DWorkarounds,
50         &members,
51     };
52 
53     FeatureInfo expandIntegerPowExpressions = {
54         "expandIntegerPowExpressions",
55         FeatureCategory::D3DWorkarounds,
56         &members,
57     };
58 
59     FeatureInfo flushAfterEndingTransformFeedback = {
60         "flushAfterEndingTransformFeedback",
61         FeatureCategory::D3DWorkarounds,
62         &members,
63     };
64 
65     FeatureInfo getDimensionsIgnoresBaseLevel = {
66         "getDimensionsIgnoresBaseLevel",
67         FeatureCategory::D3DWorkarounds,
68         &members,
69     };
70 
71     FeatureInfo preAddTexelFetchOffsets = {
72         "preAddTexelFetchOffsets",
73         FeatureCategory::D3DWorkarounds,
74         &members,
75     };
76 
77     FeatureInfo emulateTinyStencilTextures = {
78         "emulateTinyStencilTextures",
79         FeatureCategory::D3DWorkarounds,
80         &members,
81     };
82 
83     FeatureInfo disableB5G6R5Support = {
84         "disableB5G6R5Support",
85         FeatureCategory::D3DWorkarounds,
86         &members,
87     };
88 
89     FeatureInfo rewriteUnaryMinusOperator = {
90         "rewriteUnaryMinusOperator",
91         FeatureCategory::D3DWorkarounds,
92         &members,
93     };
94 
95     FeatureInfo emulateIsnanFloat = {
96         "emulateIsnanFloat",
97         FeatureCategory::D3DWorkarounds,
98         &members,
99     };
100 
101     FeatureInfo callClearTwice = {
102         "callClearTwice",
103         FeatureCategory::D3DWorkarounds,
104         &members,
105     };
106 
107     FeatureInfo useSystemMemoryForConstantBuffers = {
108         "useSystemMemoryForConstantBuffers",
109         FeatureCategory::D3DWorkarounds,
110         &members,
111     };
112 
113     FeatureInfo selectViewInGeometryShader = {
114         "selectViewInGeometryShader",
115         FeatureCategory::D3DWorkarounds,
116         &members,
117     };
118 
119     FeatureInfo addMockTextureNoRenderTarget = {
120         "addMockTextureNoRenderTarget",
121         FeatureCategory::D3DWorkarounds,
122         &members,
123     };
124 
125     FeatureInfo skipVSConstantRegisterZero = {
126         "skipVSConstantRegisterZero",
127         FeatureCategory::D3DWorkarounds,
128         &members,
129     };
130 
131     FeatureInfo forceAtomicValueResolution = {
132         "forceAtomicValueResolution",
133         FeatureCategory::D3DWorkarounds,
134         &members,
135     };
136 
137     FeatureInfo allowClearForRobustResourceInit = {
138         "allowClearForRobustResourceInit",
139         FeatureCategory::D3DWorkarounds,
140         &members,
141     };
142 
143     FeatureInfo allowTranslateUniformBlockToStructuredBuffer = {
144         "allowTranslateUniformBlockToStructuredBuffer",
145         FeatureCategory::D3DWorkarounds,
146         &members,
147     };
148 
149     FeatureInfo allowES3OnFL100 = {
150         "allowES3OnFL100",
151         FeatureCategory::D3DWorkarounds,
152         &members,
153     };
154 
155     FeatureInfo disableRasterizerOrderViews = {
156         "disableRasterizerOrderViews",
157         FeatureCategory::D3DWorkarounds,
158         &members,
159     };
160 
161     FeatureInfo enableTimestampQueries = {
162         "enableTimestampQueries",
163         FeatureCategory::D3DWorkarounds,
164         &members,
165     };
166 
167     FeatureInfo supportsNonConstantLoopIndexing = {
168         "supportsNonConstantLoopIndexing",
169         FeatureCategory::D3DWorkarounds,
170         &members,
171     };
172 
173 };
174 
175 inline FeaturesD3D::FeaturesD3D()  = default;
176 inline FeaturesD3D::~FeaturesD3D() = default;
177 
178 }  // namespace angle
179 
180 #endif  // ANGLE_PLATFORM_AUTOGEN_FEATURESD3D_H_
181