From: Dave Airlie <airl...@redhat.com> With the recent changes to interpolation stuff, we can now get the value direct from the program instead of just being fail.
fixes some of the glsl-1.30 interpolation tests with softpipe Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/mesa/state_tracker/st_program.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index c419c40..023879d 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -416,6 +416,19 @@ st_get_vp_variant(struct st_context *st, return vpv; } +static int st_translate_interp(enum glsl_interp_qualifier glsl_qual) +{ + switch (glsl_qual) { + case INTERP_QUALIFIER_NONE: + case INTERP_QUALIFIER_SMOOTH: + return TGSI_INTERPOLATE_PERSPECTIVE; + case INTERP_QUALIFIER_FLAT: + return TGSI_INTERPOLATE_CONSTANT; + case INTERP_QUALIFIER_NOPERSPECTIVE: + return TGSI_INTERPOLATE_LINEAR; + } + assert(0); +} /** * Translate a Mesa fragment shader into a TGSI shader using extra info in @@ -558,7 +571,7 @@ st_translate_fragment_program(struct st_context *st, if (attr == FRAG_ATTRIB_PNTC) interpMode[slot] = TGSI_INTERPOLATE_LINEAR; else - interpMode[slot] = TGSI_INTERPOLATE_PERSPECTIVE; + interpMode[slot] = st_translate_interp(stfp->Base.InterpQualifier[attr]); break; } } -- 1.7.6.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev