poka.sh

Docs

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