vkCmdBindInvocationMaskHUAWEI
When invocation mask image usage is enabled in the bound ray tracing pipeline, the pipeline uses an invocation mask image specified by the command:
void vkCmdBindInvocationMaskHUAWEI(
VkCommandBuffer commandBuffer,
VkImageView imageView,
VkImageLayout imageLayout);
commandBufferis the command buffer into which the command will be recordedimageViewis an image view handle specifying the invocation mask imageimageViewmay be VK_NULL_HANDLE, which is equivalent to specifying a view of an image filled with ones value.imageLayoutis the layout that the image subresources accessible fromimageViewwill be in when the invocation mask image is accessed
Valid Usage
VUID-vkCmdBindInvocationMaskHUAWEI-None-04976
The invocationMask feature must be
enabled
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04977
If imageView is not VK_NULL_HANDLE, it must be a valid
VkImageView handle of type VK_IMAGE_VIEW_TYPE_2D
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04978
If imageView is not VK_NULL_HANDLE, it must have a format
of VK_FORMAT_R8_UINT
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04979
If imageView is not VK_NULL_HANDLE, it must have been
created with VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI set
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04980
If imageView is not VK_NULL_HANDLE, imageLayout must
be VK_IMAGE_LAYOUT_GENERAL
VUID-vkCmdBindInvocationMaskHUAWEI-width-04981
Thread mask image resolution must match the width and
height in vkCmdTraceRaysKHR
VUID-vkCmdBindInvocationMaskHUAWEI-None-04982
Each element in the invocation mask image must have the value 0 or
1.
The value 1 means the invocation is active
VUID-vkCmdBindInvocationMaskHUAWEI-depth-04983
depth in vkCmdTraceRaysKHR must be 1
Valid Usage (Implicit)
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-parameter
If imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle
VUID-vkCmdBindInvocationMaskHUAWEI-imageLayout-parameter
imageLayout must be a valid VkImageLayout value
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdBindInvocationMaskHUAWEI-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdBindInvocationMaskHUAWEI-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdBindInvocationMaskHUAWEI-commonparent
Both of commandBuffer, and imageView that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::