From: Dave Airlie <airl...@redhat.com> the meta mipmap generator on rv100 is passing a s,t,r coordinate, but r100 is ancient so has no r handling in hw, so we have to pass a s,t,q with q set to 1.
/me dares someone to review this :) Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/mesa/tnl/t_vertex_generic.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/src/mesa/tnl/t_vertex_generic.c b/src/mesa/tnl/t_vertex_generic.c index 7b7f511..7150874 100644 --- a/src/mesa/tnl/t_vertex_generic.c +++ b/src/mesa/tnl/t_vertex_generic.c @@ -207,6 +207,18 @@ static inline void insert_3f_xyw_4( const struct tnl_clipspace_attr *a, GLubyte out[2] = in[3]; } +/* R100 has no R coordinate, but meta mipmap generate causes it to see one, + so just pack s and t and set q to 1 */ +static inline void insert_3f_xyw_3( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in ) +{ + GLfloat *out = (GLfloat *)(v); + (void) a; + DEBUG_INSERT; + out[0] = in[0]; + out[1] = in[1]; + out[2] = 1; +} + static inline void insert_3f_xyw_err( const struct tnl_clipspace_attr *a, GLubyte *v, const GLfloat *in ) { (void) a; (void) v; (void) in; @@ -801,7 +813,7 @@ const struct tnl_format_info _tnl_format_info[EMIT_MAX] = { "3f_xyw", extract_3f_xyw, - { insert_3f_xyw_err, insert_3f_xyw_err, insert_3f_xyw_err, + { insert_3f_xyw_err, insert_3f_xyw_err, insert_3f_xyw_3, insert_3f_xyw_4 }, 3 * sizeof(GLfloat) }, -- 1.7.6.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev