On Mon, Sep 19, 2011 at 08:08:18AM -0600, Brian Paul wrote: > On 09/19/2011 01:03 AM, Yuanhan Liu wrote: > >Trigger GL_INVALID_ENUM error if the face paramter is not a valid value. > > > >Trigger GL_INVALID_VALUE error if the GL_SHININESS value is out side > >[0,128]. > > > >Signed-off-by: Yuanhan Liu<yuanhan....@linux.intel.com> > >--- > > src/mesa/vbo/vbo_attrib_tmp.h | 10 +++++++++- > > 1 files changed, 9 insertions(+), 1 deletions(-) > > > >diff --git a/src/mesa/vbo/vbo_attrib_tmp.h b/src/mesa/vbo/vbo_attrib_tmp.h > >index 65717eb..c79bfc2 100644 > >--- a/src/mesa/vbo/vbo_attrib_tmp.h > >+++ b/src/mesa/vbo/vbo_attrib_tmp.h > >@@ -795,6 +795,11 @@ TAG(VertexAttrib4fvNV)(GLuint index, const GLfloat * v) > > > > #define MAT( ATTR, N, face, params ) \ > > do { \ > >+ if (face != GL_FRONT&& face != GL_BACK&& \ > >+ face != GL_FRONT_AND_BACK) { \ > >+ _mesa_error(ctx, GL_INVALID_ENUM, "Invalid value for parameter > >face"); \ > >+ break; \ > >+ } \ > > if (face != GL_BACK) \ > > MAT_ATTR( ATTR, N, params ); /* front */ \ > > if (face != GL_FRONT) \ > >@@ -823,7 +828,10 @@ TAG(Materialfv)(GLenum face, GLenum pname, > > MAT(VBO_ATTRIB_MAT_FRONT_SPECULAR, 4, face, params); > > break; > > case GL_SHININESS: > >- MAT(VBO_ATTRIB_MAT_FRONT_SHININESS, 1, face, params); > >+ if (*params< 0 || *params> 128) > >+ _mesa_error(ctx, GL_INVALID_VALUE, "GL_SHININESS value out side > >[0,128]"); > >+ else > >+ MAT(VBO_ATTRIB_MAT_FRONT_SHININESS, 1, face, params); > > break; > > case GL_COLOR_INDEXES: > > MAT(VBO_ATTRIB_MAT_FRONT_INDEXES, 3, face, params); > > This isn't quite right. The GL_NV_max_light_exponent raises the > 128.0 limit so we should be testing against ctx->Const.MaxShininess.
Thanks for the info. I just grab the value from the man page. Will resend a update patch soon. Thanks, Yuanhan Liu _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev