Function Prototype

vkGetPhysicalDeviceCooperativeMatrixProperties2EXT

Returns properties describing what cooperative matrix types are supported

To enumerate the supported cooperative matrix types and operations, call:

VkResult vkGetPhysicalDeviceCooperativeMatrixProperties2EXT(
    VkPhysicalDevice physicalDevice,
    const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo,
    uint32_t* pPropertyCount,
    VkCooperativeMatrixProperties2EXT* pProperties);
  • physicalDevice is the physical device.
  • pCooperativeMatrixInfo is a pointer to a VkPhysicalDeviceCooperativeMatrixInfo2EXT structure describing which cooperative matrix properties to query.
  • pPropertyCount is a pointer to an integer related to the number of cooperative matrix properties available or queried.
  • pProperties is either NULL or a pointer to an array of VkCooperativeMatrixProperties2EXT structures.

If pProperties is NULL, then the number of cooperative matrix properties available is returned in pPropertyCount. Otherwise, pPropertyCount must point to a variable set by the application to the number of elements in the pProperties array, and on return the variable is overwritten with the number of structures actually written to pProperties. If pPropertyCount is less than the number of cooperative matrix properties available, at most pPropertyCount structures will be written, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available cooperative matrix properties were returned.

The implementation must not return pPropertyCount equal to 0 for the following parameters, when VkPhysicalDeviceCooperativeMatrixInfo2EXT::flags does not contain VK_COOPERATIVE_MATRIX_SATURATING_ACCUMULATION_BIT_EXT:

For each of the above required parameters, at least one property must be returned for each of the following combinations of component types:

  • AType and BType are VK_COMPONENT_TYPE_FLOAT16_KHR, CType and ResultType are either both VK_COMPONENT_TYPE_FLOAT16_KHR or both VK_COMPONENT_TYPE_FLOAT32_KHR
  • AType and BType are VK_COMPONENT_TYPE_UINT8_KHR, CType and ResultType are either both VK_COMPONENT_TYPE_UINT32_KHR or both VK_COMPONENT_TYPE_SINT32_KHR
  • AType and BType are VK_COMPONENT_TYPE_SINT8_KHR, CType and ResultType are VK_COMPONENT_TYPE_SINT32_KHR

Valid Usage (Implicit)

VUID-vkGetPhysicalDeviceCooperativeMatrixProperties2EXT-pPropertyCount-parameter

pPropertyCount must be a valid pointer to a uint32_t value

VUID-vkGetPhysicalDeviceCooperativeMatrixProperties2EXT-pProperties-parameter

If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkCooperativeMatrixProperties2EXT structures