KhronosGroup / KhronosGroup/Vulkan-Docs
request: TaskPayloadWorkgroupEXT pointers in OpPtrAccessChain/OpUntypedPtrAccessChainKHR
@spencer-lunarg is already working on this.
Since Sep 9, 2026.
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
Is there a reason why pointers in the TaskPayloadWorkgroupEXT storage class are not allowed in OpPtrAccessChain and OpUntypedPtrAccessChainKHR when extensions exist that allow it for the Workgroup storage class (and for OpPtrAccessChain has been in core since Vulkan 1.1)?
Considering that task payload memory is mostly treated the same way as workgroup memory, the only reason I can think of is that task payload is currently completely logical / not explicitly laid out. However, Workgroup pointers are also allowed in OpPtrAccessChain when not explicitly laid out.
If the only reason for this is that nobody has requested this yet, may I kindly request a revision to the respective existing extensions or a new extension that enables this? :)
For reference:
- SPV_EXT_mesh_shader adds TaskPayloadWorkgroupEXT storage class
- SPV_KHR_variable_pointers enables variable pointers in OpPtrAccessChain (including Workgroup)
- SPV_KHR_untyped_pointers adds OpUntypedPtrAccessChainKHR and enables Workgroup pointers in them (but requires explicit layout)
- SPV_KHR_workgroup_memory_explicit_layout interacts with the above extensions
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.