pan/bi: Allow passing thorugh 8-bit scalars
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 6 Jan 2021 00:21:26 +0000 (19:21 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 11 Jan 2021 22:28:57 +0000 (22:28 +0000)
Needed for fragment output. Not nearly sufficient for actual 8-bit
types in e.g OpenCL.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Maciej Matuszczyk <maccraft123mc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8427>

src/panfrost/bifrost/bifrost_compile.c

index 589ead1..d29c9fc 100644 (file)
@@ -726,7 +726,10 @@ bi_alu_src_index(nir_alu_src src, unsigned comps)
                 unsigned c1 = (comps > 1) ? src.swizzle[1] & 1 : c0;
                 idx.swizzle = BI_SWIZZLE_H00 + c1 + (c0 << 1);
         } else if (bitsize == 8) {
-                unreachable("8-bit handling todo");
+                /* 8-bit vectors not yet supported */
+                assert(comps == 1 && "8-bit vectors not supported");
+                assert(src.swizzle[0] == 0 && "8-bit vectors not supported");
+                idx.swizzle = BI_SWIZZLE_B0000;
         }
 
         return idx;