[Mesa-dev] [PATCH 2/2] glsl: set user defined varyings to smooth by default

Timothy Arceri timothy.arceri at collabora.com
Mon Feb 15 22:04:51 UTC 2016


On Mon, 2016-02-15 at 16:12 +0100, Iago Toral wrote:
> On Mon, 2016-02-15 at 18:38 +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 and should have no impact on
> > built-ins as they generate GLSL IR directly.
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92743
> > ---
> >  src/compiler/glsl/ast_to_hir.cpp | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/src/compiler/glsl/ast_to_hir.cpp
> > b/src/compiler/glsl/ast_to_hir.cpp
> > index b639378..47d52ee 100644
> > --- a/src/compiler/glsl/ast_to_hir.cpp
> > +++ b/src/compiler/glsl/ast_to_hir.cpp
> > @@ -2750,6 +2750,11 @@ interpret_interpolation_qualifier(const
> > struct ast_type_qualifier *qual,
> >                            "vertex shader inputs or fragment shader
> > outputs",
> >                            interpolation_string(interpolation));
> >        }
> > +   } else if ((mode == ir_var_shader_in &&
> > +               state->stage != MESA_SHADER_VERTEX) ||
> > +              (mode == ir_var_shader_out &&
> > +               state->stage != MESA_SHADER_FRAGMENT)) {
> > +      interpolation = INTERP_QUALIFIER_SMOOTH;
> >     }
> 
> The GLES spec explicitly says that in the absence of an interp
> qualifier
> smooth is used, but I can't find the same statement in the desktop
> GLSL
> spec. Should we make this ES specific?

I couldn't find it in the spec either thats why I didn't send this out
last year when I wrote it. However the OpenGL wiki says thats what it
is by default, and thats what our implementation does after validation

I'll write a piglit test to see what AMD and Nvidia do on the desktop
just to be sure.

Thanks for taking a look.

> 
> Iago
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list