i965/fs: Predicate byte scattered writes if needed
authorAlejandro Piñeiro <apinheiro@igalia.com>
Sat, 29 Jul 2017 14:10:02 +0000 (16:10 +0200)
committerJose Maria Casanova Crespo <jmcasanova@igalia.com>
Wed, 6 Dec 2017 07:57:18 +0000 (08:57 +0100)
commita4031bdfa927fb4c3c5d0bdadc70634f3c1a5eac
tree37df5ad90815c31b563e7808a1c8e9cd3755861a
parent96f1926aab96a92e45f1dec226390aae46d3ea45
i965/fs: Predicate byte scattered writes if needed

While on Untyped Surface messages the bits of the execution mask are
ANDed with the corresponding bits of the Pixel/Sample Mask, that is
not the case for byte scattered writes. That is needed to avoid ssbo
stores writing on helper invocations. So when that can affect, we load
the sample mask, and predicate the send message.

Note: the need for this patch was tested with a custom test. Right now
the 16 bit storage CTS tests doesnt need this path in order to get a
full pass.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs_nir.cpp