[DX] [ObjectYAML] Support DX shader feature flags
authorChris Bieneman <chris.bieneman@me.com>
Tue, 20 Sep 2022 21:30:59 +0000 (16:30 -0500)
committerChris Bieneman <chris.bieneman@me.com>
Thu, 29 Sep 2022 17:37:11 +0000 (12:37 -0500)
commit49dc58f55142c9ba789ee1885f764aa006284f37
treea4895f466a5ca33527c94d876d65918951b0ea64
parent62a51c357cf47127d8044e1bf367f6d1d0612969
[DX] [ObjectYAML] Support DX shader feature flags

DXContainers contain a feature flag part, which stores a bitfield used
to denote what underlying hardware features the shader requires. This
change adds feature flags to the DXContainer YAML tooling to enable
testing generating feature flags during HLSL code generation.

Depends on D133980

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D134315
llvm/include/llvm/BinaryFormat/DXContainer.h
llvm/include/llvm/BinaryFormat/DXContainerConstants.def
llvm/include/llvm/Object/DXContainer.h
llvm/include/llvm/ObjectYAML/DXContainerYAML.h
llvm/lib/Object/DXContainer.cpp
llvm/lib/ObjectYAML/DXContainerEmitter.cpp
llvm/lib/ObjectYAML/DXContainerYAML.cpp
llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml [new file with mode: 0644]
llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml [new file with mode: 0644]
llvm/tools/obj2yaml/dxcontainer2yaml.cpp