Skip to main content

Crate d3dasm

Crate d3dasm 

Source
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.