KhronosGroup / KhronosGroup/SPIRV-Registry
GLSL_NV_mesh_shader confusion about storage layout qualifiers for perTaskNV
- Dominant language
- HTML
- Stars
- 149
- Forks
- 99
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 2
Description
Is there language on how to define perTask-tagged blocks in SPIR-V? glslang is generating Offset and MatrixStride OpMemberDecorates for perTask-tagged ins/outs, as if they were SSBOs or UBOs, but the actual storage class is Input/Output. Nowhere else, I believe, does SPIR-V use storage decorations for anything other than UniformConstant, StorageBuffer, PushConstant or ShaderRecordBuffer.
All the mesh shader interface variable declarations seem unidiomatic and I'm not confident I can get things all right just by probing glslang.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the SPIR-V Registry text covering GL_NV_mesh_shader and compare its perTaskNV interface rules with glslang output for Offset and MatrixStride decorations. Determine and document the normative storage-layout treatment for Input/Output perTask blocks; done when the specification resolves whether those decorations are valid and how such variables are declared.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100