VkCooperativeVectorPropertiesNV
Each VkCooperativeVectorPropertiesNV
structure describes a single
supported combination of types for a matrix-vector multiply (or
multiply-add) operation (OpCooperativeVectorMatrixMulNV
or
OpCooperativeVectorMatrixMulAddNV
).
The VkCooperativeVectorPropertiesNV
structure is defined as:
typedef struct VkCooperativeVectorPropertiesNV {
VkStructureType sType;
void* pNext;
VkComponentTypeKHR inputType;
VkComponentTypeKHR inputInterpretation;
VkComponentTypeKHR matrixInterpretation;
VkComponentTypeKHR biasInterpretation;
VkComponentTypeKHR resultType;
VkBool32 transpose;
} VkCooperativeVectorPropertiesNV;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.inputType
is the component type of vectorInput
, of type VkComponentTypeKHR.inputInterpretation
is the value ofInputInterpretation
, of type VkComponentTypeKHR.matrixInterpretation
is the value ofMatrixInterpretation
, of type VkComponentTypeKHR.biasInterpretation
is the value ofBiasInterpretation
, of type VkComponentTypeKHR.resultType
is the component type ofResult
Type
, of type VkComponentTypeKHR.transpose
is a boolean indicating whether opaque layout matrices with this combination of input and output types supports transposition.
VK_COMPONENT_TYPE_SINT8_PACKED_NV
and
VK_COMPONENT_TYPE_UINT8_PACKED_NV
must not be used for members other
than inputInterpretation
.
The following combinations must be supported (each row is a required combination):
inputType | inputInterpretation | matrixInterpretation | biasInterpretation | resultType |
---|---|---|---|---|
FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 |
UINT32 | SINT8_PACKED | SINT8 | SINT32 | SINT32 |
SINT8 | SINT8 | SINT8 | SINT32 | SINT32 |
FLOAT32 | SINT8 | SINT8 | SINT32 | SINT32 |
FLOAT16 | FLOAT_E4M3 | FLOAT_E4M3 | FLOAT16 | FLOAT16 |
FLOAT16 | FLOAT_E5M2 | FLOAT_E5M2 | FLOAT16 | FLOAT16 |
Valid Usage (Implicit)
VUID-VkCooperativeVectorPropertiesNV-sType-sType
sType
must be VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV
VUID-VkCooperativeVectorPropertiesNV-pNext-pNext
pNext
must be NULL
VUID-VkCooperativeVectorPropertiesNV-inputType-parameter
inputType
must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-inputInterpretation-parameter
inputInterpretation
must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-matrixInterpretation-parameter
matrixInterpretation
must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-biasInterpretation-parameter
biasInterpretation
must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-resultType-parameter
resultType
must be a valid VkComponentTypeKHR value