C Specification
The VkCustomResolveCreateInfoEXT structure is defined as:
// Provided by VK_EXT_custom_resolve with VK_KHR_dynamic_rendering or VK_VERSION_1_3
typedef struct VkCustomResolveCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkBool32 customResolve;
uint32_t colorAttachmentCount;
const VkFormat* pColorAttachmentFormats;
VkFormat depthAttachmentFormat;
VkFormat stencilAttachmentFormat;
} VkCustomResolveCreateInfoEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
customResolveindicates whether this pipeline will be used for a resolve operation. -
colorAttachmentCountis the number of entries inpColorAttachmentFormats. -
pColorAttachmentFormatsis a pointer to an array of VkFormat values defining the format of color resolve attachments used in custom resolves in the same render pass. -
depthAttachmentFormatis a VkFormat value defining the format of the depth resolve attachment used in custom resolves in the same render pass. -
stencilAttachmentFormatis a VkFormat value defining the format of the stencil resolve attachment used in custom resolves in the same render pass.
Description
If the pNext chain includes this structure for one of:
-
a VkGraphicsPipelineCreateInfo for a pipeline created without a VkRenderPass
-
a VkCommandBufferInheritanceInfo for a secondary command buffer within a render pass instance begun with vkCmdBeginRendering.
it specifies the formats used in custom resolves within the same render pass. It also specifies that the corresponding object will be used in a render pass which contains a custom resolve operation.
If the pNext chain includes this structure for a
VkShaderCreateInfoEXT for a fragment shader object, it only specifies
that the fragment shader will be used in a custom resolve operation.
If a graphics pipeline is created with a valid VkRenderPass, parameters of this structure are ignored.
If customResolve is VK_FALSE, the pipeline can only be used
outside the custom resolve section.
If customResolve is VK_TRUE, the pipeline can only be used
inside the custom resolve section.
When a dynamic render pass instance contains a custom resolve operation
and the dynamicRenderingUnusedAttachments feature is not enabled
, all pipelines used to draw in such render pass must include this
structure and have identical format information in it.
When a dynamic render pass does not contain a custom resolve operation
and the dynamicRenderingUnusedAttachments feature is not enabled
, all pipelines used to draw in such render pass must not include this
structure.
If the dynamicRenderingUnusedAttachments feature is enabled, then when this
structure is not included in the pNext chain for
VkGraphicsPipelineCreateInfo, customResolve is VK_FALSE,
colorAttachmentCount is 0, and depthAttachmentFormat and
stencilAttachmentFormat are VK_FORMAT_UNDEFINED.
If depthAttachmentFormat, stencilAttachmentFormat, or any
element of pColorAttachmentFormats is VK_FORMAT_UNDEFINED, it
indicates that the corresponding attachment is unused within the resolve
portion of the render pass.
Valid formats indicate that an attachment can be used - but it is still
valid to set the attachment to NULL when beginning rendering.
When passed as a pNext member to a VkShaderCreateInfoEXT struct
for use with fragment density maps, the colorAttachmentCount,
pColorAttachmentFormats, depthAttachmentFormat, and
stencilAttachmentFormat members of this struct are ignored.
When not passed as a pNext member, customResolve is
VK_FALSE.
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.