summaryrefslogtreecommitdiff
path: root/src/glsl/ir.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-08-04 20:33:57 -0700
committerEric Anholt <eric@anholt.net>2010-08-04 20:52:33 -0700
commit046bef235744e891e4a48076e1a3ff9a61a63092 (patch)
tree1ddd953a9e7ec14e1726d16011985910e372742a /src/glsl/ir.h
parenta08f27940ac72538ce0b264917207111d629f097 (diff)
glsl2: Remove the shader_in/shader_out tracking separate from var->mode.
I introduced this for ir_dead_code to distinguish function parameter outvals from varying outputs. Only, since ast_to_hir's current_function is unset when setting up function parameters (they're needed for making the function signature in the first place), all function parameter outvals were marked as shader outputs anyway. This meant that an inlined function's cloned outval was marked as a shader output and couldn't be dead-code eliminated. Instead, since ir_dead_code doesn't even look at function parameters, just use var->mode. The longest Mesa IR coming out of ir_to_mesa for Yo Frankie drops from 725 instructions to 636.
Diffstat (limited to 'src/glsl/ir.h')
-rw-r--r--src/glsl/ir.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/glsl/ir.h b/src/glsl/ir.h
index 98789503e0..e61485813d 100644
--- a/src/glsl/ir.h
+++ b/src/glsl/ir.h
@@ -194,10 +194,10 @@ public:
/**
* Get the string value for the interpolation qualifier
*
- * \return
- * If none of \c shader_in or \c shader_out is set, an empty string will
- * be returned. Otherwise the string that would be used in a shader to
- * specify \c mode will be returned.
+ * \return The string that would be used in a shader to specify \c
+ * mode will be returned.
+ *
+ * This function should only be used on a shader input or output variable.
*/
const char *interpolation_string() const;
@@ -221,12 +221,6 @@ public:
unsigned read_only:1;
unsigned centroid:1;
unsigned invariant:1;
- /** If the variable is initialized outside of the scope of the shader */
- unsigned shader_in:1;
- /**
- * If the variable value is later used outside of the scope of the shader.
- */
- unsigned shader_out:1;
unsigned mode:3;
unsigned interpolation:2;