Ignore:
Timestamp:
Mar 1, 2000, 7:50:02 PM (25 years ago)
Author:
jeroen
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/opengl/mesa/accum.c

    r2938 r2962  
    1 /* $Id: accum.c,v 1.1 2000-02-29 00:49:57 sandervl Exp $ */
     1/* $Id: accum.c,v 1.2 2000-03-01 18:49:22 jeroen Exp $ */
    22
    33/*
     
    4040#endif
    4141#include "accum.h"
     42#include "types.h"
    4243#include "context.h"
    4344#include "macros.h"
    4445#include "masking.h"
    4546#include "span.h"
    46 #include "types.h"
    4747#endif
    4848
     
    204204      case GL_ADD:
    205205         {
    206             const GLaccum intVal = (GLaccum) (value * acc_scale);
    207             GLuint j;
     206            const GLaccum intVal = (GLaccum) (value * acc_scale);
     207            GLuint j;
    208208            /* Leave optimized accum buffer mode */
    209209            if (ctx->IntegerAccumMode)
    210210               rescale_accum(ctx);
    211             for (j = 0; j < height; j++) {
    212                GLaccum * acc = ctx->Buffer->Accum + ypos * width4 + 4 * xpos;
     211            for (j = 0; j < height; j++) {
     212               GLaccum * acc = ctx->Buffer->Accum + ypos * width4 + 4 * xpos;
    213213               GLuint i;
    214                for (i = 0; i < width4; i++) {
     214               for (i = 0; i < width4; i++) {
    215215                  acc[i] += intVal;
    216                }
    217                ypos++;
    218             }
    219         }
    220         break;
     216               }
     217               ypos++;
     218            }
     219        }
     220        break;
    221221
    222222      case GL_MULT:
    223         {
    224             GLuint j;
     223        {
     224            GLuint j;
    225225            /* Leave optimized accum buffer mode */
    226226            if (ctx->IntegerAccumMode)
    227227               rescale_accum(ctx);
    228             for (j = 0; j < height; j++) {
    229                GLaccum *acc = ctx->Buffer->Accum + ypos * width4 + 4 * xpos;
     228            for (j = 0; j < height; j++) {
     229               GLaccum *acc = ctx->Buffer->Accum + ypos * width4 + 4 * xpos;
    230230               GLuint i;
    231                for (i = 0; i < width4; i++) {
     231               for (i = 0; i < width4; i++) {
    232232                  acc[i] = (GLaccum) ( (GLfloat) acc[i] * value );
    233                }
    234                ypos++;
    235             }
    236         }
    237         break;
     233               }
     234               ypos++;
     235            }
     236        }
     237        break;
    238238
    239239      case GL_ACCUM:
     
    287287         }
    288288         (void) (*ctx->Driver.SetBuffer)( ctx, ctx->Color.DriverDrawBuffer );
    289         break;
     289        break;
    290290
    291291      case GL_LOAD:
     
    470470      /* try to alloc accumulation buffer */
    471471      ctx->Buffer->Accum = (GLaccum *)
    472                            MALLOC( buffersize * 4 * sizeof(GLaccum) );
     472                           MALLOC( buffersize * 4 * sizeof(GLaccum) );
    473473   }
    474474
    475475   if (ctx->Buffer->Accum) {
    476476      if (ctx->Scissor.Enabled) {
    477         /* Limit clear to scissor box */
    478         GLaccum r, g, b, a;
    479         GLint i, j;
     477        /* Limit clear to scissor box */
     478        GLaccum r, g, b, a;
     479        GLint i, j;
    480480         GLint width, height;
    481481         GLaccum *row;
    482         r = (GLaccum) (ctx->Accum.ClearColor[0] * acc_scale);
    483         g = (GLaccum) (ctx->Accum.ClearColor[1] * acc_scale);
    484         b = (GLaccum) (ctx->Accum.ClearColor[2] * acc_scale);
    485         a = (GLaccum) (ctx->Accum.ClearColor[3] * acc_scale);
     482        r = (GLaccum) (ctx->Accum.ClearColor[0] * acc_scale);
     483        g = (GLaccum) (ctx->Accum.ClearColor[1] * acc_scale);
     484        b = (GLaccum) (ctx->Accum.ClearColor[2] * acc_scale);
     485        a = (GLaccum) (ctx->Accum.ClearColor[3] * acc_scale);
    486486         /* size of region to clear */
    487487         width = 4 * (ctx->Buffer->Xmax - ctx->Buffer->Xmin + 1);
     
    497497               row[i+2] = b;
    498498               row[i+3] = a;
    499             }
     499            }
    500500            row += 4 * ctx->Buffer->Width;
    501         }
     501        }
    502502      }
    503503      else {
    504         /* clear whole buffer */
    505         if (ctx->Accum.ClearColor[0]==0.0 &&
    506              ctx->Accum.ClearColor[1]==0.0 &&
    507              ctx->Accum.ClearColor[2]==0.0 &&
    508              ctx->Accum.ClearColor[3]==0.0) {
    509             /* Black */
    510             MEMSET( ctx->Buffer->Accum, 0, buffersize * 4 * sizeof(GLaccum) );
    511         }
    512         else {
    513             /* Not black */
    514             GLaccum *acc, r, g, b, a;
    515             GLuint i;
    516 
    517             acc = ctx->Buffer->Accum;
    518             r = (GLaccum) (ctx->Accum.ClearColor[0] * acc_scale);
    519             g = (GLaccum) (ctx->Accum.ClearColor[1] * acc_scale);
    520             b = (GLaccum) (ctx->Accum.ClearColor[2] * acc_scale);
    521             a = (GLaccum) (ctx->Accum.ClearColor[3] * acc_scale);
    522             for (i=0;i<buffersize;i++) {
    523                *acc++ = r;
    524                *acc++ = g;
    525                *acc++ = b;
    526                *acc++ = a;
    527             }
    528         }
     504        /* clear whole buffer */
     505        if (ctx->Accum.ClearColor[0]==0.0 &&
     506             ctx->Accum.ClearColor[1]==0.0 &&
     507             ctx->Accum.ClearColor[2]==0.0 &&
     508             ctx->Accum.ClearColor[3]==0.0) {
     509            /* Black */
     510            MEMSET( ctx->Buffer->Accum, 0, buffersize * 4 * sizeof(GLaccum) );
     511        }
     512        else {
     513            /* Not black */
     514            GLaccum *acc, r, g, b, a;
     515            GLuint i;
     516
     517            acc = ctx->Buffer->Accum;
     518            r = (GLaccum) (ctx->Accum.ClearColor[0] * acc_scale);
     519            g = (GLaccum) (ctx->Accum.ClearColor[1] * acc_scale);
     520            b = (GLaccum) (ctx->Accum.ClearColor[2] * acc_scale);
     521            a = (GLaccum) (ctx->Accum.ClearColor[3] * acc_scale);
     522            for (i=0;i<buffersize;i++) {
     523               *acc++ = r;
     524               *acc++ = g;
     525               *acc++ = b;
     526               *acc++ = a;
     527            }
     528        }
    529529      }
    530530
Note: See TracChangeset for help on using the changeset viewer.