From 2d36efdb7f18f061c519dbb93f6058bf161aad33 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 11 Oct 2017 09:48:21 +1000 Subject: [PATCH] nir: bump loop unroll limit to 96. With the ssao demo from Vulkan demos: radv/rx480: 440->440fps anv/haswell: 24->34 fps The demo does a 0->32 loop across a ubo with 32 members. Reviewed-by: Timothy Arceri Signed-off-by: Dave Airlie --- src/compiler/nir/nir_opt_loop_unroll.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_opt_loop_unroll.c b/src/compiler/nir/nir_opt_loop_unroll.c index 79d04f9..dae5bfc 100644 --- a/src/compiler/nir/nir_opt_loop_unroll.c +++ b/src/compiler/nir/nir_opt_loop_unroll.c @@ -33,8 +33,10 @@ * to give about the same results. Around 5 instructions per node. But some * loops that would unroll with GLSL IR fail to unroll if we set this to 25 so * we set it to 26. + * This was bumped to 96 because it unrolled more loops with a positive + * effect (vulkan ssao demo). */ -#define LOOP_UNROLL_LIMIT 26 +#define LOOP_UNROLL_LIMIT 96 /* Prepare this loop for unrolling by first converting to lcssa and then * converting the phis from the loops first block and the block that follows -- 2.7.4