Function Prototype

vkCmdConvertCooperativeVectorMatrixNV

Convert a cooperative vector matrix from one layout and type to another
primary / secondary
outside
graphics / compute
action

To convert a matrix to another layout and type, call:

void vkCmdConvertCooperativeVectorMatrixNV(
    VkCommandBuffer commandBuffer,
    uint32_t infoCount,
    const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
  • commandBuffer is the command buffer into which the command will be recorded.
  • infoCount is the number of layout conversions to perform.
  • pInfos is a pointer to an array of VkConvertCooperativeVectorMatrixInfoNV structures containing information about the layout conversion.

This command does the same conversions as vkConvertCooperativeVectorMatrixNV, but executes on the device. One conversion is performed for each of the infoCount elements of pInfos.

This command’s execution is synchronized using VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV.

Valid Usage

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10083

For each element of pInfo, srcData::deviceAddress and dstData::deviceAddress must be valid device addresses

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10084

For each element of pInfo, srcData::deviceAddressmust be 64 byte aligned

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10085

For each element of pInfo, dstData::deviceAddressmust be 64 byte aligned

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10086

For each element of pInfo, srcSize must be large enough to contain the source matrix, based either on the standard matrix layout or based on the size filled out by vkConvertCooperativeVectorMatrixNV

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10087

For each element of pInfo, the value pointed to by pDstSizemust be large enough to contain the destination matrix, based either on the standard matrix layout or based on the size filled out by vkConvertCooperativeVectorMatrixNV

VUID-vkCmdConvertCooperativeVectorMatrixNV-None-10088

Memory accessed by the sources and destinations of all of the conversions must not overlap

Valid Usage (Implicit)

VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfos-parameter

pInfos must be a valid pointer to an array of infoCount valid VkConvertCooperativeVectorMatrixInfoNV structures

VUID-vkCmdConvertCooperativeVectorMatrixNV-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations

VUID-vkCmdConvertCooperativeVectorMatrixNV-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdConvertCooperativeVectorMatrixNV-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::