Skip to content

v0.17.9 — 104 golden diff=0, 54.5% parity, loadInput DCE

Choose a tag to compare

@kolkov kolkov released this 30 Apr 19:41
6f1ddcf

DXIL Parity Push: 104 golden diff=0, 54.5% line parity

Crossed 100 diff=0 and 50% parity milestones. +10 diff=0 shaders, +6.4pp parity.

New optimizations

Optimization Impact
Per-member loadInput DCE Backwards reachability eliminates unused struct input loads
Zero-store local promotion Unassigned struct members → zero constants
QuantizeF16 legacy ops legacyF32ToF16/F16ToF32, eliminates NativeLowPrecision cascade (13 shaders)
Same-type cast elimination bitcast i32↔i32 is no-op
Strength reduction sub X,Cadd X,-C, mul X,2^Nshl X,N

Bug fixes

Fix Root cause
Input sigId Element index, not register row — broke packed inputs
ViewID StartCol Packed linear indexing missing column offset
Cross-arg struct ordering Reverse signature order globally
Int64 flag Scanned from emitted bitcode, not IR types
createHandle Always opcode 57, removed dead createHandleFromBinding
MSVC groupshared names \01?name@@3typeA decoration

Metrics

Metric v0.17.8 v0.17.9
DXC golden diff=0 94 104 (+10)
Line parity 48.1% 54.5% (+6.4pp)
IDxcValidator 161/170 161/170

Note: DXIL backend is experimental.