vulkan-3.24.4: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

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
Extension and Version Dependencies
  • Requires support for 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 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

type QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME = "VK_QCOM_render_pass_shader_resolve" Source #