diff --git a/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml b/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml index bd80fe70429..dc025be3a6d 100644 --- a/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml +++ b/src/gallium/drivers/radeonsi/ci/traces-radeonsi.yml @@ -34,10 +34,6 @@ traces: expectations: - device: gl-radeonsi-stoney checksum: 84c499203944cdc59e70450c324bb8df - - path: gputest/pixmark-piano.trace - expectations: - - device: gl-radeonsi-stoney - checksum: a7317d54d452d19ce630c7f554f2279b - path: gputest/triangle.trace expectations: - device: gl-radeonsi-stoney diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index e4a32c35bb9..b4064cd8f0b 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -1054,7 +1054,7 @@ void si_init_screen_get_functions(struct si_screen *sscreen) .has_dot_4x8 = sscreen->info.has_accelerated_dot_product, .has_dot_2x16 = sscreen->info.has_accelerated_dot_product, .optimize_sample_mask_in = true, - .max_unroll_iterations = 32, + .max_unroll_iterations = 128, .max_unroll_iterations_aggressive = 128, .use_interpolated_input_intrinsics = true, .lower_uniforms_to_ubo = true, diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index f51909cf079..a3e49d8bec5 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -597,15 +597,15 @@ void si_nir_opts(struct si_screen *sscreen, struct nir_shader *nir, bool first) { bool progress; - NIR_PASS_V(nir, nir_lower_vars_to_ssa); - NIR_PASS_V(nir, nir_lower_alu_to_scalar, si_alu_to_scalar_filter, sscreen); - NIR_PASS_V(nir, nir_lower_phis_to_scalar, false); - do { progress = false; bool lower_alu_to_scalar = false; bool lower_phis_to_scalar = false; + NIR_PASS(progress, nir, nir_lower_vars_to_ssa); + NIR_PASS(progress, nir, nir_lower_alu_to_scalar, si_alu_to_scalar_filter, sscreen); + NIR_PASS(progress, nir, nir_lower_phis_to_scalar, false); + if (first) { NIR_PASS(progress, nir, nir_split_array_vars, nir_var_function_temp); NIR_PASS(lower_alu_to_scalar, nir, nir_shrink_vec_array_vars, nir_var_function_temp);