LLVM 24.0.0git
llvm::hlsl::SemanticSignatureElement Struct Reference

#include "llvm/Frontend/HLSL/SemanticSignatures.h"

Public Member Functions

bool isAllocated () const
uint8_t getDeclaredMask () const
uint8_t getAlwaysReadsMask () const
uint8_t getNeverWritesMask () const
dxbc::SigMinPrecision getMinPrecision (bool UseMinPrecision) const
LLVM_ABI MDNodetoMetadata (LLVMContext &Ctx) const

Static Public Member Functions

static LLVM_ABI Expected< SemanticSignatureElementfromMetadata (const MDNode *Node)

Public Attributes

uint32_t SigId
StringRef SemanticName
dxil::ElementType CompType
dxbc::PSV::SemanticKind SemanticKind
SmallVector< uint32_tSemanticIndices
dxbc::PSV::InterpolationMode InterpMode
uint32_t Rows
uint8_t Cols
uint32_t StartRow = UnallocatedRow
uint8_t StartCol = UnallocatedCol
uint8_t UsageMask = 0
uint8_t DynIndexMask = 0
uint32_t GSStream = 0

Detailed Description

Definition at line 40 of file SemanticSignatures.h.

Member Function Documentation

◆ fromMetadata()

◆ getAlwaysReadsMask()

uint8_t llvm::hlsl::SemanticSignatureElement::getAlwaysReadsMask ( ) const
inline

Definition at line 66 of file SemanticSignatures.h.

References UsageMask.

◆ getDeclaredMask()

uint8_t llvm::hlsl::SemanticSignatureElement::getDeclaredMask ( ) const
inline

Definition at line 60 of file SemanticSignatures.h.

References Cols, isAllocated(), and StartCol.

Referenced by getNeverWritesMask().

◆ getMinPrecision()

dxbc::SigMinPrecision llvm::hlsl::SemanticSignatureElement::getMinPrecision ( bool UseMinPrecision) const
inline

Definition at line 72 of file SemanticSignatures.h.

References CompType, llvm::dxil::F16, llvm::dxil::I16, and llvm::dxil::U16.

◆ getNeverWritesMask()

uint8_t llvm::hlsl::SemanticSignatureElement::getNeverWritesMask ( ) const
inline

Definition at line 68 of file SemanticSignatures.h.

References getDeclaredMask(), and UsageMask.

◆ isAllocated()

bool llvm::hlsl::SemanticSignatureElement::isAllocated ( ) const
inline

◆ toMetadata()

Member Data Documentation

◆ Cols

uint8_t llvm::hlsl::SemanticSignatureElement::Cols

Definition at line 49 of file SemanticSignatures.h.

Referenced by fromMetadata(), getDeclaredMask(), and toMetadata().

◆ CompType

dxil::ElementType llvm::hlsl::SemanticSignatureElement::CompType

Definition at line 43 of file SemanticSignatures.h.

Referenced by fromMetadata(), getMinPrecision(), and toMetadata().

◆ DynIndexMask

uint8_t llvm::hlsl::SemanticSignatureElement::DynIndexMask = 0

Definition at line 53 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ GSStream

uint32_t llvm::hlsl::SemanticSignatureElement::GSStream = 0

Definition at line 54 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ InterpMode

dxbc::PSV::InterpolationMode llvm::hlsl::SemanticSignatureElement::InterpMode
Initial value:
=
dxbc::PSV::InterpolationMode::Undefined

Definition at line 46 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ Rows

uint32_t llvm::hlsl::SemanticSignatureElement::Rows

Definition at line 48 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ SemanticIndices

SmallVector<uint32_t> llvm::hlsl::SemanticSignatureElement::SemanticIndices

Definition at line 45 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ SemanticKind

dxbc::PSV::SemanticKind llvm::hlsl::SemanticSignatureElement::SemanticKind

Definition at line 44 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ SemanticName

StringRef llvm::hlsl::SemanticSignatureElement::SemanticName

Definition at line 42 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ SigId

uint32_t llvm::hlsl::SemanticSignatureElement::SigId

Definition at line 41 of file SemanticSignatures.h.

Referenced by fromMetadata(), and toMetadata().

◆ StartCol

uint8_t llvm::hlsl::SemanticSignatureElement::StartCol = UnallocatedCol

Definition at line 51 of file SemanticSignatures.h.

Referenced by fromMetadata(), getDeclaredMask(), isAllocated(), and toMetadata().

◆ StartRow

uint32_t llvm::hlsl::SemanticSignatureElement::StartRow = UnallocatedRow

Definition at line 50 of file SemanticSignatures.h.

Referenced by fromMetadata(), isAllocated(), and toMetadata().

◆ UsageMask

uint8_t llvm::hlsl::SemanticSignatureElement::UsageMask = 0

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