LLVM 24.0.0git
SemanticSignaturePacking.h File Reference

Go to the source code of this file.

Classes

class  llvm::hlsl::SignaturePackingError
 Denotes the element that could not be packed and why. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::hlsl

Functions

LLVM_ABI Expected< unsigned > llvm::hlsl::packSignatureStacked (MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy)
 Packs eligible signature elements into consecutive rows.
LLVM_ABI Expected< unsigned > llvm::hlsl::packSignaturePrefixStable (MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy, bool UseNative16BitTypes)
 Packs eligible signature elements without moving previously placed elements.
LLVM_ABI Expected< unsigned > llvm::hlsl::packSignatureIndexed (MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy)
 Packs eligible signature elements at rows selected by semantic index.
LLVM_ABI Expected< unsigned > llvm::hlsl::packSignatureOptimized (MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy, bool UseNative16BitTypes)
 Packs eligible signature elements in an optimized order by reordering elements into an optimal packing order and allowing clip/cull to share compatible rows.

Variables

static constexpr unsigned llvm::hlsl::MaxSignatureRows = 32
static constexpr unsigned llvm::hlsl::MaxSignatureCols = 4
static constexpr unsigned llvm::hlsl::MaxClipCullRows = 2
static constexpr unsigned llvm::hlsl::MaxGeometryStreams = 4