[Mesa-dev] [PATCH] nir: do not remove varyings used for transform feedback
Timothy Arceri
tarceri at itsqueeze.com
Mon Sep 10 21:58:19 UTC 2018
For GLSL IR we set data.always_active_io = 1 this should skip this pass
the array/component splitting/packing passes etc.
On 11/9/18 4:52 am, Samuel Pitoiset wrote:
> When a xfb buffer is explicitely declared on a varying
> variable, we shouldn't remove it at link time.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/compiler/nir/nir_linking_helpers.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/compiler/nir/nir_linking_helpers.c b/src/compiler/nir/nir_linking_helpers.c
> index 85712a7cb1c..a710ba3da25 100644
> --- a/src/compiler/nir/nir_linking_helpers.c
> +++ b/src/compiler/nir/nir_linking_helpers.c
> @@ -112,6 +112,9 @@ remove_unused_io_vars(nir_shader *shader, struct exec_list *var_list,
> if (var->data.always_active_io)
> continue;
>
> + if (var->data.explicit_xfb_buffer)
> + continue;
> +
> uint64_t other_stage = used[var->data.location_frac];
>
> if (!(other_stage & get_variable_io_mask(var, shader->info.stage))) {
>
More information about the mesa-dev
mailing list