| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
Description
Name
VK_QCOM_render_pass_shader_resolve - device extension
VK_QCOM_render_pass_shader_resolve
- Name String
VK_QCOM_render_pass_shader_resolve
- Extension Type
- Device extension
- Registered Extension Number
- 172
- Revision
- 4
- Ratification Status
- Not ratified
- Extension and Version Dependencies; Contact
Other Extension Metadata
- Last Modified Date
- 2019-11-07
- IP Status
- No known IP claims.
- Interactions and External Dependencies
- None.
- Contributors
- Srihari Babu Alla, Qualcomm
- Bill Licea-Kane, Qualcomm
- Jeff Leger, Qualcomm
Description
This extension allows a shader resolve to replace fixed-function resolve.
Fixed-function resolve is limited in function to simple filters of multisample buffers to a single sample buffer.
Fixed-function resolve is more performance efficient and/or power efficient than shader resolve for such simple filters.
Shader resolve allows a shader writer to create complex, non-linear filtering of a multisample buffer in the last subpass of a subpass dependency chain.
This extension also provides a bit which can be used to enlarge a sample region dependency to a fragment region dependency, so that a framebuffer-region dependency can replace a framebuffer-global dependency in some cases.
New Enum Constants
Issues
1) Should this extension be named render_pass_shader_resolve?
RESOLVED Yes.
This is part of suite of small extensions to render pass.
Following the style guide, instead of following VK_KHR_create_renderpass2.
2) Should the VK_SAMPLE_COUNT_1_BIT be required for each pColorAttachment and the DepthStencilAttachent?
RESOLVED No.
While this may not be a common use case, and while most fixed-function resolve hardware has this limitation, there is little reason to require a shader resolve to resolve to a single sample buffer.
3) Should a shader resolve subpass be the last subpass in a render pass?
RESOLVED Yes.
To be more specific, it should be the last subpass in a subpass dependency chain.
4) Do we need the
SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
bit?
RESOLVED Yes.
This applies when an input attachment’s sample count is equal to
rasterizationSamples. Further, if sampleShading is enabled
(explicitly or implicitly) then minSampleShading must equal 0.0.
However, this bit may be set on any subpass, it is not restricted to a shader resolve subpass.
Version History
Revision 1, 2019-06-28 (wwlk)
- Initial draft
Revision 2, 2019-11-06 (wwlk)
- General clean-up/spec updates
- Added issues
Revision 3, 2019-11-07 (wwlk)
- Typos
- Additional issues
- Clarified that a shader resolve subpass is the last subpass in a subpass dependency chain
Revision 4, 2020-01-06 (wwlk)
- Change resolution of Issue 1 (render_pass, not renderpass)
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.
Documentation
pattern QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION :: forall a. Integral a => a Source #
type QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME = "VK_QCOM_render_pass_shader_resolve" Source #
pattern QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #