i965/fs: extend exec_size halving in the generator
authorConnor Abbott <connor.w.abbott@intel.com>
Tue, 4 Aug 2015 00:44:08 +0000 (17:44 -0700)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 10 May 2016 09:25:07 +0000 (11:25 +0200)
commita5d7e144eaf43fee37e6ff9e2de194407087632b
treeea8f885ba5e314094175934f0655d31d7a3295ab
parent4f3888c1caf3455f61b2e20ccf7c39e59f4feaf3
i965/fs: extend exec_size halving in the generator

The HW has a restriction that only vertical stride may cross register
boundaries. Previously, this only mattered for SIMD16 instructions where
we needed to use the same regioning parameters as the equivalent SIMD8
instruction but double the exec size. But we need to do the same
splitting for 64-bit instructions as well as instructions with a stride
of 2 (which effectively consume 64 bits per element). Fix up the code to
do the right thing instead of special-casing SIMD16.

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