Function Prototype

vkCmdBindInvocationMaskHUAWEI

Bind an invocation mask image on a command buffer
primary / secondary
outside
compute
state

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);
  • commandBuffer is the command buffer into which the command will be recorded
  • imageView is an image view handle specifying the invocation mask image imageView may be set to VK_NULL_HANDLE, which is equivalent to specifying a view of an image filled with ones value.
  • imageLayout is the layout that the image subresources accessible from imageView will be in when the invocation mask image is accessed

Valid Usage

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

Valid Usage (Implicit)

VUID-vkCmdBindInvocationMaskHUAWEI-imageView-parameter

If imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle

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 commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::