pan/bi: Encode skip bit into IR

Currently unset.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7081>
diff --git a/src/panfrost/bifrost/bi_print.c b/src/panfrost/bifrost/bi_print.c
index e801f77..f95295c 100644
--- a/src/panfrost/bifrost/bi_print.c
+++ b/src/panfrost/bifrost/bi_print.c
@@ -277,6 +277,9 @@
         if (bi_class_props[ins->type] & BI_CONDITIONAL)
                 fprintf(fp, ".%s", bi_cond_name(ins->cond));
 
+        if (ins->skip)
+                fprintf(fp, ".skip");
+
         if (ins->vector_channels)
                 fprintf(fp, ".v%u", ins->vector_channels);
 
diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index 43978db..23641b3 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -300,6 +300,13 @@
         /* For VECTOR ops, how many channels are written? */
         unsigned vector_channels;
 
+        /* For texture ops, the skip bit. Set if helper invocations can skip
+         * the operation. That is, set if the result of this texture operation
+         * is never used for cross-lane operation (including texture
+         * coordinates and derivatives) as determined by data flow analysis
+         * (like Midgard) */
+        bool skip;
+
         /* The comparison op. BI_COND_ALWAYS may not be valid. */
         enum bi_cond cond;