Expand description
A disassembler of DXIL programs: the listing dxc -dumpbin (dxc 1.9.2609) prints of a container, byte for byte.
The listing is dxc’s comment header (dxcdisassembler.cpp: the feature flags, the signature parts, the debug name
and hash, the pipeline state validation runtime info, and from the program’s metadata its signatures, buffer
layouts, resource bindings, view-id state and a library’s subobjects), then the program’s module as LLVM 3.7 prints
it, with dxc’s comment after each call of a DXIL operation. What the reader can’t read is an error, never a listing
that differs from dxc’s.
let container = std::fs::read("shader.dxil").expect("a compiled shader");
print!("{}", dxil_reader::disasm::disassemble(&container)?);Functions§
- disassemble
- The listing
dxc -dumpbinprints of a DXBC container holding a DXIL program, to the newline it ends with. - module_
text - The module part of the listing: from
target datalayouton, the program’s IR as dxc prints it.