summaryrefslogtreecommitdiffstats
path: root/src/glsl/link_varyings.h
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2013-06-12 13:23:48 +0200
committerMarek Olšák <maraeo@gmail.com>2013-07-02 17:02:14 +0200
commitb3d8b4c0b423539f17c13713673cfeb6d66ff7ed (patch)
tree58ea816c6292ff40f5b820a1bdc2398b78708ebd /src/glsl/link_varyings.h
parent3c555827c3e2fdb84ee4b4b8fd8296985cbb1fda (diff)
downloadexternal_mesa3d-b3d8b4c0b423539f17c13713673cfeb6d66ff7ed.zip
external_mesa3d-b3d8b4c0b423539f17c13713673cfeb6d66ff7ed.tar.gz
external_mesa3d-b3d8b4c0b423539f17c13713673cfeb6d66ff7ed.tar.bz2
glsl/linker: eliminate unused and set-but-unused built-in varyings
This eliminates built-in varyings such as gl_Color, gl_SecondaryColor, gl_TexCoord, and gl_FogFragCoord if they are unused by the next stage or not written at all (e.g. gl_TexCoord elements). The gl_TexCoord array is broken down into separate vec4s if needed. v2: - use a switch statement in varying_info_visitor::visit(ir_variable*) - use snprintf - disable the optimization for GLES2 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/glsl/link_varyings.h')
-rw-r--r--src/glsl/link_varyings.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/glsl/link_varyings.h b/src/glsl/link_varyings.h
index daa9d79..7f7be35 100644
--- a/src/glsl/link_varyings.h
+++ b/src/glsl/link_varyings.h
@@ -125,6 +125,10 @@ public:
return this->vector_elements * this->matrix_columns * this->size;
}
+ unsigned get_location() const {
+ return this->location;
+ }
+
private:
/**
* The name that was supplied to glTransformFeedbackVaryings. Used for