i965: Reduce the SIMD8 GS push constant threshold from 32 to 24.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 10 May 2016 01:11:00 +0000 (18:11 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 12 May 2016 08:01:42 +0000 (01:01 -0700)
Three Shadow of Mordor geometry shaders increase by a single
instruction, but the number of spills/fills in Orbital Explorer
is reduced from 194:1279 -> 82:454.  No other programs are affected.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/mesa/drivers/dri/i965/brw_fs.cpp

index 2a542b8e510049f6187d843b84a0c497c348e104..89b30c7bfb8f382b7ed9114b8f96af9a31020043 100644 (file)
@@ -5229,8 +5229,8 @@ fs_visitor::setup_gs_payload()
       payload.num_regs++;
    }
 
-   /* Use a maximum of 32 registers for push-model inputs. */
-   const unsigned max_push_components = 32;
+   /* Use a maximum of 24 registers for push-model inputs. */
+   const unsigned max_push_components = 24;
 
    /* If pushing our inputs would take too many registers, reduce the URB read
     * length (which is in HWords, or 8 registers), and resort to pulling.