Here we skip replacing parameters with their actual values for
images as glsl_to_nir() expects them to be copied to temps first.
Tree grafting has a similiar rule to avoid this happening also.
Fixes: 8d10a6835f32 ("glsl: dont create temps for builtin function inputs")
Tested-by: Martin Roukala <martin.roukala@mupuf.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20274>
sig_param->data.mode != ir_var_const_in)
return false;
+ /* Some places in glsl_to_nir() expect images to always be copied to a temp
+ * first.
+ */
+ if (sig_param->type->without_array()->is_image() && !param->is_dereference())
+ return false;
+
/* SSBO and shared vars might be passed to a built-in such as an atomic
* memory function, where copying these to a temp before passing to the
* atomic function is not valid so we must replace these instead. Also,