LLVM 20.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
DXContainer.h File Reference
#include "llvm/ADT/StringRef.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
 

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
 

Macros

#define CONTAINER_PART(Part)   Part,
 
#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str)   Val = 1ull << Num,
 
#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::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
 

Functions

Triple::EnvironmentType llvm::dxbc::getShaderStage (uint32_t Kind)
 
PartType llvm::dxbc::parsePartType (StringRef S)
 
ArrayRef< EnumEntry< SemanticKind > > llvm::dxbc::PSV::getSemanticKinds ()
 
ArrayRef< EnumEntry< ComponentType > > llvm::dxbc::PSV::getComponentTypes ()
 
ArrayRef< EnumEntry< InterpolationMode > > llvm::dxbc::PSV::getInterpolationModes ()
 
ArrayRef< EnumEntry< ResourceType > > llvm::dxbc::PSV::getResourceTypes ()
 
ArrayRef< EnumEntry< ResourceKind > > llvm::dxbc::PSV::getResourceKinds ()
 
ArrayRef< EnumEntry< SigMinPrecision > > llvm::dxbc::getSigMinPrecisions ()
 
ArrayRef< EnumEntry< D3DSystemValue > > llvm::dxbc::getD3DSystemValues ()
 
ArrayRef< EnumEntry< SigComponentType > > llvm::dxbc::getSigComponentTypes ()
 

Macro Definition Documentation

◆ COMPONENT_PRECISION

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

Definition at line 476 of file DXContainer.h.

◆ COMPONENT_TYPE [1/2]

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

Definition at line 490 of file DXContainer.h.

◆ COMPONENT_TYPE [2/2]

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

Definition at line 490 of file DXContainer.h.

◆ CONTAINER_PART

#define CONTAINER_PART (   Part)    Part,

Definition at line 142 of file DXContainer.h.

◆ D3D_SYSTEM_VALUE

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

Definition at line 483 of file DXContainer.h.

◆ INTERPOLATION_MODE

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

Definition at line 295 of file DXContainer.h.

◆ RESOURCE_FLAG

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

Definition at line 316 of file DXContainer.h.

◆ RESOURCE_KIND

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

Definition at line 309 of file DXContainer.h.

◆ RESOURCE_TYPE

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

Definition at line 302 of file DXContainer.h.

◆ SEMANTIC_KIND

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

Definition at line 281 of file DXContainer.h.

◆ SHADER_FEATURE_FLAG

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

Definition at line 148 of file DXContainer.h.