# VkPhysicalDeviceCooperativeVectorPropertiesNV(3) Manual Page

## Name

VkPhysicalDeviceCooperativeVectorPropertiesNV - Structure describing cooperative vector properties supported by an implementation

Loading… please wait.

## C Specification

The `VkPhysicalDeviceCooperativeVectorPropertiesNV` structure is defined as:

    // Provided by VK_NV_cooperative_vector
    typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV {
        VkStructureType       sType;
        void*                 pNext;
        VkShaderStageFlags    cooperativeVectorSupportedStages;
        VkBool32              cooperativeVectorTrainingFloat16Accumulation;
        VkBool32              cooperativeVectorTrainingFloat32Accumulation;
        uint32_t              maxCooperativeVectorComponents;
    } VkPhysicalDeviceCooperativeVectorPropertiesNV;

## Members

- `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.

## Description

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`

## See Also

VK_NV_cooperative_vector, VkBool32, VkShaderStageFlags, VkStructureType

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0