From ffb6eb6d5df7a227bedae31376f826099b4c00b9 Mon Sep 17 00:00:00 2001 From: Jonathan Marek Date: Sat, 4 Jul 2020 17:46:24 -0400 Subject: [PATCH] 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: --- .gitlab-ci/deqp-freedreno-a630-fails.txt | 1 - src/freedreno/ir3/ir3_nir.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) 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); -- 2.30.2