VkRenderingAttachmentLocationInfoKHR(3)

# VkRenderingAttachmentLocationInfoKHR(3) Manual Page

## Name

VkRenderingAttachmentLocationInfoKHR - Structure specifying attachment locations

Loading… please wait.

## C Specification

The `VkRenderingAttachmentLocationInfoKHR` structure is defined as:

    // Provided by VK_KHR_dynamic_rendering_local_read
    typedef struct VkRenderingAttachmentLocationInfoKHR {
        VkStructureType    sType;
        const void*        pNext;
        uint32_t           colorAttachmentCount;
        const uint32_t*    pColorAttachmentLocations;
    } VkRenderingAttachmentLocationInfoKHR;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `colorAttachmentCount` is the number of elements in `pColorAttachmentLocations`.

- `pColorAttachmentLocations` is a pointer to an array of `colorAttachmentCount` `uint32_t` values defining remapped locations for color attachments.

## Description

This structure allows applications to remap the locations of color attachments to different fragment shader output locations.

Each element of `pColorAttachmentLocations` set to `VK_ATTACHMENT_UNUSED` will be inaccessible to this pipeline as a color attachment; no location will map to it. Each element of `pColorAttachmentLocations` set to any other value will map the specified location value to the color attachment specified in the render pass at the corresponding index in the `pColorAttachmentLocations` array. If `pColorAttachmentLocations` is `NULL`, it is equivalent to setting each element to its index within the array. Any writes to a fragment output location that is not mapped to an attachment must be discarded.

This structure can be included in the `pNext` chain of a VkGraphicsPipelineCreateInfo structure to set this state for a pipeline. This structure can be included in the `pNext` chain of a VkCommandBufferInheritanceInfo structure to specify inherited state from the primary command buffer. If this structure is not included in the `pNext` chain of VkGraphicsPipelineCreateInfo or VkCommandBufferInheritanceInfo, it is equivalent to specifying this structure with the following properties:

- `colorAttachmentCount` set to VkPipelineRenderingCreateInfo::`colorAttachmentCount`.

- `pColorAttachmentLocations` set to `NULL`.

Valid Usage

- VUID-VkRenderingAttachmentLocationInfoKHR-dynamicRenderingLocalRead-09512
  If the `dynamicRenderingLocalRead` feature is not enabled, and `pColorAttachmentLocations` is not `NULL`, each element must be set to the value of its index within the array

- VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09513
  Elements of `pColorAttachmentLocations` that are not `VK_ATTACHMENT_UNUSED` must each be unique

- VUID-VkRenderingAttachmentLocationInfoKHR-colorAttachmentCount-09514
  `colorAttachmentCount` must be less than or equal to `maxColorAttachments`

- VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09515
  Each element of `pColorAttachmentLocations` must be less than or equal to `maxColorAttachments`

Valid Usage (Implicit)

- VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR`

## See Also

VK_KHR_dynamic_rendering_local_read, VkStructureType, vkCmdSetRenderingAttachmentLocationsKHR

## 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

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0