nir/linker: pack varyings with different interpolation qualifier
authorQiang Yu <yuq825@gmail.com>
Wed, 25 Aug 2021 06:07:50 +0000 (14:07 +0800)
committerMarge Bot <eric+marge@anholt.net>
Thu, 9 Sep 2021 06:00:58 +0000 (06:00 +0000)
commit7054c1b7fd7b826e6a2577834b26b4d1ef4d34fc
tree6c63363f97e9a57ebb7b030f1f8fa8483233062a
parent5a24aed1ac1b6718c1670f5a243a2be20629d6b0
nir/linker: pack varyings with different interpolation qualifier

Driver like radeonsi load varying in a scalar manner, so prefer to pack
varying with different interpolation qualifier into same slot to save
space.

But driver like panfrost/bifrost can load varying in vector manner,
so prefer to pack varying with same interpolation qualifier.

Driver can add interpolation qualifiers which are able to be
packed into same varying slot to pack_varying_options nir option.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12537>
src/compiler/nir/nir.h
src/compiler/nir/nir_linking_helpers.c