glsl: do not loose always_active_io when packing varyings
authorTapani Pälli <tapani.palli@intel.com>
Wed, 9 Dec 2015 07:48:57 +0000 (09:48 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Thu, 10 Dec 2015 05:51:55 +0000 (07:51 +0200)
Otherwise packed and inactive varyings get optimized away. This needs
to be prevented when using separate shader objects where interface
needs to be preserved.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/glsl/lower_packed_varyings.cpp

index 037c27d88ab9f74def95bd25cb90f5519485227b..8d1eb1725d54238414e1697dfe83d1c74d9e3285 100644 (file)
@@ -622,6 +622,7 @@ lower_packed_varyings_visitor::get_packed_varying_deref(
       packed_var->data.interpolation = unpacked_var->data.interpolation;
       packed_var->data.location = location;
       packed_var->data.precision = unpacked_var->data.precision;
+      packed_var->data.always_active_io = unpacked_var->data.always_active_io;
       unpacked_var->insert_before(packed_var);
       this->packed_varyings[slot] = packed_var;
    } else {