LLVM 18.0.0git
Classes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
llvm::dxil::ResourceBase Class Reference

#include "Target/DirectX/DXILResource.h"

Inheritance diagram for llvm::dxil::ResourceBase:
Inheritance graph
[legend]

Classes

struct  ExtendedProperties
 

Protected Types

enum class  ComponentType : uint32_t {
  Invalid = 0 , I1 , I16 , U16 ,
  I32 , U32 , I64 , U64 ,
  F16 , F32 , F64 , SNormF16 ,
  UNormF16 , SNormF32 , UNormF32 , SNormF64 ,
  UNormF64 , PackedS8x32 , PackedU8x32 , LastEntry
}
 
using Kinds = hlsl::ResourceKind
 

Protected Member Functions

 ResourceBase (uint32_t I, hlsl::FrontendResource R)
 
void write (LLVMContext &Ctx, MutableArrayRef< Metadata * > Entries) const
 
void print (raw_ostream &O, StringRef IDPrefix, StringRef BindingPrefix) const
 

Static Protected Member Functions

static StringRef getKindName (Kinds Kind)
 
static void printKind (Kinds Kind, unsigned Alignment, raw_ostream &OS, bool SRV=false, bool HasCounter=false, uint32_t SampleCount=0)
 
static StringRef getComponentTypeName (ComponentType CompType)
 
static void printComponentType (Kinds Kind, ComponentType CompType, unsigned Alignment, raw_ostream &OS)
 

Protected Attributes

uint32_t ID
 
GlobalVariableGV
 
StringRef Name
 
uint32_t Space
 
uint32_t LowerBound
 
uint32_t RangeSize
 

Detailed Description

Definition at line 30 of file DXILResource.h.

Member Typedef Documentation

◆ Kinds

Definition at line 43 of file DXILResource.h.

Member Enumeration Documentation

◆ ComponentType

enum class llvm::dxil::ResourceBase::ComponentType : uint32_t
strongprotected
Enumerator
Invalid 
I1 
I16 
U16 
I32 
U32 
I64 
U64 
F16 
F32 
F64 
SNormF16 
UNormF16 
SNormF32 
UNormF32 
SNormF64 
UNormF64 
PackedS8x32 
PackedU8x32 
LastEntry 

Definition at line 51 of file DXILResource.h.

Constructor & Destructor Documentation

◆ ResourceBase()

ResourceBase::ResourceBase ( uint32_t  I,
hlsl::FrontendResource  R 
)
protected

Definition at line 59 of file DXILResource.cpp.

References llvm::GlobalValue::getValueType(), GV, and RangeSize.

Member Function Documentation

◆ getComponentTypeName()

StringRef ResourceBase::getComponentTypeName ( ComponentType  CompType)
staticprotected

◆ getKindName()

StringRef ResourceBase::getKindName ( Kinds  Kind)
staticprotected

Definition at line 134 of file DXILResource.cpp.

References llvm_unreachable.

Referenced by printKind().

◆ print()

void ResourceBase::print ( raw_ostream O,
StringRef  IDPrefix,
StringRef  BindingPrefix 
) const
protected

◆ printComponentType()

void ResourceBase::printComponentType ( Kinds  Kind,
ComponentType  CompType,
unsigned  Alignment,
raw_ostream OS 
)
staticprotected

◆ printKind()

void ResourceBase::printKind ( Kinds  Kind,
unsigned  Alignment,
raw_ostream OS,
bool  SRV = false,
bool  HasCounter = false,
uint32_t  SampleCount = 0 
)
staticprotected

◆ write()

void ResourceBase::write ( LLVMContext Ctx,
MutableArrayRef< Metadata * >  Entries 
) const
protected

Member Data Documentation

◆ GV

GlobalVariable* llvm::dxil::ResourceBase::GV
protected

◆ ID

uint32_t llvm::dxil::ResourceBase::ID
protected

Definition at line 32 of file DXILResource.h.

◆ LowerBound

uint32_t llvm::dxil::ResourceBase::LowerBound
protected

Definition at line 36 of file DXILResource.h.

Referenced by print(), and write().

◆ Name

StringRef llvm::dxil::ResourceBase::Name
protected

◆ RangeSize

uint32_t llvm::dxil::ResourceBase::RangeSize
protected

Definition at line 37 of file DXILResource.h.

Referenced by print(), ResourceBase(), and write().

◆ Space

uint32_t llvm::dxil::ResourceBase::Space
protected

Definition at line 35 of file DXILResource.h.

Referenced by print(), and write().


The documentation for this class was generated from the following files: