Reviewed-by: Marek Olšák <mar...@gmail.com> You can also use the COPY_4V macro like _mesa_GetVertexAttribfvARB does if you want.
Marek On Thu, Nov 8, 2012 at 5:59 AM, Kenneth Graunke <kenn...@whitecape.org> wrote: > Since cf438f5375e242, we store actual integers for the attribute data. > We just need to reinterpret the GLfloat array as a GLint/GLuint array > so we can read the proper data. > > Fixes oglconform's glsl-vertex-attrib/basic.VertexAttribI[1234][u]i > subtests (after fixing an unrelated bug in those test cases). > > NOTE: This is a candidate for the stable branches. > > Cc: Marek Olšák <mar...@gmail.com> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/main/varray.c | 22 ++++++++++------------ > 1 file changed, 10 insertions(+), 12 deletions(-) > > diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c > index 522f5a7..505bee8 100644 > --- a/src/mesa/main/varray.c > +++ b/src/mesa/main/varray.c > @@ -701,14 +701,13 @@ _mesa_GetVertexAttribIiv(GLuint index, GLenum pname, > GLint *params) > ASSERT_OUTSIDE_BEGIN_END(ctx); > > if (pname == GL_CURRENT_VERTEX_ATTRIB_ARB) { > - const GLfloat *v = > + const GLint *v = (const GLint *) > get_current_attrib(ctx, index, "glGetVertexAttribIiv"); > if (v != NULL) { > - /* XXX we don't have true integer-valued vertex attribs yet */ > - params[0] = (GLint) v[0]; > - params[1] = (GLint) v[1]; > - params[2] = (GLint) v[2]; > - params[3] = (GLint) v[3]; > + params[0] = v[0]; > + params[1] = v[1]; > + params[2] = v[2]; > + params[3] = v[3]; > } > } > else { > @@ -726,14 +725,13 @@ _mesa_GetVertexAttribIuiv(GLuint index, GLenum pname, > GLuint *params) > ASSERT_OUTSIDE_BEGIN_END(ctx); > > if (pname == GL_CURRENT_VERTEX_ATTRIB_ARB) { > - const GLfloat *v = > + const GLuint *v = (const GLuint *) > get_current_attrib(ctx, index, "glGetVertexAttribIuiv"); > if (v != NULL) { > - /* XXX we don't have true integer-valued vertex attribs yet */ > - params[0] = (GLuint) v[0]; > - params[1] = (GLuint) v[1]; > - params[2] = (GLuint) v[2]; > - params[3] = (GLuint) v[3]; > + params[0] = v[0]; > + params[1] = v[1]; > + params[2] = v[2]; > + params[3] = v[3]; > } > } > else { > -- > 1.8.0 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev