replace _mesa_ prefix with _swrast_, remove s_histogram.[ch]
[mesa.git] / src / mesa / swrast / s_accum.c
index be5c4b4a130bc836cca30c9f2694e4cddde9722f..0dfe93bb6bd2ad40e89a1a37de9eefb8ac3517d8 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: s_accum.c,v 1.16 2002/03/19 16:47:05 brianp Exp $ */
+/* $Id: s_accum.c,v 1.22 2003/03/25 02:23:44 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -28,8 +28,7 @@
 #include "glheader.h"
 #include "context.h"
 #include "macros.h"
-#include "mmath.h"
-#include "mem.h"
+#include "imports.h"
 
 #include "s_accum.h"
 #include "s_alphabuf.h"
  */
 
 
-#if CHAN_BITS == 8
+#if CHAN_BITS == 8 && ACCUM_BITS < 32
 #define USE_OPTIMIZED_ACCUM   /* enable the optimization */
 #endif
 
 
 void
-_mesa_alloc_accum_buffer( GLframebuffer *buffer )
+_swrast_alloc_accum_buffer( GLframebuffer *buffer )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLint n;
@@ -131,7 +130,7 @@ static void rescale_accum( GLcontext *ctx )
  * Clear the accumulation Buffer.
  */
 void
-_mesa_clear_accum_buffer( GLcontext *ctx )
+_swarst_clear_accum_buffer( GLcontext *ctx )
 {
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
    GLuint buffersize;
@@ -195,7 +194,8 @@ _mesa_clear_accum_buffer( GLcontext *ctx )
             ctx->Accum.ClearColor[2]==0.0 &&
             ctx->Accum.ClearColor[3]==0.0) {
            /* Black */
-           BZERO( ctx->DrawBuffer->Accum, buffersize * 4 * sizeof(GLaccum) );
+           _mesa_bzero( ctx->DrawBuffer->Accum,
+                         buffersize * 4 * sizeof(GLaccum) );
         }
         else {
            /* Not black */
@@ -306,8 +306,7 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
          if (value == 0.0F)
             return;
 
-         (*swrast->Driver.SetReadBuffer)( ctx, ctx->ReadBuffer,
-                                         ctx->Pixel.DriverReadBuffer );
+         _swrast_use_read_buffer(ctx);
 
          /* May have to leave optimized accum buffer mode */
          if (swrast->_IntegerAccumScaler == 0.0 && value > 0.0 && value <= 1.0)
@@ -326,7 +325,7 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
             for (j = 0; j < height; j++) {
 
                GLint i, i4;
-               _mesa_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
+               _swrast_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
                for (i = i4 = 0; i < width; i++, i4+=4) {
                   acc[i4+0] += rgba[i][RCOMP];
                   acc[i4+1] += rgba[i][GCOMP];
@@ -347,7 +346,7 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
             for (j=0;j<height;j++) {
                GLaccum *acc = ctx->DrawBuffer->Accum + ypos * width4 + xpos * 4;
                GLint i;
-               _mesa_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
+               _swrast_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
                for (i=0;i<width;i++) {
                   acc[0] += (GLaccum) ( (GLfloat) rgba[i][RCOMP] * rscale );
                   acc[1] += (GLaccum) ( (GLfloat) rgba[i][GCOMP] * gscale );
@@ -359,14 +358,13 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
             }
          }
          /* restore read buffer = draw buffer (the default) */
-         (*swrast->Driver.SetReadBuffer)( ctx, ctx->DrawBuffer,
-                                         ctx->Color.DriverDrawBuffer );
+         _swrast_use_draw_buffer(ctx);
+
          RENDER_FINISH(swrast,ctx);
         break;
 
       case GL_LOAD:
-         (*swrast->Driver.SetReadBuffer)( ctx, ctx->ReadBuffer,
-                                         ctx->Pixel.DriverReadBuffer );
+         _swrast_use_read_buffer(ctx);
 
          /* This is a change to go into optimized accum buffer mode */
          if (value > 0.0 && value <= 1.0) {
@@ -391,7 +389,7 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
             assert(swrast->_IntegerAccumScaler <= 1.0);
             for (j = 0; j < height; j++) {
                GLint i, i4;
-               _mesa_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
+               _swrast_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
                for (i = i4 = 0; i < width; i++, i4 += 4) {
                   acc[i4+0] = rgba[i][RCOMP];
                   acc[i4+1] = rgba[i][GCOMP];
@@ -414,7 +412,7 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
             GLint i, j;
             for (j = 0; j < height; j++) {
                GLaccum *acc = ctx->DrawBuffer->Accum + ypos * width4 + xpos * 4;
-               _mesa_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
+               _swrast_read_rgba_span(ctx, ctx->DrawBuffer, width, xpos, ypos, rgba);
                for (i=0;i<width;i++) {
 #if 0
                   *acc++ = (GLaccum) ((GLfloat) rgba[i][RCOMP] * rscale + d);
@@ -433,8 +431,8 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
          }
 
          /* restore read buffer = draw buffer (the default) */
-         (*swrast->Driver.SetReadBuffer)( ctx, ctx->DrawBuffer,
-                                       ctx->Color.DriverDrawBuffer );
+         _swrast_use_draw_buffer(ctx);
+
          RENDER_FINISH(swrast,ctx);
         break;
 
@@ -474,13 +472,13 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
                   rgba[i][ACOMP] = multTable[acc[i4+3]];
                }
                if (colorMask != 0xffffffff) {
-                  _mesa_mask_rgba_array( ctx, width, xpos, ypos, rgba );
+                  _swrast_mask_rgba_array( ctx, width, xpos, ypos, rgba );
                }
                (*swrast->Driver.WriteRGBASpan)( ctx, width, xpos, ypos,
                                              (const GLchan (*)[4])rgba, NULL );
                if (ctx->DrawBuffer->UseSoftwareAlphaBuffers
                    && ctx->Color.ColorMask[ACOMP]) {
-                  _mesa_write_alpha_span(ctx, width, xpos, ypos,
+                  _swrast_write_alpha_span(ctx, width, xpos, ypos,
                                          (CONST GLchan (*)[4]) rgba, NULL);
                }
                ypos++;
@@ -509,13 +507,13 @@ _swrast_Accum( GLcontext *ctx, GLenum op, GLfloat value,
                   rgba[i][ACOMP] = CLAMP( a, 0, CHAN_MAX );
                }
                if (colorMask != 0xffffffff) {
-                  _mesa_mask_rgba_array( ctx, width, xpos, ypos, rgba );
+                  _swrast_mask_rgba_array( ctx, width, xpos, ypos, rgba );
                }
                (*swrast->Driver.WriteRGBASpan)( ctx, width, xpos, ypos,
                                              (const GLchan (*)[4])rgba, NULL );
                if (ctx->DrawBuffer->UseSoftwareAlphaBuffers
                    && ctx->Color.ColorMask[ACOMP]) {
-                  _mesa_write_alpha_span(ctx, width, xpos, ypos,
+                  _swrast_write_alpha_span(ctx, width, xpos, ypos,
                                          (CONST GLchan (*)[4]) rgba, NULL);
                }
                ypos++;