r600/sfn: Add the VS in and FS out vectorization
authorGert Wollny <gert.wollny@collabora.com>
Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 10 Feb 2020 19:09:08 +0000 (19:09 +0000)
commite09cdb3f86ca53d4c24aa7b60d9ab44d1d679018
tree422e145b25bb4fb01b806a0b879b07eb49da5b91
parentc5d9456d841c54b50616b293a532d106323658ce
r600/sfn: Add the VS in and FS out vectorization

Since the nir default implementation doesn't support vectorizing the VS
inputs and FS outputs, additional lowering passes are added here to do
just that. The work is based on the Timothy Arceri's related work.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
src/compiler/nir_types.cpp
src/compiler/nir_types.h
src/gallium/drivers/r600/Makefile.sources
src/gallium/drivers/r600/meson.build
src/gallium/drivers/r600/sfn/sfn_nir.cpp
src/gallium/drivers/r600/sfn/sfn_nir.h
src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp [new file with mode: 0644]
src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.h [new file with mode: 0644]
src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c [new file with mode: 0644]