This is an archive of the discontinued LLVM Phabricator instance.

[DirectX backend] support empty program signature parts for compute shader
Needs ReviewPublic

Authored by python3kgae on Jan 12 2023, 12:44 PM.

Details

Summary

New parts ISG1 and OSG1 are added but only support 0 parameter case.
2 uint32_t will be emited for empty program signature. 0 for parameter count and 8 for parameter offset.

This is enough for computer shader.

Diff Detail

Event Timeline

python3kgae created this revision.Jan 12 2023, 12:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2023, 12:44 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
python3kgae requested review of this revision.Jan 12 2023, 12:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2023, 12:44 PM

All the other changes going into the DXContainer object and yaml support are aiming to be more full featured, and the object and yaml tooling changes are separate from the implementation change.

Please follow that structure.

llvm/include/llvm/BinaryFormat/DXContainer.h
133

nit: please add whitespace separating the members from the method.

python3kgae marked an inline comment as done.

Add test for new globals generated in DXContatinerGlobal pass.