D681 - Shader fixtures are regenerated with LLVM 18

Status: decided Date: 2026-09-12

The reference assembler and disassembler that regenerates the shader fixtures is LLVM 18, run in the silkeh/clang:18 container and replayed natively through the generator's --transcript mode. The pin is independent of the collection's build compiler, and the collection toolchain check deliberately skips orbistoun.

Why: the fixtures are committed bytes, so the reference version is part of the expected output rather than a means to it. LLVM 18.1.8 and 19.1.7 already disagree on the first word of every compute fixture because the kernarg base register moved, and a regeneration on any other version buries the intended change in churn. The container runs the reference only; a decode is still corrected from the published ISA, and a regeneration is accepted only when its diff is empty apart from the intended change.

Rejected: