llvm/wg-hlsl

[workstream] Semantics

Opened this issue · 2 comments

This covers parameter handling for entry points along with semantics and
inter-stage signature construction.

Milestones

Compile a runnable shader from clang (#7)

  • Support SV_GroupIndex and SV_DispatchThreadID used with basic scalar/vector input types for target shader.

Compile particle_life.hlsl (#20)

Compile all DML shaders, and they pass the validator (#11)

  • Support all compute semantics and lowering to DXIL ops
  • Generalized Semantic and Signature Point implementation plan
  • Capture Signature Element mapping on entry parameters in AST
  • Type checking for semantics

Render Simple Triangle (#13)

Render Textured Triangle (#14)

  • Prefix-stable Signature Element packing

Render Mesh (#15)

Pixel and Vertex Shaders (#16)

  • Semantics on fields in structure arguments
  • Structure flattening and semantic assignment for Signature Elements
  • Generate input/output translation for entry wrapper

Mesh Shaders (#17)

  • Specialized mesh shader parameter handling (vertices, primitives, indices)

Ray Tracing (#18)

  • Payload Access Qualifiers

V1 Release (#19)

  • Geometry Shaders
    • Specialized geometry shader input/output object handling (input prims, stream objects)
  • Tesselation Shaders
    • Special shader input/output objects (patches, patch constant params)
    • Patch Constant Function parameter/signature handling

Make sure that microsoft/hlsl-specs#309 is accounted for in the plan here.

Notes for some workstream planning are in this gist.