13#ifndef LLVM_FRONTEND_HLSL_SEMANTICSIGNATUREPACKING_H
14#define LLVM_FRONTEND_HLSL_SEMANTICSIGNATUREPACKING_H
43 : Kind(Kind), ElementIndex(ElementIndex) {}
56 unsigned ElementIndex;
88 bool UseNative16BitTypes);
125 bool UseNative16BitTypes);
Base class for user error types.
Tagged union holding either a T or a Error.
Represent a mutable reference to an array (0 or more elements consecutively in memory),...
SignaturePackingError(ErrorKind Kind, unsigned ElementIndex)
@ SemanticIndexOutOfRange
unsigned getElementIndex() const
ErrorKind getErrorKind() const
std::error_code convertToErrorCode() const override
Convert this error to a std::error_code.
This class implements an extremely fast bulk output stream that can only output to a stream.
static constexpr unsigned MaxGeometryStreams
LLVM_ABI Expected< unsigned > packSignatureStacked(MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy)
Packs eligible signature elements into consecutive rows.
LLVM_ABI Expected< unsigned > packSignaturePrefixStable(MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy, bool UseNative16BitTypes)
Packs eligible signature elements without moving previously placed elements.
LLVM_ABI Expected< unsigned > packSignatureIndexed(MutableArrayRef< SemanticSignatureElement > Elements, Triple::EnvironmentType ShaderStage, IOType IOTy)
Packs eligible signature elements at rows selected by semantic index.
LLVM_ABI Expected< unsigned > 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 packin...
static constexpr unsigned MaxClipCullRows
static constexpr unsigned MaxSignatureRows
static constexpr unsigned MaxSignatureCols
LLVM_ABI std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...