i965/fs: Set execution controls correctly for lowered pull constant loads.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 27 Jul 2015 14:55:49 +0000 (17:55 +0300)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 29 Jul 2015 11:14:35 +0000 (14:14 +0300)
commitce90227c71c8cbe6ca4317f1873ff12c70081c4c
tree0c1deec7dca1a03b2c3cd48763d2a6d4ae279cfd
parent53077aee6670022e634a4775d8abbb59c458b7d7
i965/fs: Set execution controls correctly for lowered pull constant loads.

demote_pull_constants() was ignoring the execution size and channel
selects of the instruction that wanted the constant, which doesn't
matter for uniform pull constant loads because all channels get the
same scalar value, but it might for varying pull constant loads.  Fix
it by using the new fs_builder() constructor that takes care of
setting execution controls compatible with the instruction passed as
argument.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_fs.cpp