Module: Mesa
Branch: main
Commit: 640173cdbbbf54455c3bee50cc429e6fcf0a77eb
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=640173cdbbbf54455c3bee50cc429e6fcf0a77eb

Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Aug 24 15:38:32 2023 -0400

zink: fix rewrite_read_as_0 filtering

Fixes: 9e42553ca8d ("zink: use lowered io (kinda) for i/o vars")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24874>

---

 src/gallium/drivers/zink/zink_compiler.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/zink_compiler.c 
b/src/gallium/drivers/zink/zink_compiler.c
index 17fe3eba3f3..a29a0a05e91 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -2578,7 +2578,12 @@ rewrite_read_as_0(nir_builder *b, nir_instr *instr, void 
*data)
       return false;
 
    nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
-   if (intr->intrinsic != nir_intrinsic_load_input)
+   bool is_load = false;
+   bool is_input = false;
+   bool is_interp = false;
+   if (!filter_io_instr(intr, &is_load, &is_input, &is_interp))
+      return false;
+   if (!is_load)
       return false;
    unsigned location = nir_intrinsic_io_semantics(intr).location;
    if (location != var->data.location)

Reply via email to