KhronosGroup / KhronosGroup/SPIRV-Registry

GLSL_NV_mesh_shader confusion about storage layout qualifiers for perTaskNV

Open
#90 2 comments 0 reactions 0 assignees View on GitHub
question
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.