C Specification

To query the size of a cooperative vector matrix, or to convert a matrix to another layout and type, call:

// Provided by VK_NV_cooperative_vector
VkResult vkConvertCooperativeVectorMatrixNV(
    VkDevice                                    device,
    const VkConvertCooperativeVectorMatrixInfoNV* pInfo);

Parameters

Description

If pInfo->dstData is NULL, then the number of bytes required to store the converted matrix is returned in pDstSize. Otherwise, pInfo->pDstSize must point to a variable set by the user to the number of bytes in pInfo->dstData, and on return the variable is overwritten with the number of bytes actually written to pInfo->dstData. pInfo->srcData can be NULL when pInfo->dstData is NULL. If pInfo->pDstSize is less than the number of bytes required to store the converted matrix, no bytes will be written, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not enough space was provided.

Valid Usage
  • VUID-vkConvertCooperativeVectorMatrixNV-pInfo-10073
    If pInfo->srcData.hostAddress is NULL, then pInfo->dstData.hostAddress must be NULL

  • VUID-vkConvertCooperativeVectorMatrixNV-pInfo-10074
    If pInfo->srcData.hostAddress is not NULL, then 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 this command

  • VUID-vkConvertCooperativeVectorMatrixNV-pInfo-10075
    If pInfo->dstData.hostAddress is not NULL, then the value pointed to by pInfo->pDstSize must be large enough to contain the destination matrix, based either on the standard matrix layout or based on the size filled out by this command

  • VUID-vkConvertCooperativeVectorMatrixNV-pInfo-10076
    If pInfo->dstData.hostAddress is not NULL, the source and destination memory ranges must not overlap

Valid Usage (Implicit)
  • VUID-vkConvertCooperativeVectorMatrixNV-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkConvertCooperativeVectorMatrixNV-pInfo-parameter
    pInfo must be a valid pointer to a valid VkConvertCooperativeVectorMatrixInfoNV structure

Return Codes
On success, this command returns
  • VK_SUCCESS

  • VK_INCOMPLETE

On failure, this command returns
  • VK_ERROR_OUT_OF_HOST_MEMORY

See Also

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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0