Mesa (master): freedreno/ir3: run nir_opt_loop_unroll in optimization loop
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 10 00:06:40 UTC 2020
Module: Mesa
Branch: master
Commit: ffb6eb6d5df7a227bedae31376f826099b4c00b9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffb6eb6d5df7a227bedae31376f826099b4c00b9
Author: Jonathan Marek <jonathan at marek.ca>
Date: Sat Jul 4 17:46:24 2020 -0400
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 <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5818>
---
.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);
More information about the mesa-commit
mailing list