KhronosGroup / KhronosGroup/Vulkan-Docs
Task list for VK_EXT_shader_split_barrier release
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
Exposes split barriers in compute shaders via two new SPIR-V instructions: `OpControlBarrierArriveEXT` (signals that an invocation has finished accessing a shared resource, potentially unblocking other invocations waiting at the corresponding wait) and `OpControlBarrierWaitEXT` (blocks until all invocations in the workgroup have arrived). By separating the arrive and wait phases, fast subgroups can signal completion of their shared memory reads and immediately begin issuing long-latency global memory fetches for the next iteration while slow subgroups are still performing ALU work, eliminating the synchronization bubble that a standard `barrier()` would impose. Particularly beneficial for tiled cooperative matrix loops.
The task list for the VK_EXT_shader_split_barrier release is:
- [x] Vulkan Specification: https://docs.vulkan.org/refpages/latest/refpages/source/VK_EXT_shader_split_barrier.html
- [x] SPIRV specification: https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_split_barrier.asciidoc
- [x] SPIRV Headers: https://github.com/KhronosGroup/SPIRV-Headers/pull/600
- [x] SPIRV tools released: https://github.com/KhronosGroup/SPIRV-Tools/pull/6732
- [ ] GLSL extension: https://github.com/KhronosGroup/GLSL/pull/337
- [x] Glslang implementation: https://github.com/KhronosGroup/glslang/pull/4357
- [ ] Conformance tests released:
- [x] Validation layer: Only spirv-val checks needed (see spirv-tools)
As each component is made public, the task will be checked off. When all tasks have been completed this issue will be closed and the extension will be fully released.
Contributor guide
Research direction
Review the outstanding GLSL extension link, https://github.com/KhronosGroup/GLSL/pull/337, and the unchecked conformance-tests item alongside the completed Vulkan, SPIR-V, glslang, and validation-layer entries. The release is done when the GLSL extension and conformance tests are public and every checklist item is checked.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, release
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100