1// Copyright 2018-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_KHR_depth_stencil_resolve.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2018-04-09 11*Contributors*:: 12 - Jan-Harald Fredriksen, Arm 13 - Andrew Garrard, Samsung Electronics 14 - Soowan Park, Samsung Electronics 15 - Jeff Bolz, NVIDIA 16 - Daniel Rakos, AMD 17 18=== Description 19 20This extension adds support for automatically resolving multisampled 21depth/stencil attachments in a subpass in a similar manner as for color 22attachments. 23 24Multisampled color attachments can be resolved at the end of a subpass by 25specifying pname:pResolveAttachments entries corresponding to the 26pname:pColorAttachments array entries. 27This does not allow for a way to map the resolve attachments to the 28depth/stencil attachment. 29The flink:vkCmdResolveImage command does not allow for depth/stencil images. 30While there are other ways to resolve the depth/stencil attachment, they can 31give sub-optimal performance. 32Extending the sname:VkSubpassDescription2 in this extension allows an 33application to add a pname:pDepthStencilResolveAttachment, that is similar 34to the color pname:pResolveAttachments, that the 35pname:pDepthStencilAttachment can be resolved into. 36 37Depth and stencil samples are resolved to a single value based on the 38resolve mode. 39The set of possible resolve modes is defined in the 40elink:VkResolveModeFlagBits enum. 41The ename:VK_RESOLVE_MODE_SAMPLE_ZERO_BIT mode is the only mode that is 42required of all implementations (that support the extension or support 43Vulkan 1.2 or higher). 44Some implementations may also support averaging (the same as color sample 45resolve) or taking the minimum or maximum sample, which may be more suitable 46for depth/stencil resolve. 47 48=== Promotion to Vulkan 1.2 49 50All functionality in this extension is included in core Vulkan 1.2, with the 51KHR suffix omitted. 52The original type, enum and command names are still available as aliases of 53the core functionality. 54 55include::{generated}/interfaces/VK_KHR_depth_stencil_resolve.adoc[] 56 57ifdef::isrefpage[] 58 59=== Additional Resources 60 61 * GDC 2019 62 ** https://www.youtube.com/watch?v=GnnEmJFFC7Q&feature=youtu.be&t=1983[`video`] 63 ** https://www.khronos.org/assets/uploads/developers/library/2019-gdc/Vulkan-Depth-Stencil-Resolve-GDC-Mar19.pdf[`slides`] 64 65endif::isrefpage[] 66 67=== Version History 68 69 * Revision 1, 2018-04-09 (Jan-Harald Fredriksen) 70 ** Initial revision 71 72