LLVM: lib/BinaryFormat/DXContainer.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
17
18using namespace llvm;
20
21#define ROOT_PARAMETER(Val, Enum) \
22 case Val: \
23 return true;
25 switch (V) {
26#include "llvm/BinaryFormat/DXContainerConstants.def"
27 }
28 return false;
29}
30
34
35#define SHADER_VISIBILITY(Val, Enum) \
36 case Val: \
37 return true;
39 switch (V) {
40#include "llvm/BinaryFormat/DXContainerConstants.def"
41 }
42 return false;
43}
44
45#define FILTER(Val, Enum) \
46 case Val: \
47 return true;
49 switch (V) {
50#include "llvm/BinaryFormat/DXContainerConstants.def"
51 }
52 return false;
53}
54
55#define TEXTURE_ADDRESS_MODE(Val, Enum) \
56 case Val: \
57 return true;
59 switch (V) {
60#include "llvm/BinaryFormat/DXContainerConstants.def"
61 }
62 return false;
63}
64
65#define COMPARISON_FUNC(Val, Enum) \
66 case Val: \
67 return true;
69 switch (V) {
70#include "llvm/BinaryFormat/DXContainerConstants.def"
71 }
72 return false;
73}
74
75#define STATIC_BORDER_COLOR(Val, Enum) \
76 case Val: \
77 return true;
79 switch (V) {
80#include "llvm/BinaryFormat/DXContainerConstants.def"
81 }
82 return false;
83}
84
91
98
105
107#define CONTAINER_PART(PartName) .Case(#PartName, PartType::PartName)
109#include "llvm/BinaryFormat/DXContainerConstants.def"
111}
112
114 static uint8_t Zeros[16] = {0};
116}
117
118#define COMPONENT_PRECISION(Val, Enum) {#Enum, SigMinPrecision::Enum},
119
121#include "llvm/BinaryFormat/DXContainerConstants.def"
122};
123
127
128#define D3D_SYSTEM_VALUE(Val, Enum) {#Enum, D3DSystemValue::Enum},
129
131#include "llvm/BinaryFormat/DXContainerConstants.def"
132};
133
137
138#define COMPONENT_TYPE(Val, Enum) {#Enum, SigComponentType::Enum},
139
141#include "llvm/BinaryFormat/DXContainerConstants.def"
142};
143
147
149#define ROOT_SIGNATURE_FLAG(Val, Enum) {#Enum, RootFlags::Enum},
150#include "llvm/BinaryFormat/DXContainerConstants.def"
151};
152
156
158#define ROOT_DESCRIPTOR_FLAG(Val, Enum, Flag) \
159 {#Enum, RootDescriptorFlags::Enum},
160#include "llvm/BinaryFormat/DXContainerConstants.def"
161};
162
166
168#define DESCRIPTOR_RANGE_FLAG(Val, Enum, Flag) \
169 {#Enum, DescriptorRangeFlags::Enum},
170#include "llvm/BinaryFormat/DXContainerConstants.def"
171};
172
176
178#define STATIC_SAMPLER_FLAG(Val, Enum, Flag) {#Enum, StaticSamplerFlags::Enum},
179#include "llvm/BinaryFormat/DXContainerConstants.def"
180};
181
185
186#define SHADER_VISIBILITY(Val, Enum) {#Enum, ShaderVisibility::Enum},
187
189#include "llvm/BinaryFormat/DXContainerConstants.def"
190};
191
195
196#define FILTER(Val, Enum) {#Enum, SamplerFilter::Enum},
197
199#include "llvm/BinaryFormat/DXContainerConstants.def"
200};
201
205
206#define TEXTURE_ADDRESS_MODE(Val, Enum) {#Enum, TextureAddressMode::Enum},
207
209#include "llvm/BinaryFormat/DXContainerConstants.def"
210};
211
215
216#define COMPARISON_FUNC(Val, Enum) {#Enum, ComparisonFunc::Enum},
217
219#include "llvm/BinaryFormat/DXContainerConstants.def"
220};
221
225
226#define STATIC_BORDER_COLOR(Val, Enum) {#Enum, StaticBorderColor::Enum},
227
229#include "llvm/BinaryFormat/DXContainerConstants.def"
230};
231
235
236#define ROOT_PARAMETER(Val, Enum) {#Enum, RootParameterType::Enum},
237
239#include "llvm/BinaryFormat/DXContainerConstants.def"
240};
241
245
246#define SEMANTIC_KIND(Val, Enum) {#Enum, PSV::SemanticKind::Enum},
247
249#include "llvm/BinaryFormat/DXContainerConstants.def"
250};
251
255
256#define COMPONENT_TYPE(Val, Enum) {#Enum, PSV::ComponentType::Enum},
257
259#include "llvm/BinaryFormat/DXContainerConstants.def"
260};
261
265
266#define INTERPOLATION_MODE(Val, Enum) {#Enum, PSV::InterpolationMode::Enum},
267
269#include "llvm/BinaryFormat/DXContainerConstants.def"
270};
271
275
276#define RESOURCE_TYPE(Val, Enum) {#Enum, PSV::ResourceType::Enum},
277
279#include "llvm/BinaryFormat/DXContainerConstants.def"
280};
281
285
286#define RESOURCE_KIND(Val, Enum) {#Enum, PSV::ResourceKind::Enum},
287
289#include "llvm/BinaryFormat/DXContainerConstants.def"
290};
291
static const EnumEntry< DescriptorRangeFlags > DescriptorRangeFlagNames[]
Definition DXContainer.cpp:167
static const EnumEntry< ShaderVisibility > ShaderVisibilityValues[]
Definition DXContainer.cpp:188
static const EnumEntry< D3DSystemValue > D3DSystemValueNames[]
Definition DXContainer.cpp:130
static const EnumEntry< PSV::InterpolationMode > InterpolationModeNames[]
Definition DXContainer.cpp:268
static const EnumEntry< SigMinPrecision > SigMinPrecisionNames[]
Definition DXContainer.cpp:120
static const EnumEntry< StaticSamplerFlags > StaticSamplerFlagNames[]
Definition DXContainer.cpp:177
static const EnumEntry< SamplerFilter > SamplerFilterNames[]
Definition DXContainer.cpp:198
static const EnumEntry< RootParameterType > RootParameterTypes[]
Definition DXContainer.cpp:238
static const EnumEntry< PSV::SemanticKind > SemanticKindNames[]
Definition DXContainer.cpp:248
static const EnumEntry< PSV::ResourceType > ResourceTypeNames[]
Definition DXContainer.cpp:278
static const EnumEntry< StaticBorderColor > StaticBorderColorValues[]
Definition DXContainer.cpp:228
static const EnumEntry< RootFlags > RootFlagNames[]
Definition DXContainer.cpp:148
static const EnumEntry< ComparisonFunc > ComparisonFuncNames[]
Definition DXContainer.cpp:218
static const EnumEntry< PSV::ResourceKind > ResourceKindNames[]
Definition DXContainer.cpp:288
static const EnumEntry< RootDescriptorFlags > RootDescriptorFlagNames[]
Definition DXContainer.cpp:157
static const EnumEntry< TextureAddressMode > TextureAddressModeNames[]
Definition DXContainer.cpp:208
static const EnumEntry< SigComponentType > SigComponentTypes[]
Definition DXContainer.cpp:140
static const EnumEntry< PSV::ComponentType > ComponentTypeNames[]
Definition DXContainer.cpp:258
Merge contiguous icmps into a memcmp
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
LLVM_ABI ArrayRef< EnumEntry< ResourceKind > > getResourceKinds()
Definition DXContainer.cpp:292
LLVM_ABI ArrayRef< EnumEntry< ComponentType > > getComponentTypes()
Definition DXContainer.cpp:262
LLVM_ABI ArrayRef< EnumEntry< ResourceType > > getResourceTypes()
Definition DXContainer.cpp:282
LLVM_ABI ArrayRef< EnumEntry< SemanticKind > > getSemanticKinds()
Definition DXContainer.cpp:252
LLVM_ABI ArrayRef< EnumEntry< InterpolationMode > > getInterpolationModes()
Definition DXContainer.cpp:272
LLVM_ABI ArrayRef< EnumEntry< ComparisonFunc > > getComparisonFuncs()
Definition DXContainer.cpp:222
LLVM_ABI ArrayRef< EnumEntry< ShaderVisibility > > getShaderVisibility()
Definition DXContainer.cpp:192
bool isValidShaderVisibility(uint32_t V)
Definition DXContainer.cpp:38
LLVM_ABI PartType parsePartType(StringRef S)
Definition DXContainer.cpp:106
bool isValidSamplerFilter(uint32_t V)
Definition DXContainer.cpp:48
bool isValidStaticSamplerFlags(uint32_t V)
Definition DXContainer.cpp:99
LLVM_ABI ArrayRef< EnumEntry< RootFlags > > getRootFlags()
Definition DXContainer.cpp:153
LLVM_ABI ArrayRef< EnumEntry< RootParameterType > > getRootParameterTypes()
Definition DXContainer.cpp:242
bool isValidRootDesciptorFlags(uint32_t V)
Definition DXContainer.cpp:85
LLVM_ABI ArrayRef< EnumEntry< SigComponentType > > getSigComponentTypes()
Definition DXContainer.cpp:144
LLVM_ABI ArrayRef< EnumEntry< SigMinPrecision > > getSigMinPrecisions()
Definition DXContainer.cpp:124
LLVM_ABI ArrayRef< EnumEntry< DescriptorRangeFlags > > getDescriptorRangeFlags()
Definition DXContainer.cpp:173
LLVM_ABI ArrayRef< EnumEntry< SamplerFilter > > getSamplerFilters()
Definition DXContainer.cpp:202
LLVM_ABI ArrayRef< EnumEntry< D3DSystemValue > > getD3DSystemValues()
Definition DXContainer.cpp:134
bool isValidDescriptorRangeFlags(uint32_t V)
Definition DXContainer.cpp:92
bool isValidBorderColor(uint32_t V)
Definition DXContainer.cpp:78
bool isValidComparisonFunc(uint32_t V)
Definition DXContainer.cpp:68
LLVM_ABI_FOR_TEST bool isValidParameterType(uint32_t V)
Definition DXContainer.cpp:24
LLVM_ABI ArrayRef< EnumEntry< StaticBorderColor > > getStaticBorderColors()
Definition DXContainer.cpp:232
bool isValidAddress(uint32_t V)
Definition DXContainer.cpp:58
LLVM_ABI ArrayRef< EnumEntry< TextureAddressMode > > getTextureAddressModes()
Definition DXContainer.cpp:212
bool isValidRangeType(uint32_t V)
Definition DXContainer.cpp:31
LLVM_ABI ArrayRef< EnumEntry< StaticSamplerFlags > > getStaticSamplerFlags()
Definition DXContainer.cpp:182
LLVM_ABI ArrayRef< EnumEntry< RootDescriptorFlags > > getRootDescriptorFlags()
Definition DXContainer.cpp:163
This is an optimization pass for GlobalISel generic memory operations.
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.
ArrayRef(const T &OneElt) -> ArrayRef< T >
constexpr uint64_t NextPowerOf2(uint64_t A)
Returns the next power of two (in 64-bits) that is strictly greater than A.
LLVM_ABI bool isPopulated()
Definition DXContainer.cpp:113