lavapipe: further limit accurate_a0 hack
authorRoland Scheidegger <sroland@vmware.com>
Fri, 25 Aug 2023 13:46:35 +0000 (15:46 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 25 Aug 2023 17:51:12 +0000 (17:51 +0000)
With lavapipe the previous change to only enable the hack when there's
no textures bound doesn't work anymore, since we don't have that
information when using the texture handles.
So add another random state restriction which is sufficient to pass
tests. (This really needs a better long term solution.)

Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24887>

src/gallium/drivers/llvmpipe/lp_setup_tri.c

index 007a1f5..c1fc054 100644 (file)
@@ -403,7 +403,8 @@ do_triangle_ccw(struct lp_setup_context *setup,
        key->num_inputs == 1 &&
        (key->inputs[0].interp == LP_INTERP_LINEAR ||
         key->inputs[0].interp == LP_INTERP_PERSPECTIVE) &&
-        setup->fs.current_tex_num == 0) {
+        setup->fs.current_tex_num == 0 &&
+        setup->cullmode == 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];