tu: Fix varyings interpolation reading stale values

tu6_vpc_varying_mode returned how many bits are consumed IF they are
non-zero, for SMOOTH mode nothing is written and it was treated like
no bits were consumed.

When input with smooth interpolation was the last one and straddled
the VPC_VARYING_INTERP_MODE regs, the last interp mode were not written.

Fixes misrendering in "Psychonauts 2".

Cc: mesa-stable

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20533>
This commit is contained in:
Danylo Piliaiev
2023-01-05 13:36:46 +01:00
committed by Marge Bot
parent 25a151533c
commit a45d32b10b

View File

@@ -1084,7 +1084,7 @@ tu6_vpc_varying_mode(const struct ir3_shader_variant *fs,
}
}
return shift;
return util_bitcount(compmask) * 2;
}
static void