llvmpipe: only use accurate_a0 hack if there are no textures bound

This hack caused problems with some dx9 tests before (due to mipgen
test using nearest filter sampling with tex coords exactly between two
texels hence being extremely sensitive to arithmetic inaccuracies),
and we can no longer distinguish this by using pixel_offset to not get
it enabled. But to pass other tests we don't really need the hack when
there's texture sampling involved anyway.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21407>
This commit is contained in:
Roland Scheidegger 2023-02-18 17:11:04 +01:00 committed by Marge Bot
parent 9390766b83
commit 427ac51c10

View file

@ -394,7 +394,8 @@ do_triangle_ccw(struct lp_setup_context *setup,
setup->pixel_offset == 0.5f &&
key->num_inputs == 1 &&
(key->inputs[0].interp == LP_INTERP_LINEAR ||
key->inputs[0].interp == LP_INTERP_PERSPECTIVE)) {
key->inputs[0].interp == LP_INTERP_PERSPECTIVE) &&
setup->fs.current_tex_num == 0) {
float dist0 = v0[0][0] * v0[0][0] + v0[0][1] * v0[0][1];
float dist1 = v1[0][0] * v1[0][0] + v1[0][1] * v1[0][1];
float dist2 = v2[0][0] * v2[0][0] + v2[0][1] * v2[0][1];