LLVM 23.0.0git
DXContainer.cpp File Reference
#include "llvm/BinaryFormat/DXContainer.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/BinaryFormat/DXContainerConstants.def"

Go to the source code of this file.

Macros

#define ROOT_PARAMETER(Val, Enum)
#define SHADER_VISIBILITY(Val, Enum)
#define FILTER(Val, Enum)
#define TEXTURE_ADDRESS_MODE(Val, Enum)
#define COMPARISON_FUNC(Val, Enum)
#define STATIC_BORDER_COLOR(Val, Enum)
#define CONTAINER_PART(PartName)
#define COMPONENT_PRECISION(Val, Enum)
#define D3D_SYSTEM_VALUE(Val, Enum)
#define COMPONENT_TYPE(Val, Enum)
#define ROOT_SIGNATURE_FLAG(Val, Enum)
#define ROOT_DESCRIPTOR_FLAG(Val, Enum, Flag)
#define DESCRIPTOR_RANGE_FLAG(Val, Enum, Flag)
#define STATIC_SAMPLER_FLAG(Val, Enum, Flag)
#define SHADER_VISIBILITY(Val, Enum)
#define FILTER(Val, Enum)
#define TEXTURE_ADDRESS_MODE(Val, Enum)
#define COMPARISON_FUNC(Val, Enum)
#define STATIC_BORDER_COLOR(Val, Enum)
#define ROOT_PARAMETER(Val, Enum)
#define SEMANTIC_KIND(Val, Enum)
#define COMPONENT_TYPE(Val, Enum)
#define INTERPOLATION_MODE(Val, Enum)
#define RESOURCE_TYPE(Val, Enum)
#define RESOURCE_KIND(Val, Enum)
#define SOURCE_INFO_TYPE(Num, Val)
#define COMPRESSION_TYPE(Num, Val)

Functions

template<typename FlagT>
static bool isValidFlags (std::underlying_type_t< FlagT > V)
template<typename EnumT>
static bool isValidEnumValue (std::underlying_type_t< EnumT > V)

Macro Definition Documentation

◆ COMPARISON_FUNC [1/2]

#define COMPARISON_FUNC ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 65 of file DXContainer.cpp.

◆ COMPARISON_FUNC [2/2]

#define COMPARISON_FUNC ( Val,
Enum )
Value:
{{#Enum}, ComparisonFunc::Enum},

Definition at line 65 of file DXContainer.cpp.

◆ COMPONENT_PRECISION

#define COMPONENT_PRECISION ( Val,
Enum )
Value:
{{#Enum}, SigMinPrecision::Enum},

◆ COMPONENT_TYPE [1/2]

#define COMPONENT_TYPE ( Val,
Enum )
Value:
{{#Enum}, SigComponentType::Enum},

◆ COMPONENT_TYPE [2/2]

#define COMPONENT_TYPE ( Val,
Enum )
Value:
{{#Enum}, PSV::ComponentType::Enum},

◆ COMPRESSION_TYPE

#define COMPRESSION_TYPE ( Num,
Val )
Value:
{{#Val}, SourceInfo::Contents::CompressionType::Val},

◆ CONTAINER_PART

#define CONTAINER_PART ( PartName)
Value:
.Case(#PartName, PartType::PartName)

◆ D3D_SYSTEM_VALUE

#define D3D_SYSTEM_VALUE ( Val,
Enum )
Value:
{{#Enum}, D3DSystemValue::Enum},

◆ DESCRIPTOR_RANGE_FLAG

#define DESCRIPTOR_RANGE_FLAG ( Val,
Enum,
Flag )
Value:
{{#Enum}, DescriptorRangeFlags::Enum},

◆ FILTER [1/2]

#define FILTER ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 45 of file DXContainer.cpp.

◆ FILTER [2/2]

#define FILTER ( Val,
Enum )
Value:
{{#Enum}, SamplerFilter::Enum},

Definition at line 45 of file DXContainer.cpp.

◆ INTERPOLATION_MODE

#define INTERPOLATION_MODE ( Val,
Enum )
Value:
{{#Enum}, PSV::InterpolationMode::Enum},

◆ RESOURCE_KIND

#define RESOURCE_KIND ( Val,
Enum )
Value:
{{#Enum}, PSV::ResourceKind::Enum},

◆ RESOURCE_TYPE

#define RESOURCE_TYPE ( Val,
Enum )
Value:
{{#Enum}, PSV::ResourceType::Enum},

◆ ROOT_DESCRIPTOR_FLAG

#define ROOT_DESCRIPTOR_FLAG ( Val,
Enum,
Flag )
Value:
{{#Enum}, RootDescriptorFlags::Enum},

◆ ROOT_PARAMETER [1/2]

#define ROOT_PARAMETER ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 21 of file DXContainer.cpp.

◆ ROOT_PARAMETER [2/2]

#define ROOT_PARAMETER ( Val,
Enum )
Value:
{{#Enum}, RootParameterType::Enum},

Definition at line 21 of file DXContainer.cpp.

◆ ROOT_SIGNATURE_FLAG

#define ROOT_SIGNATURE_FLAG ( Val,
Enum )
Value:
{{#Enum}, RootFlags::Enum},

◆ SEMANTIC_KIND

#define SEMANTIC_KIND ( Val,
Enum )
Value:
{{#Enum}, PSV::SemanticKind::Enum},

◆ SHADER_VISIBILITY [1/2]

#define SHADER_VISIBILITY ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 35 of file DXContainer.cpp.

◆ SHADER_VISIBILITY [2/2]

#define SHADER_VISIBILITY ( Val,
Enum )
Value:
{{#Enum}, ShaderVisibility::Enum},

Definition at line 35 of file DXContainer.cpp.

◆ SOURCE_INFO_TYPE

#define SOURCE_INFO_TYPE ( Num,
Val )
Value:
{{#Val}, SourceInfo::SectionType::Val},

◆ STATIC_BORDER_COLOR [1/2]

#define STATIC_BORDER_COLOR ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 75 of file DXContainer.cpp.

◆ STATIC_BORDER_COLOR [2/2]

#define STATIC_BORDER_COLOR ( Val,
Enum )
Value:
{{#Enum}, StaticBorderColor::Enum},

Definition at line 75 of file DXContainer.cpp.

◆ STATIC_SAMPLER_FLAG

#define STATIC_SAMPLER_FLAG ( Val,
Enum,
Flag )
Value:
{{#Enum}, StaticSamplerFlags::Enum},

◆ TEXTURE_ADDRESS_MODE [1/2]

#define TEXTURE_ADDRESS_MODE ( Val,
Enum )
Value:
case Val: \
return true;

Definition at line 55 of file DXContainer.cpp.

◆ TEXTURE_ADDRESS_MODE [2/2]

#define TEXTURE_ADDRESS_MODE ( Val,
Enum )
Value:
{{#Enum}, TextureAddressMode::Enum},

Definition at line 55 of file DXContainer.cpp.

Function Documentation

◆ isValidEnumValue()

template<typename EnumT>
bool isValidEnumValue ( std::underlying_type_t< EnumT > V)
static

◆ isValidFlags()

template<typename FlagT>
bool isValidFlags ( std::underlying_type_t< FlagT > V)
static