C Specification
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:
// Provided by VK_NV_cooperative_vector
typedef struct VkCooperativeVectorPropertiesNV {
    VkStructureType       sType;
    void*                 pNext;
    VkComponentTypeKHR    inputType;
    VkComponentTypeKHR    inputInterpretation;
    VkComponentTypeKHR    matrixInterpretation;
    VkComponentTypeKHR    biasInterpretation;
    VkComponentTypeKHR    resultType;
    VkBool32              transpose;
} VkCooperativeVectorPropertiesNV;Members
- 
sTypeis a VkStructureType value identifying this structure.
- 
pNextisNULLor a pointer to a structure extending this structure.
- 
inputTypeis the component type of vectorInput, of type VkComponentTypeKHR.
- 
inputInterpretationis the value ofInputInterpretation, of type VkComponentTypeKHR.
- 
matrixInterpretationis the value ofMatrixInterpretation, of type VkComponentTypeKHR.
- 
biasInterpretationis the value ofBiasInterpretation, of type VkComponentTypeKHR.
- 
resultTypeis the component type ofResultType, of type VkComponentTypeKHR.
- 
transposeis a boolean indicating whether opaque layout matrices with this combination of input and output types supports transposition.
Description
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 | 
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.