VK_EXT_custom_resolve(3)

Name

VK_EXT_custom_resolve - device extension

VK_EXT_custom_resolve

Name String

VK_EXT_custom_resolve

Extension Type

Device extension

Registered Extension Number

629

Revision

1

Ratification Status

Not ratified

Extension and Version Dependencies
API Interactions
  • Interacts with VK_VERSION_1_3

  • Interacts with VK_KHR_dynamic_rendering

Contact
  • Mike Blumenkrantz zmike

Extension Proposal

VK_EXT_custom_resolve

Other Extension Metadata

Last Modified Date

2025-05-13

IP Status

No known IP claims.

Interactions and External Dependencies
Contributors
  • Mike Blumenkrantz, Valve

  • Connor Abbott, Valve

  • Samuel Pitoiset, Valve

  • Matthew Netsch, Qualcomm

  • Jan-Harald Fredriksen, ARM

  • Ting Wei, ARM

  • Ricardo Garcia, Igalia

  • Spencer Fricke, LunarG

  • Piers Daniell, Nvidia

Description

This extension provides functionality for using shaders to resolve multisample rendering attachments.

It builds upon mechanics introduced by VK_QCOM_render_pass_shader_resolve, additionally adding support for dynamic rendering.

New Enum Constants

  • VK_EXT_CUSTOM_RESOLVE_EXTENSION_NAME

  • VK_EXT_CUSTOM_RESOLVE_SPEC_VERSION

  • Extending VkStructureType:

    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT

  • Extending VkSubpassDescriptionFlagBits:

    • VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT

    • VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT

  • Extending VkRenderingFlagBits:

    • VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT

    • VK_RENDERING_FRAGMENT_REGION_BIT_EXT

  • Extending VkResolveModeFlagBits:

    • VK_RESOLVE_MODE_CUSTOM_BIT_EXT

  • Extending VkStructureType:

    • VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT

    • VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT

Issues

1) How will this work with shader objects?

Some vendors emit an epilog at the end of the FS that stores each color/depth/stencil attachment to the appropriate tilebuffer location, and to do that they need to know the layout of the tilebuffer which depends on the attachment formats/sample counts. We agreed that for shader object the FS epilog is emitted dynamically when the draw happens.

Version History

  • Revision 1, 2025-05-13 (Mike Blumenkrantz)

    • Initial draft

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.