diff options
author | Samuel Pitoiset <[email protected]> | 2017-07-31 14:07:07 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2017-07-31 19:08:44 +0200 |
commit | 56bea2a26681967c415a8643bfc87a283a437f03 (patch) | |
tree | bb764ad9f4801c763dfb80f1c201242f26ace753 /src/mesa/main | |
parent | c6ba70297992aaee4fa31ad3b1c4c0b6a1305177 (diff) |
mesa: only check errors when the state change in glPointSize()
When this GL call is a no-op, it should be a little faster in
the errors path only.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/points.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c index 30bd7b89522..095e2a3d707 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); } |