Structures
VkCooperativeMatrixPropertiesKHR
Structure specifying cooperative matrix properties
The VkCooperativeMatrixPropertiesKHR
structure is defined as:
typedef struct VkCooperativeMatrixPropertiesKHR {
VkStructureType sType;
void* pNext;
uint32_t MSize;
uint32_t NSize;
uint32_t KSize;
VkComponentTypeKHR AType;
VkComponentTypeKHR BType;
VkComponentTypeKHR CType;
VkComponentTypeKHR ResultType;
VkBool32 saturatingAccumulation;
VkScopeKHR scope;
} VkCooperativeMatrixPropertiesKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.MSize
is the number of rows in matricesA
,C
, andResult
.KSize
is the number of columns in matrixA
and rows in matrixB
.NSize
is the number of columns in matricesB
,C
,Result
.AType
is the component type of matrixA
, of type VkComponentTypeKHR.BType
is the component type of matrixB
, of type VkComponentTypeKHR.CType
is the component type of matrixC
, of type VkComponentTypeKHR.ResultType
is the component type of matrixResult
, of type VkComponentTypeKHR.saturatingAccumulation
indicates whether theSaturatingAccumulation
operand toOpCooperativeMatrixMulAddKHR
must be present or not. If it isVK_TRUE
, theSaturatingAccumulation
operand must be present. If it isVK_FALSE
, theSaturatingAccumulation
operand must not be present.scope
is the scope of all the matrix types, of type VkScopeKHR.
If some types are preferred over other types (e.g. for performance), they should appear earlier in the list enumerated by vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.
At least one entry in the list must have power of two values for all of
MSize
, KSize
, and NSize
.
scope
must be VK_SCOPE_SUBGROUP_KHR
.
Valid Usage (Implicit)
VUID-VkCooperativeMatrixPropertiesKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR
VUID-VkCooperativeMatrixPropertiesKHR-pNext-pNext
pNext
must be NULL