Function Prototype

vkCmdBindShadingRateImageNV

Bind a shading rate image on a command buffer
primary / secondary
both
graphics
state

When shading rate image usage is enabled in the bound pipeline, the pipeline uses a shading rate image specified by the command:

void vkCmdBindShadingRateImageNV(
    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 shading rate image. imageView may be set to VK_NULL_HANDLE, which is equivalent to specifying a view of an image filled with zero values.
  • imageLayout is the layout that the image subresources accessible from imageView will be in when the shading rate image is accessed.

Valid Usage

VUID-vkCmdBindShadingRateImageNV-imageView-02059

If imageView is not VK_NULL_HANDLE, it must be a valid VkImageView handle of type VK_IMAGE_VIEW_TYPE_2D or VK_IMAGE_VIEW_TYPE_2D_ARRAY

VUID-vkCmdBindShadingRateImageNV-imageView-02060

If imageView is not VK_NULL_HANDLE, it must have a format of VK_FORMAT_R8_UINT

VUID-vkCmdBindShadingRateImageNV-imageView-02061

If imageView is not VK_NULL_HANDLE, it must have been created with a usage value including VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV

VUID-vkCmdBindShadingRateImageNV-imageView-02062

If imageView is not VK_NULL_HANDLE, imageLayout must match the actual VkImageLayout of each subresource accessible from imageView at the time the subresource is accessed

VUID-vkCmdBindShadingRateImageNV-imageLayout-02063

If imageView is not VK_NULL_HANDLE, imageLayout must be VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV or VK_IMAGE_LAYOUT_GENERAL

Valid Usage (Implicit)

VUID-vkCmdBindShadingRateImageNV-imageView-parameter

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

VUID-vkCmdBindShadingRateImageNV-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdBindShadingRateImageNV-videocoding

This command must only be called outside of a video coding scope

VUID-vkCmdBindShadingRateImageNV-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 ::