vc4: Re-add R4 to the "any" register class.
authorEric Anholt <eric@anholt.net>
Tue, 22 Nov 2016 07:29:04 +0000 (23:29 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 23 Nov 2016 00:46:03 +0000 (16:46 -0800)
I screwed this up in fdad4d24024ab7bc9b6b9cb6288f8b76ccac0d89 which was
supposed to be making this code more maintainable.  What's amazing is
multithreaded FS showed the wins it did despite this bug.

shader-db results:
total instructions in shared programs: 103535 -> 100548 (-2.89%)
instructions in affected programs:     83794 -> 80807 (-3.56%)

src/gallium/drivers/vc4/vc4_register_allocate.c

index 247467b7a76cb540b6e9b315e0927d479a1e81fc..2992a6be2f2ce3a2193c4c358f01561b98e10a63 100644 (file)
@@ -141,6 +141,8 @@ vc4_alloc_reg_set(struct vc4_context *vc4)
         for (int i = 0; i < 2; i++) {
                 ra_class_add_reg(vc4->regs, vc4->reg_class_r4_or_a[i],
                                  ACC_INDEX + 4);
+                ra_class_add_reg(vc4->regs, vc4->reg_class_any[i],
+                                 ACC_INDEX + 4);
         }
 
         /* A/B */