Skip to content

ir3: disallow .sat on SEL instructions

Danylo Piliaiev requested to merge Danil/mesa:ir3/fix/sat-on-sel into master

Saturation is unsupported on SEL instructions.
Rechecked this in the computerator.

Excerpt from the problematic shader:

mad.f32 r0.z, c0.y, r0.x, c6.w
sqrt r0.y, r0.y
mul.f r0.x, r1.y, c1.z
(ss)(nop2) mad.f32 r1.z, c6.x, r0.y, c6.y
(nop3) cmps.f.ge r0.y, r0.x, r1.w
(sat)(nop3) sel.b32 r0.w, r0.z, r0.y, r1.z   <----
mov.u32u32 r0.x, r0.w
mov.u32u32 r0.y, r0.w
mov.u32u32 r0.z, r0.w

Fixes main menu rendering in Genshin Impact on Turnip.

Before:

genshin_impact_before

After:

genshin_impact_after

Edited by Danylo Piliaiev

Merge request reports