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