mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
The front-face VGPR was always +1.0 / -1.0, which is its form only while FRONT_FACE_ALL_BITS is clear (current Mesa reads it with fgt 0 / fsign). With the bit set, as Mesa 22.0 RADV programs it, a back face reads 0 and a front face non-zero: ACO then tests it with v_cmp_lg_u32 0. Uncharted: Legacy of Thieves Collection (PPSA05684) sets the bit and its two-sided cloth shaders test v_cmp_lt_u32 0, so -1.0 (0xbf800000) made every back face a front face: the insides of the menu skeleton's rags kept their front normals and were lit white by the spot light behind them. The pixel stage info now carries the bit (request version 26, cache and draw keys), the decode reads SPI_BARYC_CNTL when FRONT_FACE is an active input, and the translator turns the builtin into 0xffffffff / 0. The exact front value is not measured (docs/dev/debt/shader.md). AI-assisted: yes