LLVM 22.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
DXContainer.h File Reference
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DXILABI.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/SwapByteOrder.h"
#include "llvm/TargetParser/Triple.h"
#include <stdint.h>
#include "DXContainerConstants.def"
#include "llvm/BinaryFormat/DXContainerConstants.def"

Go to the source code of this file.

Classes

struct  llvm::dxbc::Hash
 
struct  llvm::dxbc::ShaderHash
 
struct  llvm::dxbc::ContainerVersion
 
struct  llvm::dxbc::Header
 
struct  llvm::dxbc::PartHeader
 Use this type to describe the size and type of a DXIL container part. More...
 
struct  llvm::dxbc::BitcodeHeader
 
struct  llvm::dxbc::ProgramHeader
 
struct  llvm::dxbc::VertexPSVInfo
 
struct  llvm::dxbc::HullPSVInfo
 
struct  llvm::dxbc::DomainPSVInfo
 
struct  llvm::dxbc::GeometryPSVInfo
 
struct  llvm::dxbc::PixelPSVInfo
 
struct  llvm::dxbc::MeshPSVInfo
 
struct  llvm::dxbc::AmplificationPSVInfo
 
union  llvm::dxbc::PipelinePSVInfo
 
struct  llvm::dxbc::PSV::ResourceFlags
 
struct  llvm::dxbc::PSV::ResourceFlags::FlagsBits
 
struct  llvm::dxbc::PSV::v0::RuntimeInfo
 
struct  llvm::dxbc::PSV::v0::ResourceBindInfo
 
struct  llvm::dxbc::PSV::v0::SignatureElement
 
struct  llvm::dxbc::PSV::v1::MeshRuntimeInfo
 
union  llvm::dxbc::PSV::v1::GeometryExtraInfo
 
struct  llvm::dxbc::PSV::v1::RuntimeInfo
 
struct  llvm::dxbc::PSV::v2::RuntimeInfo
 
struct  llvm::dxbc::PSV::v2::ResourceBindInfo
 
struct  llvm::dxbc::PSV::v3::RuntimeInfo
 
struct  llvm::dxbc::ProgramSignatureHeader
 
struct  llvm::dxbc::ProgramSignatureElement
 
struct  llvm::dxbc::RTS0::v1::StaticSampler
 
struct  llvm::dxbc::RTS0::v1::DescriptorRange
 
struct  llvm::dxbc::RTS0::v1::RootDescriptor
 
struct  llvm::dxbc::RTS0::v1::RootConstants
 
struct  llvm::dxbc::RTS0::v1::RootParameterHeader
 
struct  llvm::dxbc::RTS0::v1::RootSignatureHeader
 
struct  llvm::dxbc::RTS0::v2::RootDescriptor
 
struct  llvm::dxbc::RTS0::v2::DescriptorRange
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::dxbc
 
namespace  llvm::dxbc::PSV
 
namespace  llvm::dxbc::PSV::v0
 
namespace  llvm::dxbc::PSV::v1
 
namespace  llvm::dxbc::PSV::v2
 
namespace  llvm::dxbc::PSV::v3
 
namespace  llvm::dxbc::RTS0
 
namespace  llvm::dxbc::RTS0::v1
 
namespace  llvm::dxbc::RTS0::v2
 

Macros

#define CONTAINER_PART(Part)   Part,
 
#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str)   Val = 1ull << Num,
 
#define ROOT_SIGNATURE_FLAG(Num, Val)   Val = Num,
 
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag)   Enum = Num,
 
#define DESCRIPTOR_RANGE_FLAG(Num, Enum, Flag)   Enum = Num,
 
#define ROOT_PARAMETER(Val, Enum)   Enum = Val,
 
#define DESCRIPTOR_RANGE(Val, Enum)   Enum = Val,
 
#define ROOT_PARAMETER(Val, Enum)
 
#define SHADER_VISIBILITY(Val, Enum)   Enum = Val,
 
#define SHADER_VISIBILITY(Val, Enum)
 
#define FILTER(Val, Enum)   Enum = Val,
 
#define TEXTURE_ADDRESS_MODE(Val, Enum)   Enum = Val,
 
#define COMPARISON_FUNC(Val, Enum)   Enum = Val,
 
#define STATIC_BORDER_COLOR(Val, Enum)   Enum = Val,
 
#define SEMANTIC_KIND(Val, Enum)   Enum = Val,
 
#define COMPONENT_TYPE(Val, Enum)   Enum = Val,
 
#define INTERPOLATION_MODE(Val, Enum)   Enum = Val,
 
#define RESOURCE_TYPE(Val, Enum)   Enum = Val,
 
#define RESOURCE_KIND(Val, Enum)   Enum = Val,
 
#define RESOURCE_FLAG(Index, Enum)   bool Enum = false;
 
#define COMPONENT_PRECISION(Val, Enum)   Enum = Val,
 
#define D3D_SYSTEM_VALUE(Val, Enum)   Enum = Val,
 
#define COMPONENT_TYPE(Val, Enum)   Enum = Val,
 

Enumerations

enum class  llvm::dxbc::HashFlags : uint32_t { llvm::dxbc::None = 0 , llvm::dxbc::IncludesSource = 1 }
 
enum class  llvm::dxbc::PartType { llvm::dxbc::Unknown = 0 }
 
enum class  llvm::dxbc::FeatureFlags : uint64_t
 
enum class  llvm::dxbc::RootFlags : uint32_t
 
enum class  llvm::dxbc::RootDescriptorFlags : uint32_t
 
enum class  llvm::dxbc::DescriptorRangeFlags : uint32_t
 
enum class  llvm::dxbc::RootParameterType : uint32_t
 
enum class  llvm::dxbc::DescriptorRangeType : uint32_t
 
enum class  llvm::dxbc::ShaderVisibility : uint32_t
 
enum class  llvm::dxbc::SamplerFilter : uint32_t
 
enum class  llvm::dxbc::TextureAddressMode : uint32_t
 
enum class  llvm::dxbc::ComparisonFunc : uint32_t
 
enum class  llvm::dxbc::StaticBorderColor : uint32_t
 
enum class  llvm::dxbc::PSV::SemanticKind : uint8_t
 
enum class  llvm::dxbc::PSV::ComponentType : uint8_t
 
enum class  llvm::dxbc::PSV::InterpolationMode : uint8_t
 
enum class  llvm::dxbc::PSV::ResourceType : uint32_t
 
enum class  llvm::dxbc::PSV::ResourceKind : uint32_t
 
enum class  llvm::dxbc::SigMinPrecision : uint32_t
 
enum class  llvm::dxbc::D3DSystemValue : uint32_t
 
enum class  llvm::dxbc::SigComponentType : uint32_t
 
enum class  llvm::dxbc::RootSignatureVersion { llvm::dxbc::V1_0 = 0x1 , llvm::dxbc::V1_1 = 0x2 }
 

Functions

 llvm::dxbc::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 
Triple::EnvironmentType llvm::dxbc::getShaderStage (uint32_t Kind)
 
LLVM_ABI ArrayRef< EnumEntry< RootFlags > > llvm::dxbc::getRootFlags ()
 
LLVM_ABI ArrayRef< EnumEntry< RootDescriptorFlags > > llvm::dxbc::getRootDescriptorFlags ()
 
LLVM_ABI ArrayRef< EnumEntry< DescriptorRangeFlags > > llvm::dxbc::getDescriptorRangeFlags ()
 
LLVM_ABI ArrayRef< EnumEntry< RootParameterType > > llvm::dxbc::getRootParameterTypes ()
 
LLVM_ABI ArrayRef< EnumEntry< DescriptorRangeType > > llvm::dxbc::getDescriptorRangeTypes ()
 
bool llvm::dxbc::isValidParameterType (uint32_t V)
 
LLVM_ABI ArrayRef< EnumEntry< ShaderVisibility > > llvm::dxbc::getShaderVisibility ()
 
bool llvm::dxbc::isValidShaderVisibility (uint32_t V)
 
LLVM_ABI ArrayRef< EnumEntry< SamplerFilter > > llvm::dxbc::getSamplerFilters ()
 
LLVM_ABI ArrayRef< EnumEntry< TextureAddressMode > > llvm::dxbc::getTextureAddressModes ()
 
LLVM_ABI ArrayRef< EnumEntry< ComparisonFunc > > llvm::dxbc::getComparisonFuncs ()
 
LLVM_ABI ArrayRef< EnumEntry< StaticBorderColor > > llvm::dxbc::getStaticBorderColors ()
 
LLVM_ABI PartType llvm::dxbc::parsePartType (StringRef S)
 
LLVM_ABI ArrayRef< EnumEntry< SemanticKind > > llvm::dxbc::PSV::getSemanticKinds ()
 
LLVM_ABI ArrayRef< EnumEntry< ComponentType > > llvm::dxbc::PSV::getComponentTypes ()
 
LLVM_ABI ArrayRef< EnumEntry< InterpolationMode > > llvm::dxbc::PSV::getInterpolationModes ()
 
LLVM_ABI ArrayRef< EnumEntry< ResourceType > > llvm::dxbc::PSV::getResourceTypes ()
 
LLVM_ABI ArrayRef< EnumEntry< ResourceKind > > llvm::dxbc::PSV::getResourceKinds ()
 
LLVM_ABI ArrayRef< EnumEntry< SigMinPrecision > > llvm::dxbc::getSigMinPrecisions ()
 
LLVM_ABI ArrayRef< EnumEntry< D3DSystemValue > > llvm::dxbc::getD3DSystemValues ()
 
LLVM_ABI ArrayRef< EnumEntry< SigComponentType > > llvm::dxbc::getSigComponentTypes ()
 

Macro Definition Documentation

◆ COMPARISON_FUNC

#define COMPARISON_FUNC (   Val,
  Enum 
)    Enum = Val,

Definition at line 243 of file DXContainer.h.

◆ COMPONENT_PRECISION

#define COMPONENT_PRECISION (   Val,
  Enum 
)    Enum = Val,

Definition at line 578 of file DXContainer.h.

◆ COMPONENT_TYPE [1/2]

#define COMPONENT_TYPE (   Val,
  Enum 
)    Enum = Val,

Definition at line 592 of file DXContainer.h.

◆ COMPONENT_TYPE [2/2]

#define COMPONENT_TYPE (   Val,
  Enum 
)    Enum = Val,

Definition at line 592 of file DXContainer.h.

◆ CONTAINER_PART

#define CONTAINER_PART (   Part)    Part,

Definition at line 148 of file DXContainer.h.

◆ D3D_SYSTEM_VALUE

#define D3D_SYSTEM_VALUE (   Val,
  Enum 
)    Enum = Val,

Definition at line 585 of file DXContainer.h.

◆ DESCRIPTOR_RANGE

#define DESCRIPTOR_RANGE (   Val,
  Enum 
)    Enum = Val,

Definition at line 195 of file DXContainer.h.

◆ DESCRIPTOR_RANGE_FLAG

#define DESCRIPTOR_RANGE_FLAG (   Num,
  Enum,
  Flag 
)    Enum = Num,

Definition at line 179 of file DXContainer.h.

◆ FILTER

#define FILTER (   Val,
  Enum 
)    Enum = Val,

Definition at line 229 of file DXContainer.h.

◆ INTERPOLATION_MODE

#define INTERPOLATION_MODE (   Val,
  Enum 
)    Enum = Val,

Definition at line 397 of file DXContainer.h.

◆ RESOURCE_FLAG

#define RESOURCE_FLAG (   Index,
  Enum 
)    bool Enum = false;

Definition at line 418 of file DXContainer.h.

◆ RESOURCE_KIND

#define RESOURCE_KIND (   Val,
  Enum 
)    Enum = Val,

Definition at line 411 of file DXContainer.h.

◆ RESOURCE_TYPE

#define RESOURCE_TYPE (   Val,
  Enum 
)    Enum = Val,

Definition at line 404 of file DXContainer.h.

◆ ROOT_DESCRIPTOR_FLAG

#define ROOT_DESCRIPTOR_FLAG (   Num,
  Enum,
  Flag 
)    Enum = Num,

Definition at line 170 of file DXContainer.h.

◆ ROOT_PARAMETER [1/2]

#define ROOT_PARAMETER (   Val,
  Enum 
)    Enum = Val,

Definition at line 202 of file DXContainer.h.

◆ ROOT_PARAMETER [2/2]

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

Definition at line 202 of file DXContainer.h.

◆ ROOT_SIGNATURE_FLAG

#define ROOT_SIGNATURE_FLAG (   Num,
  Val 
)    Val = Num,

Definition at line 161 of file DXContainer.h.

◆ SEMANTIC_KIND

#define SEMANTIC_KIND (   Val,
  Enum 
)    Enum = Val,

Definition at line 383 of file DXContainer.h.

◆ SHADER_FEATURE_FLAG

#define SHADER_FEATURE_FLAG (   Num,
  DxilModuleNum,
  Val,
  Str 
)    Val = 1ull << Num,

Definition at line 154 of file DXContainer.h.

◆ SHADER_VISIBILITY [1/2]

#define SHADER_VISIBILITY (   Val,
  Enum 
)    Enum = Val,

Definition at line 219 of file DXContainer.h.

◆ SHADER_VISIBILITY [2/2]

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

Definition at line 219 of file DXContainer.h.

◆ STATIC_BORDER_COLOR

#define STATIC_BORDER_COLOR (   Val,
  Enum 
)    Enum = Val,

Definition at line 250 of file DXContainer.h.

◆ TEXTURE_ADDRESS_MODE

#define TEXTURE_ADDRESS_MODE (   Val,
  Enum 
)    Enum = Val,

Definition at line 236 of file DXContainer.h.