pan/bi: Emit a combine even if we only pass one staging reg to TEXC
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 17 Nov 2020 20:48:27 +0000 (21:48 +0100)
committerMarge Bot <eric+marge@anholt.net>
Wed, 25 Nov 2020 13:15:05 +0000 (13:15 +0000)
We need that to account for potential swizzling on the source reg.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615>

src/panfrost/bifrost/bifrost_compile.c

index 7cbba97..d072cd1 100644 (file)
@@ -2074,16 +2074,13 @@ emit_texc(bi_context *ctx, nir_tex_instr *instr)
                 }
         }
 
-        if (dreg_index > 1) {
+        if (dreg_index >= 1) {
                 /* Pass combined data registers together */
                 tex.src[0] = combine.dest;
                 bi_emit(ctx, combine);
 
                 for (unsigned i = 0; i < dreg_index; ++i)
                         tex.swizzle[0][i] = i;
-        } else if (dreg_index == 1) {
-                tex.src[0] = combine.src[0];
-                tex.swizzle[0][0] = combine.swizzle[0][0];
         } else {
                 tex.src[0] = tex.dest;
         }