For the i915 driver, make it a local macro.
v2: use conditional operator instead of bit shifting
Reviewed-by: Eric Anholt <eric@anholt.net>
+#define DD_LINE_STIPPLE (1 << 7)
#define ANY_FALLBACK_FLAGS (DD_LINE_STIPPLE | DD_TRI_STIPPLE | DD_POINT_ATTEN)
#define ANY_RASTER_FLAGS (DD_TRI_LIGHT_TWOSIDE | DD_TRI_OFFSET | DD_TRI_UNFILLED)
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
struct intel_context *intel = intel_context(ctx);
- GLuint flags = ctx->_TriangleCaps;
+ GLuint flags = ctx->_TriangleCaps |
+ (ctx->Line.StippleFlag ? DD_LINE_STIPPLE : 0);
const struct gl_fragment_program *fprog = ctx->FragmentProgram._Current;
bool have_wpos = (fprog && (fprog->Base.InputsRead & VARYING_BIT_POS));
GLuint index = 0;
_mesa_print_tri_caps( const char *name, GLuint flags )
{
_mesa_debug(NULL,
- "%s: (0x%x) %s%s%s%s%s%s%s%s\n",
+ "%s: (0x%x) %s%s%s%s%s%s%s\n",
name,
flags,
(flags & DD_TRI_LIGHT_TWOSIDE) ? "tri-light-twoside, " : "",
(flags & DD_TRI_STIPPLE) ? "tri-stipple, " : "",
(flags & DD_TRI_OFFSET) ? "tri-offset, " : "",
(flags & DD_TRI_SMOOTH) ? "tri-smooth, " : "",
- (flags & DD_LINE_STIPPLE) ? "line-stipple, " : "",
(flags & DD_POINT_SMOOTH) ? "point-smooth, " : "",
(flags & DD_POINT_ATTEN) ? "point-atten, " : ""
);
return;
FLUSH_VERTICES(ctx, _NEW_LINE);
ctx->Line.StippleFlag = state;
- ctx->_TriangleCaps ^= DD_LINE_STIPPLE;
break;
case GL_INDEX_LOGIC_OP:
if (ctx->API != API_OPENGL_COMPAT)
#define DD_TRI_SMOOTH (1 << 3)
#define DD_TRI_STIPPLE (1 << 4)
#define DD_TRI_OFFSET (1 << 5)
-#define DD_LINE_STIPPLE (1 << 7)
#define DD_POINT_SMOOTH (1 << 8)
#define DD_POINT_ATTEN (1 << 9)
/*@}*/
ctx->_TriangleCaps |= DD_POINT_ATTEN;
}
- /*
- * Lines
- */
- if (1/*new_state & _NEW_LINE*/) {
- if (ctx->Line.StippleFlag)
- ctx->_TriangleCaps |= DD_LINE_STIPPLE;
- }
-
/*
* Polygons
*/