intel/fs: move lower of non-uniform at_sample barycentric to NIR
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 23 Aug 2023 22:23:00 +0000 (01:23 +0300)
committerMarge Bot <emma+marge@anholt.net>
Tue, 29 Aug 2023 23:19:13 +0000 (23:19 +0000)
commit74a40cc4b6ed9440a0820c6f4a9cee296a8e191a
tree5f66de970531e03720a8909884a4152f6fce6962
parent68027bd38e134f45d1fe8612c0c31e5379ed7435
intel/fs: move lower of non-uniform at_sample barycentric to NIR

We use a non-uniform lowering loop in the backend which we can do
better in NIR because we can also use divergence analysis there.

This change also limits VGRF usage to a single VGRF to hold the sample
ID in the backend.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24716>
src/intel/compiler/brw_fs_nir.cpp
src/intel/compiler/brw_nir.c
src/intel/compiler/brw_nir.h
src/intel/compiler/brw_nir_lower_non_uniform_barycentric_at_sample.c [new file with mode: 0644]
src/intel/compiler/meson.build