Expand description
d3dasm — a high-level Direct3D shader disassembly interface.
This crate provides a convenient API on top of dxbc for scanning,
parsing, and formatting DXBC shader containers. It is the primary
interface for tools that need structured access to shader metadata
(signatures, resource definitions, statistics) and human-readable
disassembly output.
§Quick start
ⓘ
let data = std::fs::read("shader.bin").unwrap();
let shaders = d3dasm::parse(&data);
for shader in &shaders {
// Structured access to parsed chunks.
// Chunks are parsed lazily — only the shader program is decoded here.
if let Some(program) = shader.program() {
println!("SM {}.{}", program.version_major, program.version_minor);
}
// Full disassembly via Display (parses remaining chunks on demand).
print!("{shader}");
}Re-exports§
pub use dxbc;
Structs§
- Shader
- A parsed DXBC shader container with typed chunk access and formatting.
Functions§
- parse
- Parse all DXBC shaders found in a raw byte buffer.