From: Jonathan Marek Date: Sat, 4 Jul 2020 21:46:24 +0000 (-0400) Subject: freedreno/ir3: run nir_opt_loop_unroll in optimization loop X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ffb6eb6d5df7a227bedae31376f826099b4c00b9;p=mesa.git freedreno/ir3: run nir_opt_loop_unroll in optimization loop GL driver was relying on this being done by gallium, but there might be new loops to unroll during optimizations and turnip needs it. Signed-off-by: Jonathan Marek Part-of: --- diff --git a/.gitlab-ci/deqp-freedreno-a630-fails.txt b/.gitlab-ci/deqp-freedreno-a630-fails.txt index 1b6b0fce2a5..daf0960d63b 100644 --- a/.gitlab-ci/deqp-freedreno-a630-fails.txt +++ b/.gitlab-ci/deqp-freedreno-a630-fails.txt @@ -8,7 +8,6 @@ dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3 dEQP-VK.glsl.derivate.fwidthfine.uniform_loop.vec3_mediump dEQP-VK.glsl.linkage.varying.struct.mat3x2 dEQP-VK.graphicsfuzz.mat-array-deep-control-flow -dEQP-VK.pipeline.spec_constant.compute.composite.array.mat4x3 dEQP-VK.pipeline.spec_constant.graphics.geometry.composite.array.array_vec4 dEQP-VK.pipeline.spec_constant.graphics.vertex.composite.array.mat4x3 dEQP-VK.renderpass2.dedicated_allocation.formats.d24_unorm_s8_uint.input.load.store.self_dep_draw_stencil_read_only diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c index 903f136860b..74013aa3bd1 100644 --- a/src/freedreno/ir3/ir3_nir.c +++ b/src/freedreno/ir3/ir3_nir.c @@ -194,6 +194,7 @@ ir3_optimize_loop(nir_shader *s) OPT(s, nir_opt_dce); } progress |= OPT(s, nir_opt_if, false); + progress |= OPT(s, nir_opt_loop_unroll, nir_var_all); progress |= OPT(s, nir_opt_remove_phis); progress |= OPT(s, nir_opt_undef); } while (progress);