aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/nir_fuse_io_16.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-06-10 14:06:43 -0400
committerMarge Bot <[email protected]>2020-06-12 14:45:50 +0000
commit7ac1bb047aa96805199b0d85ee49367f6a2b0531 (patch)
treeb719cbb12c310a6799230297b9ee2e28c73f6e20 /src/panfrost/midgard/nir_fuse_io_16.c
parent1f98d8c804094fcda1c607234433f2ba2be2cf07 (diff)
pan/mdg: Avoid fusing ld_vary_16 with non-zero component
Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5423>
Diffstat (limited to 'src/panfrost/midgard/nir_fuse_io_16.c')
-rw-r--r--src/panfrost/midgard/nir_fuse_io_16.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/panfrost/midgard/nir_fuse_io_16.c b/src/panfrost/midgard/nir_fuse_io_16.c
index ddeb4491de4..ed4b7750d04 100644
--- a/src/panfrost/midgard/nir_fuse_io_16.c
+++ b/src/panfrost/midgard/nir_fuse_io_16.c
@@ -67,6 +67,11 @@ nir_fuse_io_16(nir_shader *shader)
if (nir_dest_bit_size(intr->dest) != 32)
continue;
+ /* We swizzle at a 32-bit level so need a multiple of 2. We could
+ * do a bit better and handle even components though */
+ if (nir_intrinsic_component(intr))
+ continue;
+
if (!intr->dest.is_ssa)
continue;