nir/serialize: Support texop >= 16
authorBoris Brezillon <boris.brezillon@collabora.com>
Thu, 23 Jun 2022 14:32:12 +0000 (16:32 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 28 Jun 2022 09:07:32 +0000 (09:07 +0000)
Extend the packed_instr struct to support texops above
nir_texop_fragment_fetch_amd.

Fixes: 603e6ba972da ("nir: add two new texture ops for multisample fragment color/mask fetches")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186>

src/compiler/nir/nir_serialize.c

index 98f7566..4a691af 100644 (file)
@@ -665,8 +665,8 @@ union packed_instr {
    struct {
       unsigned instr_type:4;
       unsigned num_srcs:4;
-      unsigned op:4;
-      unsigned _pad:12;
+      unsigned op:5;
+      unsigned _pad:11;
       unsigned dest:8;
    } tex;
    struct {
@@ -1504,7 +1504,7 @@ static void
 write_tex(write_ctx *ctx, const nir_tex_instr *tex)
 {
    assert(tex->num_srcs < 16);
-   assert(tex->op < 16);
+   assert(tex->op < 32);
 
    union packed_instr header;
    header.u32 = 0;