30 static_cast<uint32_t>(dxbc::PSV::SemanticKind::Invalid);
32 static_cast<uint32_t>(dxbc::PSV::InterpolationMode::Invalid);
41 return makeError(
"expected integer operand " +
Twine(OpId));
42 return CI->getZExtValue();
48 return dxbc::PSV::SemanticKind::Arbitrary;
54 return dxbc::PSV::SemanticKind::Invalid;
60 enum class OpIdx :
unsigned {
76 const unsigned NumElementOperands =
to_underlying(OpIdx::LastEntry) + 1;
79 return makeError(
"signature element node is null");
80 if (
Node->getNumOperands() != NumElementOperands)
81 return makeError(
"signature element node has wrong number of operands");
87 return SigId.takeError();
93 return makeError(
"expected semantic name string");
101 return makeError(
"invalid component type");
109 return makeError(
"invalid semantic kind");
115 return makeError(
"expected semantic indices node");
116 for (
unsigned I = 0, E = Indices->getNumOperands();
I != E; ++
I) {
119 return Index.takeError();
128 return makeError(
"invalid interpolation mode");
133 return Rows.takeError();
138 return Cols.takeError();
140 return makeError(
"number of components per row must be within 1-4");
154 return makeError(
"start column must be within 0-3 or unallocated");
159 return makeError(
"start row and column sentinels must be set together");
166 return makeError(
"usage mask must be a 4-bit value");
174 return makeError(
"dynamic index mask must be a 4-bit value");
182 return makeError(
"geometry shader stream index must be within 0-3");
187 "number of semantic indices must equal the number of rows");
This file contains the declarations for the subclasses of Constant, which represent the different fla...
This file contains library features backported from future STL versions.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This is an important class for using LLVM in a threaded context.
static MDTuple * get(LLVMContext &Context, ArrayRef< Metadata * > MDs)
static LLVM_ABI MDString * get(LLVMContext &Context, StringRef Str)
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Represent a constant reference to a string, i.e.
bool equals_insensitive(StringRef RHS) const
Check for string equality, ignoring case.
bool consume_front_insensitive(StringRef Prefix)
Returns true if this StringRef has the given prefix, ignoring case, and removes that prefix.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
The instances of the Type class are immutable: once they are created, they are never changed.
static LLVM_ABI IntegerType * getInt32Ty(LLVMContext &C)
static LLVM_ABI IntegerType * getInt8Ty(LLVMContext &C)
LLVM_ABI EnumStrings< SemanticKind, 1 > getSemanticKinds()
ElementType
The element type of an SRV or UAV resource.
static constexpr uint32_t UnallocatedRow
LLVM_ABI dxbc::PSV::SemanticKind getSemanticKind(StringRef SemanticName)
static constexpr uint8_t UnallocatedCol
std::enable_if_t< detail::IsValidPointer< X, Y >::value, X * > dyn_extract_or_null(Y &&MD)
Extract a Value from Metadata, if any, allowing null.
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
LLVM_ABI std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.
static LLVM_ABI Expected< SemanticSignatureElement > fromMetadata(const MDNode *Node)
SmallVector< uint32_t > SemanticIndices
dxil::ElementType CompType
dxbc::PSV::SemanticKind SemanticKind
SemanticSignatureElement()=default
dxbc::PSV::InterpolationMode InterpMode
LLVM_ABI MDNode * toMetadata(LLVMContext &Ctx) const