3

Microsoft's open source DirectX Shader Compiler describes the format of a new intermediate language (IL) for HLSL shaders called DXIL.

The documentation makes reference to a converter from the previous HLSL IL, called DXBC, to the new DXIL: https://github.com/Microsoft/DirectXShaderCompiler/blob/master/docs/DXIL.rst.

However, I am unable to find the referenced dxbc2dxil tool, or any other way to convert DXBC to DXIL. I have tried passing DXBC files to the various tools in the DirectX Shader Compiler project, but none have accepted plain DXBC as input.

Is there currently a way to obtain DXIL from old DXBC?

Vertexwahn
  • 7,709
  • 6
  • 64
  • 90
Kerry Seitz
  • 43
  • 1
  • 6

2 Answers2

3

My understanding of this documentation is that Microsoft will take charge of only providing DXIR to the vendor's drivers in the future. The DXBC2DXIL is a Microsoft internal only module.

To my knowledge, nothing in the DirectX Shader Compiler repository has the capability to translate a DXBC IL to a DXIL.

galop1n
  • 8,573
  • 22
  • 36
  • Thanks for your answer @galop1n. Having that tool publicly available would be nice, so hopefully Microsoft will release some version of it eventually. – Kerry Seitz Aug 08 '17 at 23:17
  • Confirmed that dxbc2dxil is not currently public: https://twitter.com/mlrdev/status/895140130553384962 – Kerry Seitz Aug 11 '17 at 18:12
  • 1
    has been open sourced at https://github.com/microsoft/DirectXShaderCompiler/tree/master/projects/dxilconv/lib/DxbcConverter – Zarat Jul 23 '20 at 21:02
0

See this project for a working hack: https://github.com/Nukem9/Dxbc2Dxil

They use "dxilconv.dll" from win10 to create an instance of the undocumented DXBC->DXIL converter.

Kaloth
  • 16
  • 4