nir: bump loop unroll limit to 96.
authorDave Airlie <airlied@redhat.com>
Tue, 10 Oct 2017 23:48:21 +0000 (09:48 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 11 Oct 2017 00:11:36 +0000 (10:11 +1000)
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 <tarceri@itsqueeze.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/nir/nir_opt_loop_unroll.c

index 79d04f978bc246213173d174bce7e757fc2543e3..dae5bfc90203621d7d818bb822a0500a15af8da7 100644 (file)
  * 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