VK_EXT_custom_resolve(3)
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
Other Extension Metadata
- Last Modified Date
-
2025-05-13
- IP Status
-
No known IP claims.
- Interactions and External Dependencies
-
-
This extension interacts with
VK_KHR_dynamic_rendering -
This extension interacts with
VK_EXT_dynamic_rendering_unused_attachments -
This extension interacts with
VK_EXT_fragment_density_map -
This extension interacts with
VK_EXT_graphics_pipeline_library -
This extension interacts with
VK_EXT_shader_object
-
- 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 Commands
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 is supported:
New Structures
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 is supported:
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
-
If VK_KHR_dynamic_rendering or Vulkan Version 1.3 is supported:
-
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.
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.