nir/vtn: Add support for 8 and 16 vector ball/bany
authorJesse Natalie <jenatali@microsoft.com>
Tue, 23 Jun 2020 12:44:11 +0000 (05:44 -0700)
committerJesse Natalie <jenatali@microsoft.com>
Fri, 24 Jul 2020 01:23:23 +0000 (18:23 -0700)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6030>

src/compiler/spirv/vtn_alu.c

index fc3fb3c4d68843fa77871df57e085cecb29ee091..e78f74576bbed0a1811d86a60aded16822d515e0 100644 (file)
@@ -450,6 +450,8 @@ vtn_handle_alu(struct vtn_builder *b, SpvOp opcode,
          case 2:  op = nir_op_bany_inequal2; break;
          case 3:  op = nir_op_bany_inequal3; break;
          case 4:  op = nir_op_bany_inequal4; break;
+         case 8:  op = nir_op_bany_inequal8; break;
+         case 16:  op = nir_op_bany_inequal16; break;
          default: vtn_fail("invalid number of components");
          }
          val->ssa->def = nir_build_alu(&b->nb, op, src[0],
@@ -467,6 +469,8 @@ vtn_handle_alu(struct vtn_builder *b, SpvOp opcode,
          case 2:  op = nir_op_ball_iequal2;  break;
          case 3:  op = nir_op_ball_iequal3;  break;
          case 4:  op = nir_op_ball_iequal4;  break;
+         case 8:  op = nir_op_ball_iequal8;  break;
+         case 16:  op = nir_op_ball_iequal16;  break;
          default: vtn_fail("invalid number of components");
          }
          val->ssa->def = nir_build_alu(&b->nb, op, src[0],