mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-26 04:55:12 +00:00
* Update release number to 124. Github Issues: * Fix Makefile SPECREMARK macro to work when not building in a git tree (public issue 992). * Ignore pname:aspectMask for unused attachments in slink:VkSubpassDescription2KHR valid usage statements (public pull request 1028). * Minor markup / spelling fixes (public pull requests 1035, 1045). Internal Issues: * Fix markup in Valid Usage statement for slink:VkCreateFramebuffer (internal issue 1823). * Add a new <<synchronization-signal-operation-order, _signal operation order_>> section to the synchronization chapter which describes in detail the ordering guarantees provided by the API between fence and semaphore signal operations (internal merge request 3368). * Move generated `appendix/meta/` files into the Makefile GENERATED directory (internal merge request 3381). New Extensions * `<<VK_KHR_shader_clock>>` * `<<VK_KHR_timeline_semaphore>>`
79 lines
2.5 KiB
Plaintext
79 lines
2.5 KiB
Plaintext
include::{generated}/meta/VK_EXT_fragment_shader_interlock.txt[]
|
|
|
|
*Last Modified Data*::
|
|
2019-05-02
|
|
*Interactions and External Dependencies*::
|
|
- This extension requires the
|
|
{spirv}/EXT/SPV_EXT_fragment_shader_interlock.html[`SPV_EXT_fragment_shader_interlock`]
|
|
SPIR-V extension.
|
|
- This extension requires the
|
|
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_fragment_shader_interlock.txt[`GL_ARB_fragment_shader_interlock`],
|
|
extensions for GLSL source languages.
|
|
*Contributors*::
|
|
- Daniel Koch, NVIDIA
|
|
- Graeme Leese, Broadcom
|
|
- Jan-Harald Fredriksen, Arm
|
|
- Jason Ekstrand, Intel
|
|
- Jeff Bolz, NVIDIA
|
|
- Ruihao Zhang, Qualcomm
|
|
- Slawomir Grajewski, Intel
|
|
- Spencer Fricke, Samsung
|
|
|
|
This extension adds support for the code:FragmentShaderPixelInterlockEXT,
|
|
code:FragmentShaderSampleInterlockEXT, and
|
|
code:FragmentShaderShadingRateInterlockEXT capabilities from the
|
|
`SPV_EXT_fragment_shader_interlock` extension to Vulkan.
|
|
|
|
Enabling these capabilities provides a critical section for fragment shaders
|
|
to avoid overlapping pixels being processed at the same time, and certain
|
|
guarantees about the ordering of fragment shader invocations of fragments of
|
|
overlapping pixels.
|
|
|
|
This extension can be useful for algorithms that need to access per-pixel
|
|
data structures via shader loads and stores.
|
|
Algorithms using this extension can access per-pixel data structures in
|
|
critical sections without other invocations accessing the same per-pixel
|
|
data.
|
|
Additionally, the ordering guarantees are useful for cases where the API
|
|
ordering of fragments is meaningful.
|
|
For example, applications may be able to execute programmable blending
|
|
operations in the fragment shader, where the destination buffer is read via
|
|
image loads and the final value is written via image stores.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
* Extending elink:VkStructureType:
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
|
|
|
|
=== New Enums
|
|
|
|
None.
|
|
|
|
=== New Structures
|
|
|
|
* Extending slink:VkPhysicalDeviceFeatures2:
|
|
** slink:VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
|
|
|
|
=== New Functions
|
|
|
|
None.
|
|
|
|
=== New SPIR-V Capabilities
|
|
|
|
* <<spirvenv-capabilities-table-fragmentShaderInterlock,FragmentShaderInterlockEXT>>
|
|
* <<spirvenv-capabilities-table-fragmentShaderInterlock,FragmentShaderPixelInterlockEXT>>
|
|
* <<spirvenv-capabilities-table-fragmentShaderInterlock,FragmentShaderShadingRateInterlockEXT>>
|
|
|
|
=== Issues
|
|
|
|
None.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2019-05-24 (Piers Daniell)
|
|
- Internal revisions
|