llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.59k stars 11.34k forks source link

[HLSL] Root signature support #70117

Open llvm-beanz opened 10 months ago

llvm-beanz commented 10 months ago

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

Root Signature Targets

All diagnostics for Root Signatures

Local Root Signatures

davidcook-msft commented 6 months ago

@llvm-beanz to break this into smaller work items to be refined later

python3kgae commented 4 months ago

Sub issues: