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