changed gl_frame_buffer Xmax and Ymax to be exclusive boundary values
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 8 Sep 2000 21:28:04 +0000 (21:28 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 8 Sep 2000 21:28:04 +0000 (21:28 +0000)
src/mesa/main/accum.c
src/mesa/main/buffers.c
src/mesa/main/context.c
src/mesa/main/depth.c
src/mesa/main/drawpix.c
src/mesa/main/state.c
src/mesa/main/stencil.c

index 7b2f1ca57eedf922f5b9f28f7e8a1db7d30f0072..35394181502abb6f899697821b05d8e736a1c092 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: accum.c,v 1.24 2000/09/07 15:45:26 brianp Exp $ */
+/* $Id: accum.c,v 1.25 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
+ * Version:  3.5
  * 
  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
  * 
@@ -467,8 +467,8 @@ _mesa_clear_accum_buffer( GLcontext *ctx )
         b = (GLaccum) (ctx->Accum.ClearColor[2] * acc_scale);
         a = (GLaccum) (ctx->Accum.ClearColor[3] * acc_scale);
          /* size of region to clear */
-         width = 4 * (ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1);
-         height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
+         width = 4 * (ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin);
+         height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
          /* ptr to first element to clear */
          row = ctx->DrawBuffer->Accum
                + 4 * (ctx->DrawBuffer->Ymin * ctx->DrawBuffer->Width
index dd87009031febb29fae29f0f0a36877e64b5cce8..c53dd1370498e18ebec78c2f39a5ee471e4e81f1 100644 (file)
@@ -1,7 +1,8 @@
+/* $Id: buffers.c,v 1.11 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
+ * Version:  3.5
  * 
  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
  * 
@@ -90,8 +91,8 @@ clear_color_buffer_with_masking( GLcontext *ctx )
 {
    const GLint x = ctx->DrawBuffer->Xmin;
    const GLint y = ctx->DrawBuffer->Ymin;
-   const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
-   const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1;
+   const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
+   const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin;
 
    if (ctx->Visual->RGBAflag) {
       /* RGBA mode */
@@ -140,8 +141,8 @@ clear_color_buffer(GLcontext *ctx)
 {
    const GLint x = ctx->DrawBuffer->Xmin;
    const GLint y = ctx->DrawBuffer->Ymin;
-   const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
-   const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1;
+   const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
+   const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin;
    const GLuint colorMask = *((GLuint *) &ctx->Color.ColorMask);
 
    if (ctx->Visual->RGBAflag) {
@@ -255,8 +256,8 @@ _mesa_Clear( GLbitfield mask )
    if (ctx->RenderMode==GL_RENDER) {
       const GLint x = ctx->DrawBuffer->Xmin;
       const GLint y = ctx->DrawBuffer->Ymin;
-      const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
-      const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1;
+      const GLint height = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
+      const GLint width  = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin;
       GLbitfield ddMask;
       GLbitfield newMask;
 
index 5fbe5d0838a9022162d1616e308cf5e7bae3691f..5ea29d924dc9473b7f18fb94dbf181278e9d304f 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: context.c,v 1.83 2000/09/07 15:45:27 brianp Exp $ */
+/* $Id: context.c,v 1.84 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -2050,3 +2050,20 @@ _mesa_Flush( void )
       (*ctx->Driver.Flush)( ctx );
    }
 }
+
+
+
+const char *_mesa_prim_name[GL_POLYGON+2] = {
+   "GL_POINTS",
+   "GL_LINES",
+   "GL_LINE_LOOP",
+   "GL_LINE_STRIP",
+   "GL_TRIANGLES",
+   "GL_TRIANGLE_STRIP",
+   "GL_TRIANGLE_FAN",
+   "GL_QUADS",
+   "GL_QUAD_STRIP",
+   "GL_POLYGON",
+   "culled primitive"
+};
+
index 8a09206a6a9d4b2fea34a6775ac136fce8d89ab6..fc37c29c1c3341dd2877ee01790b244ce3201821 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: depth.c,v 1.17 2000/04/11 20:42:22 brianp Exp $ */
+/* $Id: depth.c,v 1.18 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -1629,7 +1629,7 @@ _mesa_clear_depth_buffer( GLcontext *ctx )
       /* only clear scissor region */
       if (ctx->Visual->DepthBits <= 16) {
          const GLushort clearValue = (GLushort) (ctx->Depth.Clear * ctx->Visual->DepthMax);
-         const GLint rows = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
+         const GLint rows = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
          const GLint width = ctx->DrawBuffer->Width;
          GLushort *dRow = (GLushort *) ctx->DrawBuffer->DepthBuffer
             + ctx->DrawBuffer->Ymin * width + ctx->DrawBuffer->Xmin;
@@ -1643,7 +1643,7 @@ _mesa_clear_depth_buffer( GLcontext *ctx )
       }
       else {
          const GLuint clearValue = (GLuint) (ctx->Depth.Clear * ctx->Visual->DepthMax);
-         const GLint rows = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin + 1;
+         const GLint rows = ctx->DrawBuffer->Ymax - ctx->DrawBuffer->Ymin;
          const GLint width = ctx->DrawBuffer->Width;
          GLuint *dRow = (GLuint *) ctx->DrawBuffer->DepthBuffer
             + ctx->DrawBuffer->Ymin * width + ctx->DrawBuffer->Xmin;
index 237e7021513250bc008772c4633dd88714fab907..7cf7b0030f6709d30f81765ac768b65d391c209a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drawpix.c,v 1.32 2000/09/06 17:44:52 brianp Exp $ */
+/* $Id: drawpix.c,v 1.33 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -72,7 +72,7 @@ _mesa_clip_pixelrect(const GLcontext *ctx,
    }
    /* right clipping */
    if (*destX + *width > buffer->Xmax)
-      *width -= (*destX + *width - buffer->Xmax - 1);
+      *width -= (*destX + *width - buffer->Xmax);
 
    if (*width <= 0)
       return GL_FALSE;
@@ -85,7 +85,7 @@ _mesa_clip_pixelrect(const GLcontext *ctx,
    }
    /* top clipping */
    if (*destY + *height > buffer->Ymax)
-      *height -= (*destY + *height - buffer->Ymax - 1);
+      *height -= (*destY + *height - buffer->Ymax);
 
    if (*height <= 0)
       return GL_TRUE;
@@ -161,7 +161,7 @@ fast_draw_pixels(GLcontext *ctx, GLint x, GLint y,
             destX = ctx->DrawBuffer->Xmin;
          }
          if (destX + drawWidth > ctx->DrawBuffer->Xmax)
-            drawWidth -= (destX + drawWidth - ctx->DrawBuffer->Xmax - 1);
+            drawWidth -= (destX + drawWidth - ctx->DrawBuffer->Xmax);
          if (drawWidth <= 0)
             return GL_TRUE;
 
@@ -172,7 +172,7 @@ fast_draw_pixels(GLcontext *ctx, GLint x, GLint y,
             destY = ctx->DrawBuffer->Ymin;
          }
          if (destY + drawHeight > ctx->DrawBuffer->Ymax)
-            drawHeight -= (destY + drawHeight - ctx->DrawBuffer->Ymax - 1);
+            drawHeight -= (destY + drawHeight - ctx->DrawBuffer->Ymax);
          if (drawHeight <= 0)
             return GL_TRUE;
       }
@@ -185,15 +185,15 @@ fast_draw_pixels(GLcontext *ctx, GLint x, GLint y,
             destX = ctx->DrawBuffer->Xmin;
          }
          if (destX + drawWidth > ctx->DrawBuffer->Xmax)
-            drawWidth -= (destX + drawWidth - ctx->DrawBuffer->Xmax - 1);
+            drawWidth -= (destX + drawWidth - ctx->DrawBuffer->Xmax);
          if (drawWidth <= 0)
             return GL_TRUE;
 
          /* vertical clipping */
          if (destY > ctx->DrawBuffer->Ymax) {
-            skipRows   += (destY - ctx->DrawBuffer->Ymax - 1);
-            drawHeight -= (destY - ctx->DrawBuffer->Ymax - 1);
-            destY = ctx->DrawBuffer->Ymax + 1;
+            skipRows   += (destY - ctx->DrawBuffer->Ymax);
+            drawHeight -= (destY - ctx->DrawBuffer->Ymax);
+            destY = ctx->DrawBuffer->Ymax;
          }
          if (destY - drawHeight < ctx->DrawBuffer->Ymin)
             drawHeight -= (ctx->DrawBuffer->Ymin - (destY - drawHeight));
index 9a40102f5d44684715f52b958198eda0bc918900..e9f68398a497ddc2f2a9f5cc45dbb2ff53d2dec7 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: state.c,v 1.24 2000/09/07 15:45:27 brianp Exp $ */
+/* $Id: state.c,v 1.25 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -892,8 +892,8 @@ void gl_update_state( GLcontext *ctx )
         /* update scissor region */
         ctx->DrawBuffer->Xmin = 0;
         ctx->DrawBuffer->Ymin = 0;
-        ctx->DrawBuffer->Xmax = ctx->DrawBuffer->Width-1;
-        ctx->DrawBuffer->Ymax = ctx->DrawBuffer->Height-1;
+        ctx->DrawBuffer->Xmax = ctx->DrawBuffer->Width;
+        ctx->DrawBuffer->Ymax = ctx->DrawBuffer->Height;
         if (ctx->Scissor.Enabled) {
            if (ctx->Scissor.X > ctx->DrawBuffer->Xmin) {
               ctx->DrawBuffer->Xmin = ctx->Scissor.X;
@@ -901,11 +901,11 @@ void gl_update_state( GLcontext *ctx )
            if (ctx->Scissor.Y > ctx->DrawBuffer->Ymin) {
               ctx->DrawBuffer->Ymin = ctx->Scissor.Y;
            }
-           if (ctx->Scissor.X + ctx->Scissor.Width - 1 < ctx->DrawBuffer->Xmax) {
-              ctx->DrawBuffer->Xmax = ctx->Scissor.X + ctx->Scissor.Width - 1;
+           if (ctx->Scissor.X + ctx->Scissor.Width < ctx->DrawBuffer->Xmax) {
+              ctx->DrawBuffer->Xmax = ctx->Scissor.X + ctx->Scissor.Width;
            }
-           if (ctx->Scissor.Y + ctx->Scissor.Height - 1 < ctx->DrawBuffer->Ymax) {
-              ctx->DrawBuffer->Ymax = ctx->Scissor.Y + ctx->Scissor.Height - 1;
+           if (ctx->Scissor.Y + ctx->Scissor.Height < ctx->DrawBuffer->Ymax) {
+              ctx->DrawBuffer->Ymax = ctx->Scissor.Y + ctx->Scissor.Height;
            }
         }
       }
index c1d8bb29b3c20257e2680427f1a28874a7f8ca80..f9cd4909df6a553fbe48fd85ff29defd06e62ea9 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: stencil.c,v 1.17 2000/08/30 18:23:08 brianp Exp $ */
+/* $Id: stencil.c,v 1.18 2000/09/08 21:28:04 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
+ * Version:  3.5
  * 
  * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
  * 
@@ -1275,11 +1275,11 @@ clear_software_stencil_buffer( GLcontext *ctx )
 
    if (ctx->Scissor.Enabled) {
       /* clear scissor region only */
-      const GLint width = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1;
+      const GLint width = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin;
       if (ctx->Stencil.WriteMask != STENCIL_MAX) {
          /* must apply mask to the clear */
          GLint y;
-         for (y = ctx->DrawBuffer->Ymin; y <= ctx->DrawBuffer->Ymax; y++) {
+         for (y = ctx->DrawBuffer->Ymin; y < ctx->DrawBuffer->Ymax; y++) {
             const GLstencil mask = ctx->Stencil.WriteMask;
             const GLstencil invMask = ~mask;
             const GLstencil clearVal = (ctx->Stencil.Clear & mask);
@@ -1293,7 +1293,7 @@ clear_software_stencil_buffer( GLcontext *ctx )
       else {
          /* no masking */
          GLint y;
-         for (y = ctx->DrawBuffer->Ymin; y <= ctx->DrawBuffer->Ymax; y++) {
+         for (y = ctx->DrawBuffer->Ymin; y < ctx->DrawBuffer->Ymax; y++) {
             GLstencil *stencil = STENCIL_ADDRESS( ctx->DrawBuffer->Xmin, y );
 #if STENCIL_BITS==8
             MEMSET( stencil, ctx->Stencil.Clear, width * sizeof(GLstencil) );
@@ -1356,11 +1356,11 @@ clear_hardware_stencil_buffer( GLcontext *ctx )
    if (ctx->Scissor.Enabled) {
       /* clear scissor region only */
       const GLint x = ctx->DrawBuffer->Xmin;
-      const GLint width = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin + 1;
+      const GLint width = ctx->DrawBuffer->Xmax - ctx->DrawBuffer->Xmin;
       if (ctx->Stencil.WriteMask != STENCIL_MAX) {
          /* must apply mask to the clear */
          GLint y;
-         for (y = ctx->DrawBuffer->Ymin; y <= ctx->DrawBuffer->Ymax; y++) {
+         for (y = ctx->DrawBuffer->Ymin; y < ctx->DrawBuffer->Ymax; y++) {
             const GLstencil mask = ctx->Stencil.WriteMask;
             const GLstencil invMask = ~mask;
             const GLstencil clearVal = (ctx->Stencil.Clear & mask);
@@ -1380,7 +1380,7 @@ clear_hardware_stencil_buffer( GLcontext *ctx )
          for (i = 0; i < width; i++) {
             stencil[i] = ctx->Stencil.Clear;
          }
-         for (y = ctx->DrawBuffer->Ymin; y <= ctx->DrawBuffer->Ymax; y++) {
+         for (y = ctx->DrawBuffer->Ymin; y < ctx->DrawBuffer->Ymax; y++) {
             (*ctx->Driver.WriteStencilSpan)(ctx, x, y, width, stencil, NULL);
          }
       }