intel/fs: Introduce lowering pass to implement derivatives in terms of quad swizzles.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 11 Jan 2019 04:23:53 +0000 (20:23 -0800)
committerMarge Bot <eric+marge@anholt.net>
Fri, 16 Apr 2021 08:27:35 +0000 (08:27 +0000)
commita0e0dfe1743c703e718e509e7c2096d1b6e3dc95
tree36f6eda6f3609e2387391aa3bb74a577f46969ef
parent635ed58e527f1a1c0b11eca0552e892f56f8ccf6
intel/fs: Introduce lowering pass to implement derivatives in terms of quad swizzles.

Unfortunately the funky Align1 regions used by the code generator in
order to implement derivatives efficiently aren't available to the
floating-point pipeline on XeHP.  We need to lower them into a number
of pipelined integer shuffle instructions followed by the
floating-point difference computation.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10000>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs.h