Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
- Extension and Version Dependencies
- Requires Vulkan 1.0
- 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 renderpass?
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 #