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

Olivier Galibert galibert at pobox.com
Sun Jun 24 02:18:18 PDT 2012


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;
             break;
             /* In most cases, there is nothing special about these
              * inputs, so adopt a convention to use the generic


More information about the mesa-dev mailing list