Function Prototype

vkConvertCooperativeVectorMatrixNV

Convert a cooperative vector matrix from one layout and type to another

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

VkResult vkConvertCooperativeVectorMatrixNV(
    VkDevice device,
    const VkConvertCooperativeVectorMatrixInfoNV* pInfo);

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