| // Copyright 2018-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_depth_stencil_resolve.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2018-04-09 |
| *Interactions and External Dependencies*:: |
| - Promoted to Vulkan 1.2 Core |
| *Contributors*:: |
| - Jan-Harald Fredriksen, Arm |
| - Andrew Garrard, Samsung Electronics |
| - Soowan Park, Samsung Electronics |
| - Jeff Bolz, NVIDIA |
| - Daniel Rakos, AMD |
| |
| === Description |
| |
| This extension adds support for automatically resolving multisampled |
| depth/stencil attachments in a subpass in a similar manner as for color |
| attachments. |
| |
| Multisampled color attachments can be resolved at the end of a subpass by |
| specifying pname:pResolveAttachments entries corresponding to the |
| pname:pColorAttachments array entries. |
| This does not allow for a way to map the resolve attachments to the |
| depth/stencil attachment. |
| The flink:vkCmdResolveImage command does not allow for depth/stencil images. |
| While there are other ways to resolve the depth/stencil attachment, they can |
| give sub-optimal performance. |
| Extending the sname:VkSubpassDescription2 in this extension allows an |
| application to add a pname:pDepthStencilResolveAttachment, that is similar |
| to the color pname:pResolveAttachments, that the |
| pname:pDepthStencilAttachment can be resolved into. |
| |
| Depth and stencil samples are resolved to a single value based on the |
| resolve mode. |
| The set of possible resolve modes is defined in the |
| elink:VkResolveModeFlagBits enum. |
| The ename:VK_RESOLVE_MODE_SAMPLE_ZERO_BIT mode is the only mode that is |
| required of all implementations (that support the extension or support |
| Vulkan 1.2 or higher). |
| Some implementations may also support averaging (the same as color sample |
| resolve) or taking the minimum or maximum sample, which may be more suitable |
| for depth/stencil resolve. |
| |
| === Promotion to Vulkan 1.2 |
| |
| All functionality in this extension is included in core Vulkan 1.2, with the |
| KHR suffix omitted. |
| The original type, enum and command names are still available as aliases of |
| the core functionality. |
| |
| include::{generated}/interfaces/VK_KHR_depth_stencil_resolve.txt[] |
| |
| === Version History |
| |
| * Revision 1, 2018-04-09 (Jan-Harald Fredriksen) |
| - Initial revision |
| |
| ifdef::isrefpage[] |
| |
| === Additional Resources |
| |
| * GDC 2019 |
| ** https://www.youtube.com/watch?v=GnnEmJFFC7Q&feature=youtu.be&t=1983[`video`] |
| ** https://www.khronos.org/assets/uploads/developers/library/2019-gdc/Vulkan-Depth-Stencil-Resolve-GDC-Mar19.pdf[`slides`] |
| |
| endif::isrefpage[] |