zdxc
Drop-in DirectxShaderCompiler replacement
I'm channeling all my "beginner energy" into a topic I vaguely understand but pisses me off immensely.
zdxc is the missing "fast as hell" development mode shader compiler for dxc. It emits DXIL and SPIR-V, implements DXC's command line and its COM API. Written in zig.
zdxc is a drop-in development replacement for DirectxShaderCompiler that is on average 3x faster. You can statically link it for even more options.
zdxc is for-fun, MIT licensed, open source, and artisanlly vibecoded. (Now investing heavily in human maintainability)
If you want to moan, request new features, or help me wrangle this slop join our discord or post some issues.
- 4×Faster compilesOn Unreal engine 5.8's monster shaders we see an end to end speedup of almost 4x the speed is much faster on smaller shaders
- 4.2MBvs 19.3MB dxc4.2 MB for
dxcompiler.dll, against 19.3 MB for DXC'sdxcompiler.dllanddxil.dll. Custom codegen backend means no LLVM. - OnerepoOne Zig codebase of about 42,000 lines with no dependencies. It builds with
zig build. - Zerodependencies
libzdxcis self contained with a c api. it signs its own DXIL. You can actually statically link this one, unlike dxc
LLM Policy: It'd be really funny if I had one huh... link