cmdBeginCustomResolveEXT :: MonadIO io=> CommandBuffercommandBufferis the command buffer in which to record the command.->"beginCustomResolveInfo"
::: Maybe BeginCustomResolveInfoEXTpBeginCustomResolveInfois an optional struct with which to extend functionality.-> io ()
vkCmdBeginCustomResolveEXT - Begins a shader resolve operation
Description
Following this call, any resolveImageView with resolveMode set to
RESOLVE_MODE_CUSTOM_BIT_EXT
will be written by outputs which would otherwise have written to the
imageView image until the end of the current render pass instance.
Following this call, the fragment area may be reduced to (1,1) if a fragment density map is attached. If this occurs, reads of input attachments mapped to a color, depth, or stencil attachment return the value for the original larger fragment containing the smaller fragment. Reads of input attachments not mapped to a color, depth, or stencil attachment use the new fragment area.
Because the content of any depth/stencil resolve attachment as well as any color resolve attachment is undefined at the beginning of a resolve operation, any depth testing, stencil testing, or blending operation which sources these undefined values also has undefined result value.
During a custom resolve pass, multiple fragment invocations writing to the same (x, y, layer, view, sample) coordinate, i.e. overdraw, will produce undefined behavior.
Implementations are allowed to implement custom resolve attachment writes through other mechanisms than framebuffer attachment writes, which would normally obey rules of rasterization order.
Valid Usage
The current render pass instance must have been started or resumed by cmdBeginRendering in this
commandBuffer
cmdBeginCustomResolveEXT must not have already been recorded in the current render pass instance
The current render pass instance must have specified RENDERING_CUSTOM_RESOLVE_BIT_EXT
The current render pass instance must not have specified RENDERING_SUSPENDING_BIT
Valid Usage (Implicit)
commandBuffermust be a valid CommandBuffer handle
If
pBeginCustomResolveInfois notNULL,pBeginCustomResolveInfomust be a valid pointer to a valid BeginCustomResolveInfoEXT structurecommandBuffermust be in the recording stateThe CommandPool that
commandBufferwas allocated from must support QUEUE_GRAPHICS_BIT operationsThis command must only be called inside of a render pass instance
This command must not be called between suspended render pass instances
This command must only be called outside of a video coding scope
Host Synchronization
Host access to
commandBuffermust be externally synchronized
Host access to the CommandPool that
commandBufferwas allocated from must be externally synchronized
Command Properties
'
Primary Secondary | Inside | Outside | VK_QUEUE_GRAPHICS_BIT | Action |
Conditional Rendering
vkCmdBeginCustomResolveEXT is affected by conditional rendering
See Also
VK_EXT_custom_resolve, VK_KHR_dynamic_rendering, VK_VERSION_1_3, BeginCustomResolveInfoEXT, CommandBuffer