summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-09-11 16:19:22 +1000
committerTimothy Arceri <[email protected]>2017-09-26 22:37:02 +1000
commit4244bea8591d13a0f03a329bcd21a57587a68230 (patch)
treee511a4f4c2a423a423e5460c64a00aed70f217b4 /src/compiler/nir
parent06bfb2d28f7adca7edc6be9c210a7a3583023652 (diff)
nir: add always_active_io to nir variable
Will be used in nir link pass to decided if we can remove a varying or not. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eduardo Lima Mitev <[email protected]>
Diffstat (limited to 'src/compiler/nir')
-rw-r--r--src/compiler/nir/nir.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 8330e6d7ce7..fab2110f619 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -192,6 +192,16 @@ typedef struct nir_variable {
unsigned invariant:1;
/**
+ * When separate shader programs are enabled, only input/outputs between
+ * the stages of a multi-stage separate program can be safely removed
+ * from the shader interface. Other input/outputs must remains active.
+ *
+ * This is also used to make sure xfb varyings that are unused by the
+ * fragment shader are not removed.
+ */
+ unsigned always_active_io:1;
+
+ /**
* Interpolation mode for shader inputs / outputs
*
* \sa glsl_interp_mode