Structures

VkCooperativeMatrixPropertiesNV

Structure specifying cooperative matrix properties

The VkCooperativeMatrixPropertiesNV structure is defined as:

typedef struct VkCooperativeMatrixPropertiesNV {
    VkStructureType sType;
    void* pNext;
    uint32_t MSize;
    uint32_t NSize;
    uint32_t KSize;
    VkComponentTypeNV AType;
    VkComponentTypeNV BType;
    VkComponentTypeNV CType;
    VkComponentTypeNV DType;
    VkScopeNV scope;
} VkCooperativeMatrixPropertiesNV;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • MSize is the number of rows in matrices A, C, and D.
  • KSize is the number of columns in matrix A and rows in matrix B.
  • NSize is the number of columns in matrices B, C, D.
  • AType is the component type of matrix A, of type VkComponentTypeNV.
  • BType is the component type of matrix B, of type VkComponentTypeNV.
  • CType is the component type of matrix C, of type VkComponentTypeNV.
  • DType is the component type of matrix D, of type VkComponentTypeNV.
  • scope is the scope of all the matrix types, of type VkScopeNV.

If some types are preferred over other types (e.g. for performance), they should appear earlier in the list enumerated by vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.

At least one entry in the list must have power of two values for all of MSize, KSize, and NSize.

Valid Usage (Implicit)

VUID-VkCooperativeMatrixPropertiesNV-sType-sType

sType must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV