diff --git a/src/panfrost/compiler/bifrost_compile.c b/src/panfrost/compiler/bifrost_compile.c index 5c5ddb55925..5c8172ba3e6 100644 --- a/src/panfrost/compiler/bifrost_compile.c +++ b/src/panfrost/compiler/bifrost_compile.c @@ -4982,9 +4982,6 @@ bifrost_preprocess_nir(nir_shader *nir, unsigned gpu_id) psiz->data.precision = GLSL_PRECISION_MEDIUM; } - /* lower MSAA load/stores to 3D load/stores */ - NIR_PASS_V(nir, pan_nir_lower_image_ms); - /* Get rid of any global vars before we lower to scratch. */ NIR_PASS_V(nir, nir_lower_global_vars_to_local); @@ -5068,6 +5065,10 @@ bifrost_preprocess_nir(nir_shader *nir, unsigned gpu_id) NIR_PASS_V(nir, nir_lower_image_atomics_to_global); + /* on bifrost, lower MSAA load/stores to 3D load/stores */ + if (pan_arch(gpu_id) < 9) + NIR_PASS_V(nir, pan_nir_lower_image_ms); + NIR_PASS_V(nir, nir_lower_alu_to_scalar, bi_scalarize_filter, NULL); NIR_PASS_V(nir, nir_lower_load_const_to_scalar); NIR_PASS_V(nir, nir_lower_phis_to_scalar, true);