summaryrefslogtreecommitdiffstats
path: root/src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_names.cpp
blob: c6a00eccca0180c53d942b6b042f816b6f7772dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
#include "dxbc_names.h"

namespace dxvk {

  std::ostream& operator << (std::ostream& os, DxbcOpcode e) {
    switch (e) {
      ENUM_NAME(DxbcOpcode::Add);
      ENUM_NAME(DxbcOpcode::And);
      ENUM_NAME(DxbcOpcode::Break);
      ENUM_NAME(DxbcOpcode::Breakc);
      ENUM_NAME(DxbcOpcode::Call);
      ENUM_NAME(DxbcOpcode::Callc);
      ENUM_NAME(DxbcOpcode::Case);
      ENUM_NAME(DxbcOpcode::Continue);
      ENUM_NAME(DxbcOpcode::Continuec);
      ENUM_NAME(DxbcOpcode::Cut);
      ENUM_NAME(DxbcOpcode::Default);
      ENUM_NAME(DxbcOpcode::DerivRtx);
      ENUM_NAME(DxbcOpcode::DerivRty);
      ENUM_NAME(DxbcOpcode::Discard);
      ENUM_NAME(DxbcOpcode::Div);
      ENUM_NAME(DxbcOpcode::Dp2);
      ENUM_NAME(DxbcOpcode::Dp3);
      ENUM_NAME(DxbcOpcode::Dp4);
      ENUM_NAME(DxbcOpcode::Else);
      ENUM_NAME(DxbcOpcode::Emit);
      ENUM_NAME(DxbcOpcode::EmitThenCut);
      ENUM_NAME(DxbcOpcode::EndIf);
      ENUM_NAME(DxbcOpcode::EndLoop);
      ENUM_NAME(DxbcOpcode::EndSwitch);
      ENUM_NAME(DxbcOpcode::Eq);
      ENUM_NAME(DxbcOpcode::Exp);
      ENUM_NAME(DxbcOpcode::Frc);
      ENUM_NAME(DxbcOpcode::FtoI);
      ENUM_NAME(DxbcOpcode::FtoU);
      ENUM_NAME(DxbcOpcode::Ge);
      ENUM_NAME(DxbcOpcode::IAdd);
      ENUM_NAME(DxbcOpcode::If);
      ENUM_NAME(DxbcOpcode::IEq);
      ENUM_NAME(DxbcOpcode::IGe);
      ENUM_NAME(DxbcOpcode::ILt);
      ENUM_NAME(DxbcOpcode::IMad);
      ENUM_NAME(DxbcOpcode::IMax);
      ENUM_NAME(DxbcOpcode::IMin);
      ENUM_NAME(DxbcOpcode::IMul);
      ENUM_NAME(DxbcOpcode::INe);
      ENUM_NAME(DxbcOpcode::INeg);
      ENUM_NAME(DxbcOpcode::IShl);
      ENUM_NAME(DxbcOpcode::IShr);
      ENUM_NAME(DxbcOpcode::ItoF);
      ENUM_NAME(DxbcOpcode::Label);
      ENUM_NAME(DxbcOpcode::Ld);
      ENUM_NAME(DxbcOpcode::LdMs);
      ENUM_NAME(DxbcOpcode::Log);
      ENUM_NAME(DxbcOpcode::Loop);
      ENUM_NAME(DxbcOpcode::Lt);
      ENUM_NAME(DxbcOpcode::Mad);
      ENUM_NAME(DxbcOpcode::Min);
      ENUM_NAME(DxbcOpcode::Max);
      ENUM_NAME(DxbcOpcode::CustomData);
      ENUM_NAME(DxbcOpcode::Mov);
      ENUM_NAME(DxbcOpcode::Movc);
      ENUM_NAME(DxbcOpcode::Mul);
      ENUM_NAME(DxbcOpcode::Ne);
      ENUM_NAME(DxbcOpcode::Nop);
      ENUM_NAME(DxbcOpcode::Not);
      ENUM_NAME(DxbcOpcode::Or);
      ENUM_NAME(DxbcOpcode::ResInfo);
      ENUM_NAME(DxbcOpcode::Ret);
      ENUM_NAME(DxbcOpcode::Retc);
      ENUM_NAME(DxbcOpcode::RoundNe);
      ENUM_NAME(DxbcOpcode::RoundNi);
      ENUM_NAME(DxbcOpcode::RoundPi);
      ENUM_NAME(DxbcOpcode::RoundZ);
      ENUM_NAME(DxbcOpcode::Rsq);
      ENUM_NAME(DxbcOpcode::Sample);
      ENUM_NAME(DxbcOpcode::SampleC);
      ENUM_NAME(DxbcOpcode::SampleClz);
      ENUM_NAME(DxbcOpcode::SampleL);
      ENUM_NAME(DxbcOpcode::SampleD);
      ENUM_NAME(DxbcOpcode::SampleB);
      ENUM_NAME(DxbcOpcode::Sqrt);
      ENUM_NAME(DxbcOpcode::Switch);
      ENUM_NAME(DxbcOpcode::SinCos);
      ENUM_NAME(DxbcOpcode::UDiv);
      ENUM_NAME(DxbcOpcode::ULt);
      ENUM_NAME(DxbcOpcode::UGe);
      ENUM_NAME(DxbcOpcode::UMul);
      ENUM_NAME(DxbcOpcode::UMad);
      ENUM_NAME(DxbcOpcode::UMax);
      ENUM_NAME(DxbcOpcode::UMin);
      ENUM_NAME(DxbcOpcode::UShr);
      ENUM_NAME(DxbcOpcode::UtoF);
      ENUM_NAME(DxbcOpcode::Xor);
      ENUM_NAME(DxbcOpcode::DclResource);
      ENUM_NAME(DxbcOpcode::DclConstantBuffer);
      ENUM_NAME(DxbcOpcode::DclSampler);
      ENUM_NAME(DxbcOpcode::DclIndexRange);
      ENUM_NAME(DxbcOpcode::DclGsOutputPrimitiveTopology);
      ENUM_NAME(DxbcOpcode::DclGsInputPrimitive);
      ENUM_NAME(DxbcOpcode::DclMaxOutputVertexCount);
      ENUM_NAME(DxbcOpcode::DclInput);
      ENUM_NAME(DxbcOpcode::DclInputSgv);
      ENUM_NAME(DxbcOpcode::DclInputSiv);
      ENUM_NAME(DxbcOpcode::DclInputPs);
      ENUM_NAME(DxbcOpcode::DclInputPsSgv);
      ENUM_NAME(DxbcOpcode::DclInputPsSiv);
      ENUM_NAME(DxbcOpcode::DclOutput);
      ENUM_NAME(DxbcOpcode::DclOutputSgv);
      ENUM_NAME(DxbcOpcode::DclOutputSiv);
      ENUM_NAME(DxbcOpcode::DclTemps);
      ENUM_NAME(DxbcOpcode::DclIndexableTemp);
      ENUM_NAME(DxbcOpcode::DclGlobalFlags);
      ENUM_NAME(DxbcOpcode::Reserved0);
      ENUM_NAME(DxbcOpcode::Lod);
      ENUM_NAME(DxbcOpcode::Gather4);
      ENUM_NAME(DxbcOpcode::SamplePos);
      ENUM_NAME(DxbcOpcode::SampleInfo);
      ENUM_NAME(DxbcOpcode::Reserved1);
      ENUM_NAME(DxbcOpcode::HsDecls);
      ENUM_NAME(DxbcOpcode::HsControlPointPhase);
      ENUM_NAME(DxbcOpcode::HsForkPhase);
      ENUM_NAME(DxbcOpcode::HsJoinPhase);
      ENUM_NAME(DxbcOpcode::EmitStream);
      ENUM_NAME(DxbcOpcode::CutStream);
      ENUM_NAME(DxbcOpcode::EmitThenCutStream);
      ENUM_NAME(DxbcOpcode::InterfaceCall);
      ENUM_NAME(DxbcOpcode::BufInfo);
      ENUM_NAME(DxbcOpcode::DerivRtxCoarse);
      ENUM_NAME(DxbcOpcode::DerivRtxFine);
      ENUM_NAME(DxbcOpcode::DerivRtyCoarse);
      ENUM_NAME(DxbcOpcode::DerivRtyFine);
      ENUM_NAME(DxbcOpcode::Gather4C);
      ENUM_NAME(DxbcOpcode::Gather4Po);
      ENUM_NAME(DxbcOpcode::Gather4PoC);
      ENUM_NAME(DxbcOpcode::Rcp);
      ENUM_NAME(DxbcOpcode::F32toF16);
      ENUM_NAME(DxbcOpcode::F16toF32);
      ENUM_NAME(DxbcOpcode::UAddc);
      ENUM_NAME(DxbcOpcode::USubb);
      ENUM_NAME(DxbcOpcode::CountBits);
      ENUM_NAME(DxbcOpcode::FirstBitHi);
      ENUM_NAME(DxbcOpcode::FirstBitLo);
      ENUM_NAME(DxbcOpcode::FirstBitShi);
      ENUM_NAME(DxbcOpcode::UBfe);
      ENUM_NAME(DxbcOpcode::IBfe);
      ENUM_NAME(DxbcOpcode::Bfi);
      ENUM_NAME(DxbcOpcode::BfRev);
      ENUM_NAME(DxbcOpcode::Swapc);
      ENUM_NAME(DxbcOpcode::DclStream);
      ENUM_NAME(DxbcOpcode::DclFunctionBody);
      ENUM_NAME(DxbcOpcode::DclFunctionTable);
      ENUM_NAME(DxbcOpcode::DclInterface);
      ENUM_NAME(DxbcOpcode::DclInputControlPointCount);
      ENUM_NAME(DxbcOpcode::DclOutputControlPointCount);
      ENUM_NAME(DxbcOpcode::DclTessDomain);
      ENUM_NAME(DxbcOpcode::DclTessPartitioning);
      ENUM_NAME(DxbcOpcode::DclTessOutputPrimitive);
      ENUM_NAME(DxbcOpcode::DclHsMaxTessFactor);
      ENUM_NAME(DxbcOpcode::DclHsForkPhaseInstanceCount);
      ENUM_NAME(DxbcOpcode::DclHsJoinPhaseInstanceCount);
      ENUM_NAME(DxbcOpcode::DclThreadGroup);
      ENUM_NAME(DxbcOpcode::DclUavTyped);
      ENUM_NAME(DxbcOpcode::DclUavRaw);
      ENUM_NAME(DxbcOpcode::DclUavStructured);
      ENUM_NAME(DxbcOpcode::DclThreadGroupSharedMemoryRaw);
      ENUM_NAME(DxbcOpcode::DclThreadGroupSharedMemoryStructured);
      ENUM_NAME(DxbcOpcode::DclResourceRaw);
      ENUM_NAME(DxbcOpcode::DclResourceStructured);
      ENUM_NAME(DxbcOpcode::LdUavTyped);
      ENUM_NAME(DxbcOpcode::StoreUavTyped);
      ENUM_NAME(DxbcOpcode::LdRaw);
      ENUM_NAME(DxbcOpcode::StoreRaw);
      ENUM_NAME(DxbcOpcode::LdStructured);
      ENUM_NAME(DxbcOpcode::StoreStructured);
      ENUM_NAME(DxbcOpcode::AtomicAnd);
      ENUM_NAME(DxbcOpcode::AtomicOr);
      ENUM_NAME(DxbcOpcode::AtomicXor);
      ENUM_NAME(DxbcOpcode::AtomicCmpStore);
      ENUM_NAME(DxbcOpcode::AtomicIAdd);
      ENUM_NAME(DxbcOpcode::AtomicIMax);
      ENUM_NAME(DxbcOpcode::AtomicIMin);
      ENUM_NAME(DxbcOpcode::AtomicUMax);
      ENUM_NAME(DxbcOpcode::AtomicUMin);
      ENUM_NAME(DxbcOpcode::ImmAtomicAlloc);
      ENUM_NAME(DxbcOpcode::ImmAtomicConsume);
      ENUM_NAME(DxbcOpcode::ImmAtomicIAdd);
      ENUM_NAME(DxbcOpcode::ImmAtomicAnd);
      ENUM_NAME(DxbcOpcode::ImmAtomicOr);
      ENUM_NAME(DxbcOpcode::ImmAtomicXor);
      ENUM_NAME(DxbcOpcode::ImmAtomicExch);
      ENUM_NAME(DxbcOpcode::ImmAtomicCmpExch);
      ENUM_NAME(DxbcOpcode::ImmAtomicIMax);
      ENUM_NAME(DxbcOpcode::ImmAtomicIMin);
      ENUM_NAME(DxbcOpcode::ImmAtomicUMax);
      ENUM_NAME(DxbcOpcode::ImmAtomicUMin);
      ENUM_NAME(DxbcOpcode::Sync);
      ENUM_NAME(DxbcOpcode::DAdd);
      ENUM_NAME(DxbcOpcode::DMax);
      ENUM_NAME(DxbcOpcode::DMin);
      ENUM_NAME(DxbcOpcode::DMul);
      ENUM_NAME(DxbcOpcode::DEq);
      ENUM_NAME(DxbcOpcode::DGe);
      ENUM_NAME(DxbcOpcode::DLt);
      ENUM_NAME(DxbcOpcode::DNe);
      ENUM_NAME(DxbcOpcode::DMov);
      ENUM_NAME(DxbcOpcode::DMovc);
      ENUM_NAME(DxbcOpcode::DtoF);
      ENUM_NAME(DxbcOpcode::FtoD);
      ENUM_NAME(DxbcOpcode::EvalSnapped);
      ENUM_NAME(DxbcOpcode::EvalSampleIndex);
      ENUM_NAME(DxbcOpcode::EvalCentroid);
      ENUM_NAME(DxbcOpcode::DclGsInstanceCount);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcExtOpcode e) {
    switch (e) {
      ENUM_NAME(DxbcExtOpcode::Empty);
      ENUM_NAME(DxbcExtOpcode::SampleControls);
      ENUM_NAME(DxbcExtOpcode::ResourceDim);
      ENUM_NAME(DxbcExtOpcode::ResourceReturnType);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcOperandType e) {
    switch (e) {
      ENUM_NAME(DxbcOperandType::Temp);
      ENUM_NAME(DxbcOperandType::Input);
      ENUM_NAME(DxbcOperandType::Output);
      ENUM_NAME(DxbcOperandType::IndexableTemp);
      ENUM_NAME(DxbcOperandType::Imm32);
      ENUM_NAME(DxbcOperandType::Imm64);
      ENUM_NAME(DxbcOperandType::Sampler);
      ENUM_NAME(DxbcOperandType::Resource);
      ENUM_NAME(DxbcOperandType::ConstantBuffer);
      ENUM_NAME(DxbcOperandType::ImmediateConstantBuffer);
      ENUM_NAME(DxbcOperandType::Label);
      ENUM_NAME(DxbcOperandType::InputPrimitiveId);
      ENUM_NAME(DxbcOperandType::OutputDepth);
      ENUM_NAME(DxbcOperandType::Null);
      ENUM_NAME(DxbcOperandType::Rasterizer);
      ENUM_NAME(DxbcOperandType::OutputCoverageMask);
      ENUM_NAME(DxbcOperandType::Stream);
      ENUM_NAME(DxbcOperandType::FunctionBody);
      ENUM_NAME(DxbcOperandType::FunctionTable);
      ENUM_NAME(DxbcOperandType::Interface);
      ENUM_NAME(DxbcOperandType::FunctionInput);
      ENUM_NAME(DxbcOperandType::FunctionOutput);
      ENUM_NAME(DxbcOperandType::OutputControlPointId);
      ENUM_NAME(DxbcOperandType::InputForkInstanceId);
      ENUM_NAME(DxbcOperandType::InputJoinInstanceId);
      ENUM_NAME(DxbcOperandType::InputControlPoint);
      ENUM_NAME(DxbcOperandType::OutputControlPoint);
      ENUM_NAME(DxbcOperandType::InputPatchConstant);
      ENUM_NAME(DxbcOperandType::InputDomainPoint);
      ENUM_NAME(DxbcOperandType::ThisPointer);
      ENUM_NAME(DxbcOperandType::UnorderedAccessView);
      ENUM_NAME(DxbcOperandType::ThreadGroupSharedMemory);
      ENUM_NAME(DxbcOperandType::InputThreadId);
      ENUM_NAME(DxbcOperandType::InputThreadGroupId);
      ENUM_NAME(DxbcOperandType::InputThreadIdInGroup);
      ENUM_NAME(DxbcOperandType::InputCoverageMask);
      ENUM_NAME(DxbcOperandType::InputThreadIndexInGroup);
      ENUM_NAME(DxbcOperandType::InputGsInstanceId);
      ENUM_NAME(DxbcOperandType::OutputDepthGe);
      ENUM_NAME(DxbcOperandType::OutputDepthLe);
      ENUM_NAME(DxbcOperandType::CycleCounter);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, dxvk::DxbcOperandExt e) {
    switch (e) {
      ENUM_NAME(DxbcOperandExt::OperandModifier);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcComponentCount e) {
    switch (e) {
      ENUM_NAME(DxbcComponentCount::Component0);
      ENUM_NAME(DxbcComponentCount::Component1);
      ENUM_NAME(DxbcComponentCount::Component4);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcRegMode e) {
    switch (e) {
      ENUM_NAME(DxbcRegMode::Mask);
      ENUM_NAME(DxbcRegMode::Swizzle);
      ENUM_NAME(DxbcRegMode::Select1);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcOperandIndexRepresentation e) {
    switch (e) {
      ENUM_NAME(DxbcOperandIndexRepresentation::Imm32);
      ENUM_NAME(DxbcOperandIndexRepresentation::Imm64);
      ENUM_NAME(DxbcOperandIndexRepresentation::Relative);
      ENUM_NAME(DxbcOperandIndexRepresentation::Imm32Relative);
      ENUM_NAME(DxbcOperandIndexRepresentation::Imm64Relative);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcResourceDim e) {
    switch (e) {
      ENUM_NAME(DxbcResourceDim::Unknown);
      ENUM_NAME(DxbcResourceDim::Buffer);
      ENUM_NAME(DxbcResourceDim::Texture1D);
      ENUM_NAME(DxbcResourceDim::Texture2D);
      ENUM_NAME(DxbcResourceDim::Texture2DMs);
      ENUM_NAME(DxbcResourceDim::Texture3D);
      ENUM_NAME(DxbcResourceDim::TextureCube);
      ENUM_NAME(DxbcResourceDim::Texture1DArr);
      ENUM_NAME(DxbcResourceDim::Texture2DArr);
      ENUM_NAME(DxbcResourceDim::Texture2DMsArr);
      ENUM_NAME(DxbcResourceDim::TextureCubeArr);
      ENUM_NAME(DxbcResourceDim::RawBuffer);
      ENUM_NAME(DxbcResourceDim::StructuredBuffer);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcResourceReturnType e) {
    switch (e) {
      ENUM_NAME(DxbcResourceReturnType::Unorm);
      ENUM_NAME(DxbcResourceReturnType::Snorm);
      ENUM_NAME(DxbcResourceReturnType::Sint);
      ENUM_NAME(DxbcResourceReturnType::Uint);
      ENUM_NAME(DxbcResourceReturnType::Float);
      ENUM_NAME(DxbcResourceReturnType::Mixed);
      ENUM_NAME(DxbcResourceReturnType::Double);
      ENUM_NAME(DxbcResourceReturnType::Continued);
      ENUM_NAME(DxbcResourceReturnType::Unused);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcRegisterComponentType e) {
    switch (e) {
      ENUM_NAME(DxbcRegisterComponentType::Unknown);
      ENUM_NAME(DxbcRegisterComponentType::Uint32);
      ENUM_NAME(DxbcRegisterComponentType::Sint32);
      ENUM_NAME(DxbcRegisterComponentType::Float32);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcInstructionReturnType e) {
    switch (e) {
      ENUM_NAME(DxbcInstructionReturnType::Float);
      ENUM_NAME(DxbcInstructionReturnType::Uint);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, DxbcSystemValue e) {
    switch (e) {
      ENUM_NAME(DxbcSystemValue::None);
      ENUM_NAME(DxbcSystemValue::Position);
      ENUM_NAME(DxbcSystemValue::ClipDistance);
      ENUM_NAME(DxbcSystemValue::CullDistance);
      ENUM_NAME(DxbcSystemValue::RenderTargetId);
      ENUM_NAME(DxbcSystemValue::ViewportId);
      ENUM_NAME(DxbcSystemValue::VertexId);
      ENUM_NAME(DxbcSystemValue::PrimitiveId);
      ENUM_NAME(DxbcSystemValue::InstanceId);
      ENUM_NAME(DxbcSystemValue::IsFrontFace);
      ENUM_NAME(DxbcSystemValue::SampleIndex);
      ENUM_NAME(DxbcSystemValue::FinalQuadUeq0EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalQuadVeq0EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalQuadUeq1EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalQuadVeq1EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalQuadUInsideTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalQuadVInsideTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalTriUeq0EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalTriVeq0EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalTriWeq0EdgeTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalTriInsideTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalLineDetailTessFactor);
      ENUM_NAME(DxbcSystemValue::FinalLineDensityTessFactor);
      ENUM_NAME(DxbcSystemValue::Target);
      ENUM_NAME(DxbcSystemValue::Depth);
      ENUM_NAME(DxbcSystemValue::Coverage);
      ENUM_NAME(DxbcSystemValue::DepthGe);
      ENUM_NAME(DxbcSystemValue::DepthLe);
      ENUM_DEFAULT(e);
    }
  }
  
  
  std::ostream& operator << (std::ostream& os, dxvk::DxbcProgramType e) {
    switch (e) {
      ENUM_NAME(DxbcProgramType::PixelShader);
      ENUM_NAME(DxbcProgramType::VertexShader);
      ENUM_NAME(DxbcProgramType::GeometryShader);
      ENUM_NAME(DxbcProgramType::HullShader);
      ENUM_NAME(DxbcProgramType::DomainShader);
      ENUM_NAME(DxbcProgramType::ComputeShader);
      ENUM_DEFAULT(e);
    }
  }
  
  std::ostream& operator << (std::ostream& os, dxvk::DxbcCustomDataClass e) {
    switch (e) {
      ENUM_NAME(DxbcCustomDataClass::Comment);
      ENUM_NAME(DxbcCustomDataClass::DebugInfo);
      ENUM_NAME(DxbcCustomDataClass::Opaque);
      ENUM_NAME(DxbcCustomDataClass::ImmConstBuf);
      ENUM_DEFAULT(e);
    }
  }

  std::ostream& operator << (std::ostream& os, dxvk::DxbcScalarType e) {
    switch (e) {
      ENUM_NAME(DxbcScalarType::Uint32);
      ENUM_NAME(DxbcScalarType::Uint64);
      ENUM_NAME(DxbcScalarType::Sint32);
      ENUM_NAME(DxbcScalarType::Sint64);
      ENUM_NAME(DxbcScalarType::Float32);
      ENUM_NAME(DxbcScalarType::Float64);
      ENUM_NAME(DxbcScalarType::Bool);
      ENUM_DEFAULT(e);
    }
  }


} //namespace dxvk