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 <[email protected]>
---
  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))) {

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to