[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