Structures

VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT

Structure describing cooperative matrix features that can be supported by an implementation

The VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT structure is defined as:

typedef struct VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT {
    VkStructureType sType;
    void* pNext;
    VkBool32 cooperativeMatrixProperties2;
    VkBool32 cooperativeMatrixReductions;
    VkBool32 cooperativeMatrixConversions;
    VkBool32 cooperativeMatrixPerElementOperations;
    VkBool32 cooperativeMatrixGetCoordinate;
} VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT;

This structure describes the following features:

  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • cooperativeMatrixProperties2 indicates that the implementation supports the vkGetPhysicalDeviceCooperativeMatrixProperties2EXT command.
  • cooperativeMatrixReductions indicates that the implementation supports the CooperativeMatrixReductionsEXT SPIR-V capability. This allows performing (row, column, 2x2, or all element) reductions on matrices.
  • cooperativeMatrixConversions indicates that the implementation supports the CooperativeMatrixConversionsEXT SPIR-V capability. This allows converting accumulator matrices to A or B matrices.
  • cooperativeMatrixPerElementOperations indicates that the implementation supports the CooperativeMatrixPerElementOperationsEXT SPIR-V capability. This allows performing element-wise operations on matrix elements using a callback function.
  • cooperativeMatrixGetCoordinate indicates that the implementation supports the CooperativeMatrixGetCoordinateEXT SPIR-V capability. This allows querying locations for a matrix element.

If the VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT structure is included in the pNext chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a VkDevice with any features described by VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT, it must add an instance of the structure, with the desired feature members set to VK_TRUE, to the pNext chain of VkDeviceCreateInfo when creating the VkDevice.

Valid Usage (Implicit)

VUID-VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT