On Mon, 2016-05-23 at 12:41 +1000, Timothy Arceri wrote: > We disable varying packing in GL 4.4+ as we can no longer assume > varying have the same interpolation qualifiers. However doubles used > as fs inputs must always be qualified as "flat" and backends expect > doubles to have been packed as floats so we enable packing for them. > --- > src/compiler/glsl/lower_packed_varyings.cpp | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/compiler/glsl/lower_packed_varyings.cpp > b/src/compiler/glsl/lower_packed_varyings.cpp > index 41edada..ab4028a 100644 > --- a/src/compiler/glsl/lower_packed_varyings.cpp > +++ b/src/compiler/glsl/lower_packed_varyings.cpp > @@ -667,10 +667,14 @@ > lower_packed_varyings_visitor::needs_lowering(ir_variable *var) > /* Override disable_varying_packing if the var is only used by transform > * feedback. Also override it if transform feedback is enabled and the > * variable is an array, struct or matrix as the elements of these types > - * will always has the same interpolation and therefore asre safe to pack. > + * will always has the same interpolation and therefore are safe to pack. > + *
Since you are fixing the comment: s/always has/always have > + * We also override disable_varying_packing for doubles used as fs inputs > + * must always be qualified as "flat". I think you meant something like "...as fs inputs because they must always be..." > */ > const glsl_type *type = var->type; > if (disable_varying_packing && !var->data.is_xfb_only && > + !type->without_array()->is_double() && > !((type->is_array() || type->is_record() || type->is_matrix()) && > xfb_enabled)) > return false; Right after this we also call type->without_array()... maybe assign that to a local variable and reuse it in both places? without_array() involves a loop after all. With these changes: Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev