From 9f4e0aa7c1f9d71e6716295a1ee5b78e70ed6f37 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 11 May 2018 10:29:17 +0200 Subject: [PATCH] nir: do not remove varyings used for transform feedback When a xfb buffer is explicitely declared on a varying variable, we shouldn't remove it at link time. Signed-off-by: Samuel Pitoiset Reviewed-by: Jason Ekstrand --- 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 8e67e84..aaa4204 100644 --- a/src/compiler/nir/nir_linking_helpers.c +++ b/src/compiler/nir/nir_linking_helpers.c @@ -128,6 +128,9 @@ nir_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))) { -- 2.7.4