[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