Do pop for GL_VIEWPORT_BIT via. the api
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 16 Sep 1999 11:54:56 +0000 (11:54 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 16 Sep 1999 11:54:56 +0000 (11:54 +0000)
src/mesa/main/attrib.c

index 78f4d05b2c944f95f9436003c1379b4be403439c..527cd2d8bb7fe66f1c3e9a3f224eb22951935b9c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: attrib.c,v 1.1 1999/08/19 00:55:41 jtg Exp $ */
+/* $Id: attrib.c,v 1.2 1999/09/16 11:54:56 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -700,6 +700,10 @@ void gl_PopAttrib( GLcontext* ctx )
                (*ctx->Driver.ClearStencil)( ctx, ctx->Stencil.Clear );
             if (ctx->Driver.Enable)
                (*ctx->Driver.Enable)( ctx, GL_STENCIL_TEST, ctx->Stencil.Enabled );
+/*         ctx->TriangleCaps &= ~DD_STENCIL; */
+/*         if (ctx->Stencil.Enabled) */
+/*            ctx->TriangleCaps |= DD_STENCIL; */
+
             break;
          case GL_TRANSFORM_BIT:
             MEMCPY( &ctx->Transform, attr->data,
@@ -738,18 +742,15 @@ void gl_PopAttrib( GLcontext* ctx )
                }
             }
             break;
-         case GL_VIEWPORT_BIT:
-            MEMCPY( &ctx->Viewport, attr->data,
-                   sizeof(struct gl_viewport_attrib) );
-            if (ctx->Driver.Viewport) {
-               (*ctx->Driver.Viewport)( ctx, ctx->Viewport.X, ctx->Viewport.Y,
-                                  ctx->Viewport.Width, ctx->Viewport.Height );
-            }
-            if (ctx->Driver.DepthRange) {
-               (*ctx->Driver.DepthRange)( ctx, ctx->Viewport.Near,
-                                          ctx->Viewport.Far );
-            }
-            break;
+         case GL_VIEWPORT_BIT: 
+        {
+           struct gl_viewport_attrib *v = 
+              (struct gl_viewport_attrib *)attr->data;
+           
+           gl_Viewport( ctx, v->X, v->Y, v->Width, v->Height );
+           gl_DepthRange( ctx, v->Near, v->Far );
+           break;
+        }
          default:
             gl_problem( ctx, "Bad attrib flag in PopAttrib");
             break;