mesa: add line_width() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset
2017-07-20 10:22:24 +02:00
parent f45efb8129
commit 7327cb0602
+16 -9
View File
@@ -37,19 +37,14 @@
*
* \sa glLineWidth().
*/
void GLAPIENTRY
_mesa_LineWidth( GLfloat width )
static ALWAYS_INLINE void
line_width(struct gl_context *ctx, GLfloat width, bool no_error)
{
GET_CURRENT_CONTEXT(ctx);
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glLineWidth %f\n", width);
/* If width is unchanged, there can't be an error */
if (ctx->Line.Width == width)
return;
if (width <= 0.0F) {
if (!no_error && width <= 0.0F) {
_mesa_error( ctx, GL_INVALID_VALUE, "glLineWidth" );
return;
}
@@ -64,7 +59,7 @@ _mesa_LineWidth( GLfloat width )
* *NOT* removed in a later spec. Therefore, we only disallow this in a
* forward compatible context.
*/
if (ctx->API == API_OPENGL_CORE
if (!no_error && ctx->API == API_OPENGL_CORE
&& ((ctx->Const.ContextFlags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)
!= 0)
&& width > 1.0F) {
@@ -81,6 +76,18 @@ _mesa_LineWidth( GLfloat width )
}
void GLAPIENTRY
_mesa_LineWidth(GLfloat width)
{
GET_CURRENT_CONTEXT(ctx);
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glLineWidth %f\n", width);
line_width(ctx, width, false);
}
/**
* Set the line stipple pattern.
*