add callbacks for stipple
authorKeith Whitwell <keith@tungstengraphics.com>
Sun, 27 Feb 2000 20:38:15 +0000 (20:38 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Sun, 27 Feb 2000 20:38:15 +0000 (20:38 +0000)
src/mesa/main/attrib.c
src/mesa/main/dd.h
src/mesa/main/lines.c
src/mesa/main/polygon.c

index 57489b59f2341ff029d845a197bb1cda728f4784..35af04d5f3b9b186bbf92a45f3f54577ab7fe33a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: attrib.c,v 1.16 2000/02/25 03:55:39 keithw Exp $ */
+/* $Id: attrib.c,v 1.17 2000/02/27 20:38:15 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -104,7 +104,7 @@ _mesa_PushAttrib(GLbitfield mask)
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glPushAttrib");
 
    if (MESA_VERBOSE&VERBOSE_API)
-      fprintf(stderr, "glPushAttrib %x\n", mask);
+      fprintf(stderr, "glPushAttrib %x\n", (int)mask);
 
    if (ctx->AttribStackDepth>=MAX_ATTRIB_STACK_DEPTH) {
       gl_error( ctx, GL_STACK_OVERFLOW, "glPushAttrib" );
@@ -675,6 +675,8 @@ _mesa_PopAttrib(void)
             break;
         case GL_POLYGON_STIPPLE_BIT:
            MEMCPY( ctx->PolygonStipple, attr->data, 32*sizeof(GLuint) );
+           if (ctx->Driver.PolygonStipple) 
+              ctx->Driver.PolygonStipple( ctx, attr->data );
            break;
          case GL_SCISSOR_BIT:
             MEMCPY( &ctx->Scissor, attr->data,
index 423cdffc19e2e09b8ca6894e033af2d8c1476bcf..5459787feada4131724f47b02cc22630efea90d2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: dd.h,v 1.11 2000/02/25 03:55:39 keithw Exp $ */
+/* $Id: dd.h,v 1.12 2000/02/27 20:38:15 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -705,8 +705,10 @@ struct dd_function_table {
    void (*Lightfv)(GLcontext *ctx, GLenum light,
                   GLenum pname, const GLfloat *params, GLint nparams );
    void (*LightModelfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
+   void (*LineStipple)(GLcontext *ctx, GLint factor, GLushort pattern );
    void (*LogicOpcode)(GLcontext *ctx, GLenum opcode);
    void (*PolygonMode)(GLcontext *ctx, GLenum face, GLenum mode);
+   void (*PolygonStipple)(GLcontext *ctx, const GLubyte *mask );
    void (*Scissor)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
    void (*ShadeModel)(GLcontext *ctx, GLenum mode);
    void (*ClearStencil)(GLcontext *ctx, GLint s);
index 52e9dca7d6634f8e9fa0fbd30121b70c4cb6e8cc..5d33946ce3fdd12781c2f58f189c9b7bf7068161 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: lines.c,v 1.7 2000/02/25 03:55:40 keithw Exp $ */
+/* $Id: lines.c,v 1.8 2000/02/27 20:38:15 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -71,6 +71,9 @@ _mesa_LineStipple( GLint factor, GLushort pattern )
    ctx->Line.StippleFactor = CLAMP( factor, 1, 256 );
    ctx->Line.StipplePattern = pattern;
    ctx->NewState |= NEW_RASTER_OPS;
+
+   if (ctx->Driver.LineStipple)
+      ctx->Driver.LineStipple( ctx, factor, pattern );
 }
 
 
index f93ab1956656f9252d6911a4a2998068584f115b..94a747c402dfb3fa2839306f4d3b54f5efd23839 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: polygon.c,v 1.7 1999/11/11 01:22:27 brianp Exp $ */
+/* $Id: polygon.c,v 1.8 2000/02/27 20:38:15 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -150,6 +150,9 @@ _mesa_PolygonStipple( const GLubyte *mask )
    if (ctx->Polygon.StippleFlag) {
       ctx->NewState |= NEW_RASTER_OPS;
    }
+   
+   if (ctx->Driver.PolygonStipple)
+      ctx->Driver.PolygonStipple( ctx, mask );
 }