On Tue, 2016-02-16 at 11:03 +1100, Timothy Arceri wrote: > This is usually handled by the backends in order to handle the > various interactions with the gl_*Color built-ins. > > The problem is this means linking will fail if one side on the > interface adds the smooth qualifier to the varying and the other > side just uses the default even though they match. > > This fixes various deqp tests. The spec is not clear what to for > deskto GL so leave it as is for now. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92743 > --- > src/compiler/glsl/ast_to_hir.cpp | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/src/compiler/glsl/ast_to_hir.cpp > b/src/compiler/glsl/ast_to_hir.cpp > index b639378..4203cd5 100644 > --- a/src/compiler/glsl/ast_to_hir.cpp > +++ b/src/compiler/glsl/ast_to_hir.cpp > @@ -2750,6 +2750,17 @@ interpret_interpolation_qualifier(const struct > ast_type_qualifier *qual, > "vertex shader inputs or fragment shader outputs", > interpolation_string(interpolation)); > } > + } else if (state->es_shader && > + ((mode == ir_var_shader_in && > + state->stage != MESA_SHADER_VERTEX) || > + (mode == ir_var_shader_out && > + state->stage != MESA_SHADER_FRAGMENT))) { > + /* From Section 4.3.9 (Interpolation) of the GLSL ES spec: > + * > + * " When no interpolation qualifier is present, smooth > interpolation > + * is used." > + */ > + interpolation = INTERP_QUALIFIER_SMOOTH; > } > > return interpolation;
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