C Specification

To set the input attachment index mappings during dynamic rendering, call:

// Provided by VK_KHR_dynamic_rendering_local_read
void vkCmdSetRenderingInputAttachmentIndicesKHR(
    VkCommandBuffer                             commandBuffer,
    const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo);

Parameters

Description

This command sets the input attachment index mappings for subsequent drawing commands, and must match the mappings provided to the currently bound pipeline, if one is bound, which can be set by chaining VkRenderingInputAttachmentIndexInfoKHR to VkGraphicsPipelineCreateInfo.

Until this command is called, mappings in the command buffer state are treated as each color attachment specified in vkCmdBeginRendering mapping to subpass inputs with a InputAttachmentIndex equal to its index in VkRenderingInfo::pColorAttachments, and depth/stencil attachments mapping to input attachments without these decorations. This state is reset whenever vkCmdBeginRendering is called.

Valid Usage
  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-dynamicRenderingLocalRead-09516
    dynamicRenderingLocalRead must be enabled

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pInputAttachmentIndexInfo-09517
    pInputAttachmentIndexInfo->colorAttachmentCount must be equal to the value of VkRenderingInfo::colorAttachmentCount used to begin the current render pass instance

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-09518
    The current render pass instance must have been started or resumed by vkCmdBeginRendering in this commandBuffer

Valid Usage (Implicit)
  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter
    commandBuffer must be a valid VkCommandBuffer handle

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pLocationInfo-parameter
    pLocationInfo must be a valid pointer to a valid VkRenderingInputAttachmentIndexInfoKHR structure

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-recording
    commandBuffer must be in the recording state

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-cmdpool
    The VkCommandPool that commandBuffer was allocated from must support graphics operations

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-renderpass
    This command must only be called inside of a render pass instance

  • VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-videocoding
    This command must only be called outside of a video coding scope

Host Synchronization
  • Host access to commandBuffer must be externally synchronized

  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties
Command Buffer Levels Render Pass Scope Video Coding Scope Supported Queue Types Command Type

Primary
Secondary

Inside

Outside

Graphics

State

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0