vkCmdConvertCooperativeVectorMatrixNV
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
::deviceAddress
must be 64 byte aligned
VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfo-10085
For each element of pInfo
, dstData
::deviceAddress
must 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 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
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-commandBuffer-parameter
commandBuffer
must be a valid VkCommandBuffer handle
VUID-vkCmdConvertCooperativeVectorMatrixNV-pInfos-parameter
pInfos
must be a valid pointer to an array of infoCount
valid VkConvertCooperativeVectorMatrixInfoNV structures
VUID-vkCmdConvertCooperativeVectorMatrixNV-commandBuffer-recording
commandBuffer
must be in the recording state
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
VUID-vkCmdConvertCooperativeVectorMatrixNV-infoCount-arraylength
infoCount
must be greater than 0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was allocated from must be externally synchronized ::