nir: Expose nir_remove_unused_io_vars().
authorEric Anholt <eric@anholt.net>
Wed, 26 Sep 2018 16:13:13 +0000 (09:13 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Oct 2018 00:16:44 +0000 (17:16 -0700)
commit7d77fe1bcc8e84a30ddc5d4bc6b0c571dfd64b22
treea3f71e28e5191ffd8faf9b48563f12a0113c928a
parentb788ab6d5c8e87743c345ee8c6131db628b87a8e
nir: Expose nir_remove_unused_io_vars().

For gallium drivers where you want to do some linking at variant compile
time, you don't have the other producer/consumer shader on hand to modify.
By exposing the inner function, the driver can have the used varyings in
the compiled shader cache key and still do linking.

This is also useful for V3D, where the binning shader wants to only output
position and TF varyings.  We've been removing those after nir_lower_io,
but this will be less driver-specific code and let more of the shader get
DCEed early in NIR.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/compiler/nir/nir.h
src/compiler/nir/nir_linking_helpers.c