[PATCH] D141649: [DX] Begin adding support for pipeline state

Chris Bieneman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 12 19:04:23 PST 2023


beanz created this revision.
beanz added reviewers: kuhar, bogner, MaskRay, python3kgae.
Herald added a subscriber: hiraditya.
Herald added a project: All.
beanz requested review of this revision.
Herald added a project: LLVM.

DirectX shader pipeline state validation information is a fairly
complicated to serialize data structure. This patch adds the first bit
of support for reading and writing the runtime info structure which
comes first in the encoded data.

Subsequent patches will flesh out the remaining fields of the data
structure.

There is no official documentation for the format, but the format is
roughly documented in the code comment here:
https://github.com/microsoft/DirectXShaderCompiler/blob/main/include/dxc
/DxilContainer/DxilPipelineStateValidation.h#L731


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141649

Files:
  llvm/include/llvm/BinaryFormat/DXContainer.h
  llvm/include/llvm/BinaryFormat/DXContainerConstants.def
  llvm/include/llvm/MC/DXContainerPSVInfo.h
  llvm/include/llvm/Object/DXContainer.h
  llvm/include/llvm/ObjectYAML/DXContainerYAML.h
  llvm/lib/MC/CMakeLists.txt
  llvm/lib/MC/DXContainerPSVInfo.cpp
  llvm/lib/Object/DXContainer.cpp
  llvm/lib/ObjectYAML/DXContainerEmitter.cpp
  llvm/lib/ObjectYAML/DXContainerYAML.cpp
  llvm/test/ObjectYAML/DXContainer/PSVv0-amplification.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-compute.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-domain.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-geometry.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-hull.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-mesh.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-pixel.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv0-vertex.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-amplification.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-compute.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-domain.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-geometry.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-hull.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-mesh.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-pixel.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv1-vertex.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-amplification.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-compute.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-domain.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-geometry.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-hull.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-mesh.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-pixel.yaml
  llvm/test/ObjectYAML/DXContainer/PSVv2-vertex.yaml
  llvm/tools/obj2yaml/dxcontainer2yaml.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141649.488843.patch
Type: text/x-patch
Size: 65988 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230113/0c5579bc/attachment-0001.bin>


More information about the llvm-commits mailing list