@@ -98,6 +98,109 @@ static raw_ostream &operator<<(raw_ostream &OS,
98
98
return OS;
99
99
}
100
100
101
+ static const EnumEntry<SamplerFilter> SamplerFilterNames[] = {
102
+ {" MinMagMipPoint" , SamplerFilter::MinMagMipPoint},
103
+ {" MinMagPointMipLinear" , SamplerFilter::MinMagPointMipLinear},
104
+ {" MinPointMagLinearMipPoint" , SamplerFilter::MinPointMagLinearMipPoint},
105
+ {" MinPointMagMipLinear" , SamplerFilter::MinPointMagMipLinear},
106
+ {" MinLinearMagMipPoint" , SamplerFilter::MinLinearMagMipPoint},
107
+ {" MinLinearMagPointMipLinear" , SamplerFilter::MinLinearMagPointMipLinear},
108
+ {" MinMagLinearMipPoint" , SamplerFilter::MinMagLinearMipPoint},
109
+ {" MinMagMipLinear" , SamplerFilter::MinMagMipLinear},
110
+ {" Anisotropic" , SamplerFilter::Anisotropic},
111
+ {" ComparisonMinMagMipPoint" , SamplerFilter::ComparisonMinMagMipPoint},
112
+ {" ComparisonMinMagPointMipLinear" ,
113
+ SamplerFilter::ComparisonMinMagPointMipLinear},
114
+ {" ComparisonMinPointMagLinearMipPoint" ,
115
+ SamplerFilter::ComparisonMinPointMagLinearMipPoint},
116
+ {" ComparisonMinPointMagMipLinear" ,
117
+ SamplerFilter::ComparisonMinPointMagMipLinear},
118
+ {" ComparisonMinLinearMagMipPoint" ,
119
+ SamplerFilter::ComparisonMinLinearMagMipPoint},
120
+ {" ComparisonMinLinearMagPointMipLinear" ,
121
+ SamplerFilter::ComparisonMinLinearMagPointMipLinear},
122
+ {" ComparisonMinMagLinearMipPoint" ,
123
+ SamplerFilter::ComparisonMinMagLinearMipPoint},
124
+ {" ComparisonMinMagMipLinear" , SamplerFilter::ComparisonMinMagMipLinear},
125
+ {" ComparisonAnisotropic" , SamplerFilter::ComparisonAnisotropic},
126
+ {" MinimumMinMagMipPoint" , SamplerFilter::MinimumMinMagMipPoint},
127
+ {" MinimumMinMagPointMipLinear" , SamplerFilter::MinimumMinMagPointMipLinear},
128
+ {" MinimumMinPointMagLinearMipPoint" ,
129
+ SamplerFilter::MinimumMinPointMagLinearMipPoint},
130
+ {" MinimumMinPointMagMipLinear" , SamplerFilter::MinimumMinPointMagMipLinear},
131
+ {" MinimumMinLinearMagMipPoint" , SamplerFilter::MinimumMinLinearMagMipPoint},
132
+ {" MinimumMinLinearMagPointMipLinear" ,
133
+ SamplerFilter::MinimumMinLinearMagPointMipLinear},
134
+ {" MinimumMinMagLinearMipPoint" , SamplerFilter::MinimumMinMagLinearMipPoint},
135
+ {" MinimumMinMagMipLinear" , SamplerFilter::MinimumMinMagMipLinear},
136
+ {" MinimumAnisotropic" , SamplerFilter::MinimumAnisotropic},
137
+ {" MaximumMinMagMipPoint" , SamplerFilter::MaximumMinMagMipPoint},
138
+ {" MaximumMinMagPointMipLinear" , SamplerFilter::MaximumMinMagPointMipLinear},
139
+ {" MaximumMinPointMagLinearMipPoint" ,
140
+ SamplerFilter::MaximumMinPointMagLinearMipPoint},
141
+ {" MaximumMinPointMagMipLinear" , SamplerFilter::MaximumMinPointMagMipLinear},
142
+ {" MaximumMinLinearMagMipPoint" , SamplerFilter::MaximumMinLinearMagMipPoint},
143
+ {" MaximumMinLinearMagPointMipLinear" ,
144
+ SamplerFilter::MaximumMinLinearMagPointMipLinear},
145
+ {" MaximumMinMagLinearMipPoint" , SamplerFilter::MaximumMinMagLinearMipPoint},
146
+ {" MaximumMinMagMipLinear" , SamplerFilter::MaximumMinMagMipLinear},
147
+ {" MaximumAnisotropic" , SamplerFilter::MaximumAnisotropic},
148
+ };
149
+
150
+ static raw_ostream &operator <<(raw_ostream &OS, const SamplerFilter &Filter) {
151
+ printEnum (OS, Filter, ArrayRef (SamplerFilterNames));
152
+
153
+ return OS;
154
+ }
155
+
156
+ static const EnumEntry<TextureAddressMode> TextureAddressModeNames[] = {
157
+ {" Wrap" , TextureAddressMode::Wrap},
158
+ {" Mirror" , TextureAddressMode::Mirror},
159
+ {" Clamp" , TextureAddressMode::Clamp},
160
+ {" Border" , TextureAddressMode::Border},
161
+ {" MirrorOnce" , TextureAddressMode::MirrorOnce},
162
+ };
163
+
164
+ static raw_ostream &operator <<(raw_ostream &OS,
165
+ const TextureAddressMode &Address) {
166
+ printEnum (OS, Address, ArrayRef (TextureAddressModeNames));
167
+
168
+ return OS;
169
+ }
170
+
171
+ static const EnumEntry<ComparisonFunc> ComparisonFuncNames[] = {
172
+ {" Never" , ComparisonFunc::Never},
173
+ {" Less" , ComparisonFunc::Less},
174
+ {" Equal" , ComparisonFunc::Equal},
175
+ {" LessEqual" , ComparisonFunc::LessEqual},
176
+ {" Greater" , ComparisonFunc::Greater},
177
+ {" NotEqual" , ComparisonFunc::NotEqual},
178
+ {" GreaterEqual" , ComparisonFunc::GreaterEqual},
179
+ {" Always" , ComparisonFunc::Always},
180
+ };
181
+
182
+ static raw_ostream &operator <<(raw_ostream &OS,
183
+ const ComparisonFunc &CompFunc) {
184
+ printEnum (OS, CompFunc, ArrayRef (ComparisonFuncNames));
185
+
186
+ return OS;
187
+ }
188
+
189
+ static const EnumEntry<StaticBorderColor> StaticBorderColorNames[] = {
190
+ {" TransparentBlack" , StaticBorderColor::TransparentBlack},
191
+ {" OpaqueBlack" , StaticBorderColor::OpaqueBlack},
192
+ {" OpaqueWhite" , StaticBorderColor::OpaqueWhite},
193
+ {" OpaqueBlackUint" , StaticBorderColor::OpaqueBlackUint},
194
+ {" OpaqueWhiteUint" , StaticBorderColor::OpaqueWhiteUint},
195
+ };
196
+
197
+ static raw_ostream &operator <<(raw_ostream &OS,
198
+ const StaticBorderColor &BorderColor) {
199
+ printEnum (OS, BorderColor, ArrayRef (StaticBorderColorNames));
200
+
201
+ return OS;
202
+ }
203
+
101
204
static const EnumEntry<dxil::ResourceClass> ResourceClassNames[] = {
102
205
{" CBV" , dxil::ResourceClass::CBuffer},
103
206
{" SRV" , dxil::ResourceClass::SRV},
@@ -112,6 +215,20 @@ static raw_ostream &operator<<(raw_ostream &OS, const ClauseType &Type) {
112
215
return OS;
113
216
}
114
217
218
+ static const EnumEntry<RootDescriptorFlags> RootDescriptorFlagNames[] = {
219
+ {" DataVolatile" , RootDescriptorFlags::DataVolatile},
220
+ {" DataStaticWhileSetAtExecute" ,
221
+ RootDescriptorFlags::DataStaticWhileSetAtExecute},
222
+ {" DataStatic" , RootDescriptorFlags::DataStatic},
223
+ };
224
+
225
+ static raw_ostream &operator <<(raw_ostream &OS,
226
+ const RootDescriptorFlags &Flags) {
227
+ printFlags (OS, Flags, ArrayRef (RootDescriptorFlagNames));
228
+
229
+ return OS;
230
+ }
231
+
115
232
static const EnumEntry<DescriptorRangeFlags> DescriptorRangeFlagNames[] = {
116
233
{" DescriptorsVolatile" , DescriptorRangeFlags::DescriptorsVolatile},
117
234
{" DataVolatile" , DescriptorRangeFlags::DataVolatile},
@@ -182,6 +299,31 @@ raw_ostream &operator<<(raw_ostream &OS, const DescriptorTableClause &Clause) {
182
299
return OS;
183
300
}
184
301
302
+ raw_ostream &operator <<(raw_ostream &OS, const RootDescriptor &Descriptor) {
303
+ ClauseType Type = ClauseType (llvm::to_underlying (Descriptor.Type ));
304
+ OS << " Root" << Type << " (" << Descriptor.Reg
305
+ << " , space = " << Descriptor.Space
306
+ << " , visibility = " << Descriptor.Visibility
307
+ << " , flags = " << Descriptor.Flags << " )" ;
308
+
309
+ return OS;
310
+ }
311
+
312
+ raw_ostream &operator <<(raw_ostream &OS, const StaticSampler &Sampler) {
313
+ OS << " StaticSampler(" << Sampler.Reg << " , filter = " << Sampler.Filter
314
+ << " , addressU = " << Sampler.AddressU
315
+ << " , addressV = " << Sampler.AddressV
316
+ << " , addressW = " << Sampler.AddressW
317
+ << " , mipLODBias = " << Sampler.MipLODBias
318
+ << " , maxAnisotropy = " << Sampler.MaxAnisotropy
319
+ << " , comparisonFunc = " << Sampler.CompFunc
320
+ << " , borderColor = " << Sampler.BorderColor
321
+ << " , minLOD = " << Sampler.MinLOD << " , maxLOD = " << Sampler.MaxLOD
322
+ << " , space = " << Sampler.Space << " , visibility = " << Sampler.Visibility
323
+ << " )" ;
324
+ return OS;
325
+ }
326
+
185
327
void dumpRootElements (raw_ostream &OS, ArrayRef<RootElement> Elements) {
186
328
OS << " RootElements{" ;
187
329
bool First = true ;
0 commit comments