mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-07 13:39:55 +00:00
The reused program hands out its compiled information through IrProgram::CompiledInfo() const&, while compileVariant still moves it out with TakeCompiledInfo(). The layout-pair fixtures are pixel shaders whose user-data base, scratch size and parameter export mask are all zero, so the comparison with isolated compiles could not tell whether the copy kept those fields: a copy that zeroed them still passed. Translate a compute program with a user-data base of 2 and 64 scratch dwords and require the copied and the moved information to agree on every field. Zeroing those fields in the copy now fails agc_shader_layout_pair and agc_shader_layout_pair_off. Co-Authored-By: Claude Opus 5.5 <[email protected]>