intel/fs: Set up sampler message headers in the visitor on gen7+
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 1 Mar 2018 03:57:44 +0000 (19:57 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 1 Mar 2018 23:11:01 +0000 (15:11 -0800)
commitff4726077d86800d33520581f154a27dac408588
tree8306ac0ca888b6ea68b5df271170873a7036e0b2
parentf5305c1b44a81d8e022997e0f2f5bd7556be7dea
intel/fs: Set up sampler message headers in the visitor on gen7+

This gives the scheduler visibility into the headers which should
improve scheduling.  More importantly, however, it lets the scheduler
know that the header gets written.  As-is, the scheduler thinks that a
texture instruction only reads it's payload and is unaware that it may
write to the first register so it may reorder it with respect to a read
from that register.  This is causing issues in a couple of Dota 2 vertex
shaders.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104923
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_generator.cpp