DXBC
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
DirectX Shader Bytecode Preview.
At a glance
| Purpose | A DirectX shader bytecode container (DXBC, .cso or .fxc): compiled HLSL with signature, resource and bytecode chunks. |
| Extensions | .dxbc |
| Poka parser | poka-dxbc |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-dxbc/src/main.rs (579 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has dxc_samplecount.dxbc, read by no test. Covers .dxbc, .cso and .fxc. The tree reads the container and its chunks and shows the shader stage and model with the compiler string, the input and output signatures, constant buffers and bound resources, and the raw chunk list. Judgement: B3: the shader's interface is decoded, but its bytecode is not.
What Poka does not read
- Bytecode (SHEX or SHDR) is not disassembled
- Constant-buffer variables and their types are not listed (judgement from the code)
- The statistics chunk is not decoded
- DXIL bytecode (Shader Model 6) is listed as a chunk, not decoded (judgement from the code)
- The container hash is not verified
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- SlimShader (C++) (candidate; MIT; C++; https://github.com/tgjones/slimshader-cpp) — Parses DXBC containers via DxbcContainer::Parse; archived since May 2018, so no support for newer shader models.
- SlimShader (.NET) (candidate; MIT; C#/.NET; https://github.com/tgjones/slimshader) — Reads compiled shader binaries (input signature, statistics, tokens); archived since May 2018. Language inferred from the .NET description.
- dxbc-spirv (candidate; MIT; unknown; https://github.com/doitsujin/dxbc-spirv) — SM 5.1 and older DXBC to SPIR-V compiler with a debug disassembler (dxbc_disasm); does not parse resource metadata or shader statistics. Language not shown on page.
Sources
- parsers/poka-dxbc/src/main.rs
- parsers/poka-dxbc/plugin.json