Namespace ShadowDusk.HLSL
Classes
- FxParseError
A structured diagnostic error produced by the FX9 pre-parser.
- FxPreParser
FX9 pre-parser: strips technique, pass, and sampler_state blocks from .fx source and extracts all FX9 metadata needed by the compilation pipeline. DXC rejects these constructs, so they must be removed before invoking DXC. Stripped output preserves original line numbers by replacing removed lines with blank lines. FxSourceMode selects how legacy D3D9 constructs in the shader body are treated: rewritten forward to SM4 for DXC (the default), or preserved verbatim for an SM1–3 backend (the FNA fx_2_0 target, compiled by vkd3d).
- Sm3StageReservationRewriter
Rewrites D3D9 stage-scoped register reservations for a single-stage SM1–3 compile. D3D9-era HLSL can scope a register bind to one shader stage —
float4 Color : register(vs, c0);/: register(ps, c1);/sampler s : register(ps, s0);— but vkd3d 1.17's HLSL compiler fails with E5017 "Reservation shader target" on that stage-scoped form while fully honoring the plain: register(c0)form. The FNA fx_2_0 pipeline therefore rewrites the source PER STAGE before each vkd3d compile (once for vs_3_0, once for ps_3_0).
Enums
- FxParseErrorCode
Diagnostic codes emitted by the FX9 pre-parser.
- FxSourceMode
How the FX9 pre-parser treats legacy D3D9/SM3 constructs in the shader body.