diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index afc53ac0557..349c8a379ba 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1965,6 +1965,9 @@ void nir_rewrite_image_intrinsic(nir_intrinsic_instr *instr, static inline bool nir_intrinsic_can_reorder(nir_intrinsic_instr *instr) { + if (nir_intrinsic_has_access(instr) && + nir_intrinsic_access(instr) & ACCESS_VOLATILE) + return false; if (instr->intrinsic == nir_intrinsic_load_deref) { nir_deref_instr *deref = nir_src_as_deref(instr->src[0]); return nir_deref_mode_is_in_set(deref, nir_var_read_only_modes) ||