VkRenderingAttachmentLocationInfoKHR
The VkRenderingAttachmentLocationInfoKHR
structure is defined as:
typedef struct VkRenderingAttachmentLocationInfoKHR {
VkStructureType sType;
const void* pNext;
uint32_t colorAttachmentCount;
const uint32_t* pColorAttachmentLocations;
} VkRenderingAttachmentLocationInfoKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.colorAttachmentCount
is the number of elements inpColorAttachmentLocations
.pColorAttachmentLocations
is a pointer to an array ofcolorAttachmentCount
uint32_t
values defining remapped locations for color attachments.
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.
Any writes to a fragment output location that is not mapped to an attachment
must be discarded.
If pColorAttachmentLocations
is NULL
, it is equivalent to setting
each element to its index within the array.
This structure can be included in the pNext
chain of a
VkGraphicsPipelineCreateInfo structure to set this state for a
pipeline.
If this structure is not included in the pNext
chain of
VkGraphicsPipelineCreateInfo, it is equivalent to specifying this
structure with the following properties:
colorAttachmentCount
set to VkPipelineRenderingCreateInfo::colorAttachmentCount
.pColorAttachmentLocations
set toNULL
.
This structure can be included in the pNext
chain of a
VkCommandBufferInheritanceInfo structure to specify inherited state
from the primary command buffer.
If VkCommandBufferInheritanceInfo::renderPass is not
VK_NULL_HANDLE, or
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
is not specified in
VkCommandBufferBeginInfo::flags, members of this structure are
ignored.
If this structure is not included in the pNext
chain of
VkCommandBufferInheritanceInfo, it is equivalent to specifying this
structure with the following properties:
colorAttachmentCount
set to VkCommandBufferInheritanceRenderingInfo::colorAttachmentCount
.pColorAttachmentLocations
set toNULL
.
Valid Usage
VUID-VkRenderingAttachmentLocationInfoKHR-dynamicRenderingLocalRead-09512
If the dynamicRenderingLocalRead
feature is not enabled, and
pColorAttachmentLocations
is not NULL
, each element must be 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
maxColorAttachments
Valid Usage (Implicit)
VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR