+ }
+
+ if (copy_prop_deref_var(instr, tex->texture))
+ progress = true;
+ if (copy_prop_deref_var(instr, tex->sampler))
+ progress = true;
+
+ while (copy_prop_dest(&tex->dest, instr))
+ progress = true;
+
+ return progress;
+ }
+
+ case nir_instr_type_intrinsic: {
+ nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
+ for (unsigned i = 0;
+ i < nir_intrinsic_infos[intrin->intrinsic].num_srcs; i++) {
+ unsigned num_components = nir_intrinsic_src_components(intrin, i);
+
+ while (copy_prop_src(&intrin->src[i], instr, NULL, num_components))
+ progress = true;
+ }
+
+ for (unsigned i = 0;
+ i < nir_intrinsic_infos[intrin->intrinsic].num_variables; i++) {
+ if (copy_prop_deref_var(instr, intrin->variables[i]))
+ progress = true;
+ }
+
+ if (nir_intrinsic_infos[intrin->intrinsic].has_dest) {
+ while (copy_prop_dest(&intrin->dest, instr))
+ progress = true;
+ }