Mesa (master): linker: Make lower_packed_varyings work with explicit locations
Ian Romanick
idr at kemper.freedesktop.org
Fri May 2 14:31:43 UTC 2014
Module: Mesa
Branch: master
Commit: 5998fd536a1bb1d13218c995aa69723c6767cf04
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5998fd536a1bb1d13218c995aa69723c6767cf04
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Sun Apr 27 14:16:48 2014 -0700
linker: Make lower_packed_varyings work with explicit locations
Don't do anything with variables that have explicitly assigned
locations. This is also how built-in varyings are handled.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
---
src/glsl/lower_packed_varyings.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/glsl/lower_packed_varyings.cpp b/src/glsl/lower_packed_varyings.cpp
index 35f1c5f..e865474 100644
--- a/src/glsl/lower_packed_varyings.cpp
+++ b/src/glsl/lower_packed_varyings.cpp
@@ -584,7 +584,12 @@ lower_packed_varyings_visitor::get_packed_varying_deref(
bool
lower_packed_varyings_visitor::needs_lowering(ir_variable *var)
{
- /* Things composed of vec4's don't need lowering. Everything else does. */
+ /* Things composed of vec4's and varyings with explicitly assigned
+ * locations don't need lowering. Everything else does.
+ */
+ if (var->data.explicit_location)
+ return false;
+
const glsl_type *type = var->type;
if (this->gs_input_vertices != 0) {
assert(type->is_array());
More information about the mesa-commit
mailing list