| // Copyright 2017-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_fragment_shading_rate.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2021-09-30 |
| *Interactions and External Dependencies*:: |
| - This extension requires |
| {spirv}/KHR/SPV_KHR_fragment_shading_rate.html[`SPV_KHR_fragment_shading_rate`]. |
| *Contributors*:: |
| - Tobias Hector, AMD |
| - Guennadi Riguer, AMD |
| - Matthaeus Chajdas, AMD |
| - Pat Brown, Nvidia |
| - Matthew Netsch, Qualcomm |
| - Slawomir Grajewski, Intel |
| - Jan-Harald Fredriksen, Arm |
| - Jeff Bolz, Nvidia |
| - Contributors to the VK_NV_shading_rate_image specification |
| - Contributors to the VK_EXT_fragment_density_map specification |
| |
| === Description |
| |
| This extension adds the ability to change the rate at which fragments are |
| shaded. |
| Rather than the usual single fragment invocation for each pixel covered by a |
| primitive, multiple pixels can be shaded by a single fragment shader |
| invocation. |
| |
| Up to three methods are available to the application to change the fragment |
| shading rate: |
| |
| - <<primsrast-fragment-shading-rate-pipeline>>, which allows the |
| specification of a rate per-draw. |
| - <<primsrast-fragment-shading-rate-primitive>>, which allows the |
| specification of a rate per primitive, specified during shading. |
| - <<primsrast-fragment-shading-rate-attachment>>, which allows the |
| specification of a rate per-region of the framebuffer, specified in a |
| specialized image attachment. |
| |
| Additionally, these rates can all be specified and combined in order to |
| adjust the overall detail in the image at each point. |
| |
| This functionality can be used to focus shading efforts where higher levels |
| of detail are needed in some parts of a scene compared to others. |
| This can be particularly useful in high resolution rendering, or for XR |
| contexts. |
| |
| This extension also adds support for the `SPV_KHR_fragment_shading_rate` |
| extension which enables setting the |
| <<primsrast-fragment-shading-rate-primitive, primitive fragment shading |
| rate>>, and allows querying the final shading rate from a fragment shader. |
| |
| include::{generated}/interfaces/VK_KHR_fragment_shading_rate.txt[] |
| |
| === Version History |
| |
| * Revision 1, 2020-05-06 (Tobias Hector) |
| - Initial revision |
| * Revision 2, 2021-09-30 (Jon Leech) |
| - Add interaction with `apiext:VK_KHR_format_feature_flags2` to `vk.xml` |