Skip to content

[HLSL] Root signature support #70117

Closed as duplicate of#24
Closed as duplicate of#24
@llvm-beanz

Description

@llvm-beanz

HLSL uses Root Signatures to specify the table of resources and other binding elements. In DirectX 12+ root signatures can be specified in HLSL source files using the [RootSignature(...)] attribute on entry functions and a signature description syntax defined in this documentation:

https://learn.microsoft.com/en-us/windows/win32/direct3d12/specifying-root-signatures-in-hlsl

Root Signatures are compiled into attributes embedded in the IR that then get encoded into runtime data structures which are read by the D3D runtime.

Support for Root Signatures specified via an attribute

  • DirectX RootSignature parsing #55116
  • AST node which save parsed root signature
  • Parsing and diagnostic for the root signature
  • Generate metadata in clang codeGen
  • Serialization for emit RTS0 part
  • Validate used resources exist in root signature at llvm IR level.
  • Deserialization and print for writing test
  • Testing
  • Support for -T rootsig_1_0/rootsig_1_1 and -force-rootsig-ver rootsig_1_0
  • Support for -frs

Root Signature Targets

All diagnostics for Root Signatures

  • Diagnostics that depend on bound resources

Local Root Signatures

  • Support for local/global root signature

Metadata

Metadata

Assignees

No one assigned

    Labels

    HLSLHLSL Language SupportduplicateResolved as duplicatemetabugIssue to collect references to a group of similar or related issues.

    Type

    No type

    Projects

    Status

    Closed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions