LLVM 19.0.0git
Namespaces | Classes | Typedefs | Enumerations | Functions
llvm::dxil Namespace Reference

Namespaces

namespace  PointerTypeAnalysis
 An analysis to compute the PointerTypes for pointers in a Module.
 

Classes

class  BitcodeWriter
 
class  CBufferDataLayout
 
struct  ComputedShaderFlags
 
class  ConstantBuffer
 
class  DXILBitcodeWriter
 
class  DXILOpBuilder
 
class  LegacyCBufferLayout
 
class  ResourceBase
 
struct  ResourceBinding
 
class  ResourceInfo
 
class  Resources
 
class  ResourceTable
 
class  ShaderFlagsAnalysis
 
class  ShaderFlagsAnalysisPrinter
 Printer pass for ShaderFlagsAnalysis results. More...
 
class  ShaderFlagsAnalysisWrapper
 Wrapper pass for the legacy pass manager. More...
 
class  UAVResource
 
class  ValidatorVersionMD
 
class  ValueEnumerator
 

Typedefs

using PointerTypeMap = DenseMap< const Value *, Type * >
 

Enumerations

enum class  ParameterKind : uint8_t {
  Invalid = 0 , Void , Half , Float ,
  Double , I1 , I8 , I16 ,
  I32 , I64 , Overload , CBufferRet ,
  ResourceRet , DXILHandle
}
 
enum class  ResourceClass : uint8_t { SRV = 0 , UAV , CBuffer , Sampler }
 
enum class  ResourceKind : uint32_t {
  Invalid = 0 , Texture1D , Texture2D , Texture2DMS ,
  Texture3D , TextureCube , Texture1DArray , Texture2DArray ,
  Texture2DMSArray , TextureCubeArray , TypedBuffer , RawBuffer ,
  StructuredBuffer , CBuffer , Sampler , TBuffer ,
  RTAccelerationStructure , FeedbackTexture2D , FeedbackTexture2DArray , NumEntries
}
 The kind of resource for an SRV or UAV resource. More...
 
enum class  ElementType : uint32_t {
  Invalid = 0 , I1 , I16 , U16 ,
  I32 , U32 , I64 , U64 ,
  F16 , F32 , F64 , SNormF16 ,
  UNormF16 , SNormF32 , UNormF32 , SNormF64 ,
  UNormF64 , PackedS8x32 , PackedU8x32
}
 The element type of an SRV or UAV resource. More...
 
enum class  ExtPropTags : uint32_t { ElementType = 0 , StructuredBufferStride = 1 , SamplerFeedbackKind = 2 , Atomic64Use = 3 }
 Metadata tags for extra resource properties. More...
 
enum class  SamplerType : uint32_t { Default = 0 , Comparison = 1 , Mono = 2 }
 
enum class  SamplerFeedbackType : uint32_t { MinMip = 0 , MipRegionUsed = 1 }
 
enum  MetadataAbbrev : unsigned { LastPlusOne }
 

Functions

void createShaderModelMD (Module &M)
 
void createDXILVersionMD (Module &M)
 
void createEntryMD (Module &M, const uint64_t ShaderFlags)
 
void WriteDXILToFile (const Module &M, raw_ostream &Out)
 Write the specified module to the specified raw output stream.
 

Typedef Documentation

◆ PointerTypeMap

Definition at line 26 of file PointerTypeAnalysis.h.

Enumeration Type Documentation

◆ ElementType

enum class llvm::dxil::ElementType : uint32_t
strong

The element type of an SRV or UAV resource.

Enumerator
Invalid 
I1 
I16 
U16 
I32 
U32 
I64 
U64 
F16 
F32 
F64 
SNormF16 
UNormF16 
SNormF32 
UNormF32 
SNormF64 
UNormF64 
PackedS8x32 
PackedU8x32 

Definition at line 75 of file DXILABI.h.

◆ ExtPropTags

enum class llvm::dxil::ExtPropTags : uint32_t
strong

Metadata tags for extra resource properties.

Enumerator
ElementType 
StructuredBufferStride 
SamplerFeedbackKind 
Atomic64Use 

Definition at line 98 of file DXILABI.h.

◆ MetadataAbbrev

Enumerator
LastPlusOne 

Definition at line 59 of file DXILBitcodeWriter.cpp.

◆ ParameterKind

enum class llvm::dxil::ParameterKind : uint8_t
strong
Enumerator
Invalid 
Void 
Half 
Float 
Double 
I1 
I8 
I16 
I32 
I64 
Overload 
CBufferRet 
ResourceRet 
DXILHandle 

Definition at line 25 of file DXILABI.h.

◆ ResourceClass

enum class llvm::dxil::ResourceClass : uint8_t
strong
Enumerator
SRV 
UAV 
CBuffer 
Sampler 

Definition at line 42 of file DXILABI.h.

◆ ResourceKind

enum class llvm::dxil::ResourceKind : uint32_t
strong

The kind of resource for an SRV or UAV resource.

Sometimes referred to as "Shape" in the DXIL docs.

Enumerator
Invalid 
Texture1D 
Texture2D 
Texture2DMS 
Texture3D 
TextureCube 
Texture1DArray 
Texture2DArray 
Texture2DMSArray 
TextureCubeArray 
TypedBuffer 
RawBuffer 
StructuredBuffer 
CBuffer 
Sampler 
TBuffer 
RTAccelerationStructure 
FeedbackTexture2D 
FeedbackTexture2DArray 
NumEntries 

Definition at line 51 of file DXILABI.h.

◆ SamplerFeedbackType

Enumerator
MinMip 
MipRegionUsed 

Definition at line 111 of file DXILABI.h.

◆ SamplerType

enum class llvm::dxil::SamplerType : uint32_t
strong
Enumerator
Default 
Comparison 
Mono 

Definition at line 105 of file DXILABI.h.

Function Documentation

◆ createDXILVersionMD()

void llvm::dxil::createDXILVersionMD ( Module M)

◆ createEntryMD()

void llvm::dxil::createEntryMD ( Module M,
const uint64_t  ShaderFlags 
)

◆ createShaderModelMD()

void llvm::dxil::createShaderModelMD ( Module M)

◆ WriteDXILToFile()

void llvm::dxil::WriteDXILToFile ( const Module M,
raw_ostream Out 
)

Write the specified module to the specified raw output stream.

Write the specified module to the specified output stream.

For streams where it matters, the given stream should be in "binary" mode.

Definition at line 386 of file DXILBitcodeWriter.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::BWH_HeaderSize, llvm::SmallVectorBase< Size_T >::empty(), llvm::SmallVectorTemplateCommon< T, typename >::front(), llvm::SmallVectorImpl< T >::insert(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorBase< Size_T >::size(), llvm::raw_ostream::write(), and llvm::dxil::BitcodeWriter::writeModule().