summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir.h
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2012-12-04 15:17:01 -0800
committerPaul Berry <[email protected]>2012-12-14 10:48:38 -0800
commit3c9c17db4a02ab5b1b2f60b9655c20319d9a9093 (patch)
tree2b94d44183eb5e5062d660f9afc04d9ea635b9ca /src/glsl/ir.h
parent50895d443ae7b96cb7de6b41857393d4e129d6eb (diff)
glsl/linker: Make separate ir_variable field to mean "unmatched".
Previously, the linker used a value of -1 in ir_variable::location to denote a generic input or output of the shader that had not yet been matched up to a variable in another pipeline stage. This patch introduces a new ir_variable field, is_unmatched_generic_inout, for that purpose. In future patches, this will allow us to separate the process of matching varyings between shader stages from the processes of assigning locations to those varying. That will in turn pave the way for packing varyings. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir.h')
-rw-r--r--src/glsl/ir.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 89c516c877d..e2ecb3d9dfd 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -437,6 +437,15 @@ public:
unsigned has_initializer:1;
/**
+ * Is this variable a generic output or input that has not yet been matched
+ * up to a variable in another stage of the pipeline?
+ *
+ * This is used by the linker as scratch storage while assigning locations
+ * to generic inputs and outputs.
+ */
+ unsigned is_unmatched_generic_inout:1;
+
+ /**
* \brief Layout qualifier for gl_FragDepth.
*
* This is not equal to \c ir_depth_layout_none if and only if this