Commit 58a02196 authored by Marek Olšák's avatar Marek Olšák

mesa: don't flag _NEW_LINE for st/mesa

Reviewed-by: default avatarNicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Brian Paul's avatarBrian Paul <brianp@vmware.com>
Reviewed-by: Timothy Arceri's avatarTimothy Arceri <tarceri@itsqueeze.com>
parent bc871a1b
......@@ -448,7 +448,8 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Line.SmoothFlag == state)
return;
FLUSH_VERTICES(ctx, _NEW_LINE);
FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE);
ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
ctx->Line.SmoothFlag = state;
break;
case GL_LINE_STIPPLE:
......@@ -456,7 +457,8 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
goto invalid_enum_error;
if (ctx->Line.StippleFlag == state)
return;
FLUSH_VERTICES(ctx, _NEW_LINE);
FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE);
ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
ctx->Line.StippleFlag = state;
break;
case GL_INDEX_LOGIC_OP:
......
......@@ -72,7 +72,8 @@ _mesa_LineWidth( GLfloat width )
return;
}
FLUSH_VERTICES(ctx, _NEW_LINE);
FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE);
ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
ctx->Line.Width = width;
if (ctx->Driver.LineWidth)
......@@ -106,7 +107,8 @@ _mesa_LineStipple( GLint factor, GLushort pattern )
ctx->Line.StipplePattern == pattern)
return;
FLUSH_VERTICES(ctx, _NEW_LINE);
FLUSH_VERTICES(ctx, ctx->DriverFlags.NewLineState ? 0 : _NEW_LINE);
ctx->NewDriverState |= ctx->DriverFlags.NewLineState;
ctx->Line.StippleFactor = factor;
ctx->Line.StipplePattern = pattern;
......
......@@ -4520,6 +4520,9 @@ struct gl_driver_flags
/** gl_context::Transform::DepthClamp */
uint64_t NewDepthClamp;
/** gl_context::Line */
uint64_t NewLineState;
/** gl_context::Polygon */
uint64_t NewPolygonState;
......
......@@ -211,7 +211,6 @@ st_invalidate_state(struct gl_context * ctx)
}
if (new_state & (_NEW_LIGHT |
_NEW_LINE |
_NEW_POINT))
st->dirty |= ST_NEW_RASTERIZER;
......@@ -523,6 +522,7 @@ static void st_init_driver_flags(struct st_context *st)
f->NewClipPlane = ST_NEW_CLIP_STATE;
f->NewClipPlaneEnable = ST_NEW_RASTERIZER;
f->NewDepthClamp = ST_NEW_RASTERIZER;
f->NewLineState = ST_NEW_RASTERIZER;
f->NewPolygonState = ST_NEW_RASTERIZER;
f->NewViewport = ST_NEW_VIEWPORT;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment