i915g: Make the 1D workaround keep TXP's .w channel in the right spot.
authorEmma Anholt <emma@anholt.net>
Sat, 14 Aug 2021 02:33:39 +0000 (19:33 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 16 Aug 2021 02:29:45 +0000 (02:29 +0000)
Fixes: 390a3fcdc45e ("nir_to_tgsi: Add support for TXP.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12367>

src/gallium/drivers/i915/ci/piglit-i915-g33-fails.txt
src/gallium/drivers/i915/i915_fpc_emit.c

index d78dd68..284fbab 100644 (file)
@@ -697,7 +697,6 @@ spec@glsl-1.10@execution@loops@glsl-fs-unroll-side-effect,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-01,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-03,Fail
-spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-04,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-07,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-08,Fail
 spec@glsl-1.10@execution@samplers@glsl-fs-shadow1d-bias,Fail
index 4ca73b1..9d4e17d 100644 (file)
@@ -192,7 +192,7 @@ i915_emit_texld(struct i915_fp_compile *p, uint32_t dest, uint32_t destmask,
        * program, texturing returns undefined results (even if the Y wrap is
        * REPEAT).
        */
-      coord = swizzle(coord, X, X, Y, Z);
+      coord = swizzle(coord, X, X, Z, W);
       FALLTHROUGH;
    case 2:
       ignore |= (0xf << UREG_CHANNEL_Z_SHIFT);