Structures

VkPhysicalDeviceCooperativeVectorPropertiesNV

Structure describing cooperative vector properties supported by an implementation

The VkPhysicalDeviceCooperativeVectorPropertiesNV structure is defined as:

typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV {
    VkStructureType sType;
    void* pNext;
    VkShaderStageFlags cooperativeVectorSupportedStages;
    VkBool32 cooperativeVectorTrainingFloat16Accumulation;
    VkBool32 cooperativeVectorTrainingFloat32Accumulation;
    uint32_t maxCooperativeVectorComponents;
} VkPhysicalDeviceCooperativeVectorPropertiesNV;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • cooperativeVectorSupportedStages is a bitfield of VkShaderStageFlagBits describing the shader stages that cooperative vector instructions are supported in. cooperativeVectorSupportedStages will have the VK_SHADER_STAGE_COMPUTE_BIT bit set if any of the physical device’s queues support VK_QUEUE_COMPUTE_BIT.
  • cooperativeVectorTrainingFloat16Accumulation is VK_TRUE if the implementation supports cooperative vector training functions accumulating 16-bit floating-point results.
  • cooperativeVectorTrainingFloat32Accumulation is VK_TRUE if the implementation supports cooperative vector training functions accumulating 32-bit floating-point results.
  • maxCooperativeVectorComponents indicates the maximum number of components that can be in a cooperative vector.

If the VkPhysicalDeviceCooperativeVectorPropertiesNV structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

VUID-VkPhysicalDeviceCooperativeVectorPropertiesNV-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV