When this GL call is a no-op, it should be a little faster in the errors path only.
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> --- src/mesa/main/points.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c index 30bd7b8952..095e2a3d70 100644 --- a/src/mesa/main/points.c +++ b/src/mesa/main/points.c @@ -40,12 +40,17 @@ * \param size point diameter in pixels * \sa glPointSize(). */ -static void -point_size(struct gl_context *ctx, GLfloat size) +static ALWAYS_INLINE void +point_size(struct gl_context *ctx, GLfloat size, bool no_error) { if (ctx->Point.Size == size) return; + if (!no_error && size <= 0.0F) { + _mesa_error(ctx, GL_INVALID_VALUE, "glPointSize"); + return; + } + FLUSH_VERTICES(ctx, _NEW_POINT); ctx->Point.Size = size; @@ -58,7 +63,7 @@ void GLAPIENTRY _mesa_PointSize_no_error(GLfloat size) { GET_CURRENT_CONTEXT(ctx); - point_size(ctx, size); + point_size(ctx, size, true); } @@ -66,13 +71,7 @@ void GLAPIENTRY _mesa_PointSize( GLfloat size ) { GET_CURRENT_CONTEXT(ctx); - - if (size <= 0.0F) { - _mesa_error( ctx, GL_INVALID_VALUE, "glPointSize" ); - return; - } - - point_size(ctx, size); + point_size(ctx, size, false); } -- 2.13.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev