[Mesa-dev] [PATCH] st_program.c: gl_ClipDistance must be interpolated in 3d space.
Vadim Girlin
vadimgirlin at gmail.com
Mon Jul 2 08:04:49 PDT 2012
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?
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
More information about the mesa-dev
mailing list