[Mesa-dev] [PATCH] st_program.c: gl_ClipDistance must be interpolated in 3d space.

Paul Berry stereotype441 at gmail.com
Mon Jul 2 10:08:55 PDT 2012


On 2 July 2012 08:04, Vadim Girlin <vadimgirlin at gmail.com> wrote:

> On Sun, 2012-06-24 at 11:18 +0200, Olivier Galibert wrote:
> > That old bug was hidden but the clipper always interpolating in 3d
> > space no matter what it should have been doing.  Now that the
> > interpolation has been fixed, the bug shows up.
> >
> > Fixes bugzilla 51364.
> >
> > Signed-off-by: Olivier Galibert <galibert at pobox.com>
> >
> > diff --git a/src/mesa/state_tracker/st_program.c
> b/src/mesa/state_tracker/st_program.c
> > index e6664fb..9f98298 100644
> > --- a/src/mesa/state_tracker/st_program.c
> > +++ b/src/mesa/state_tracker/st_program.c
> > @@ -569,12 +569,12 @@ st_translate_fragment_program(struct st_context
> *st,
> >           case FRAG_ATTRIB_CLIP_DIST0:
> >              input_semantic_name[slot] = TGSI_SEMANTIC_CLIPDIST;
> >              input_semantic_index[slot] = 0;
> > -            interpMode[slot] = TGSI_INTERPOLATE_LINEAR;
> > +            interpMode[slot] = TGSI_INTERPOLATE_PERSPECTIVE;
> >              break;
> >           case FRAG_ATTRIB_CLIP_DIST1:
> >              input_semantic_name[slot] = TGSI_SEMANTIC_CLIPDIST;
> >              input_semantic_index[slot] = 1;
> > -            interpMode[slot] = TGSI_INTERPOLATE_LINEAR;
> > +            interpMode[slot] = TGSI_INTERPOLATE_PERSPECTIVE;
>
> At first glance this change doesn't seem correct, GLSL 1.30 spec says
> that clip distances are interpolated linearly. Am I missing something?
>

I think when the spec says "The clip distances will be linearly
interpolated across the primitive...", they mean "linear in 3D space".
Interpolating clip distances in screen space would produce really bad
artifacts, IMHO.


>
> Vadim
>
> >              break;
> >              /* In most cases, there is nothing special about these
> >               * inputs, so adopt a convention to use the generic
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120702/104d4b54/attachment.html>


More information about the mesa-dev mailing list