Ignore:
Timestamp:
May 23, 2000, 10:41:28 PM (25 years ago)
Author:
jeroen
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/opengl/mesa/3dfx/fxfasttmp.h

    r2938 r3598  
    33/*
    44 * Mesa 3-D graphics library
    5  * Version:  3.1
     5 * Version:  3.3
    66 *
    77 * Copyright (C) 1999  Brian Paul   All Rights Reserved.
     
    8989    */
    9090   gl_xform_points3_v16_general(FX_DRIVER_DATA(VB)->verts[0].f,
    91                                 m,
    92                                 VB->ObjPtr->start,
    93                                 VB->ObjPtr->stride,
    94                                 count);
     91                                m,
     92                                VB->ObjPtr->start,
     93                                VB->ObjPtr->stride,
     94                                count);
    9595
    9696   if (do_clip)
    9797   {
    98       VB->ClipAndMask = ~0; 
     98      VB->ClipAndMask = ~0;
    9999      VB->ClipOrMask = 0;
    100100      gl_cliptest_points4_v16(FX_DRIVER_DATA(VB)->verts[0].f,
    101                               FX_DRIVER_DATA(VB)->verts[count].f,
    102                               &(VB->ClipOrMask),
    103                               &(VB->ClipAndMask),
    104                               VB->ClipMask);
     101                              FX_DRIVER_DATA(VB)->verts[count].f,
     102                              &(VB->ClipOrMask),
     103                              &(VB->ClipAndMask),
     104                              VB->ClipMask);
    105105   }
    106106
     
    137137 */
    138138static void TAG(fx_project_vertices)( GLfloat *first,
    139                                       GLfloat *last,
    140                                       const GLfloat *mat,
    141                                       GLuint stride )
     139                                      GLfloat *last,
     140                                      const GLfloat *mat,
     141                                      GLuint stride )
    142142{
    143143   GLfloat *f;
    144144   VARS_XYZ;
    145145
    146    for ( f = first ; f != last ; STRIDE_F(f, stride)) 
     146   for ( f = first ; f != last ; STRIDE_F(f, stride))
    147147   {
    148       GLfloat oow = 1.0f/f[3];  /* urp! */
     148      GLfloat oow = 1.0f/f[CLIP_WCOORD];        /* urp! */
    149149
    150150#if FX_USE_PARGB
     
    154154#else
    155155      if (TYPE & SETUP_RGBA) {
    156         f[RCOORD]=f[CLIP_R];
     156        f[RCOORD]=f[CLIP_R];
    157157      }
    158158#endif
    159159      if (TYPE & SETUP_TMU1) {
    160         f[S1COORD] = f[CLIP_S1] * oow;
    161         f[T1COORD] = f[CLIP_T1] * oow;
     160        f[S1COORD] = f[CLIP_S1] * oow;
     161        f[T1COORD] = f[CLIP_T1] * oow;
    162162      }
    163163
    164164      if (TYPE & SETUP_TMU0) {
    165         f[T0COORD] = f[CLIP_T0] * oow;
    166         f[S0COORD] = f[CLIP_S0] * oow;
     165        f[T0COORD] = f[CLIP_T0] * oow;
     166        f[S0COORD] = f[CLIP_S0] * oow;
    167167      }
    168168
     
    174174
    175175static void TAG(fx_project_clipped_vertices)( GLfloat *first,
    176                                               GLfloat *last,
    177                                               const GLfloat *mat,
    178                                               GLuint stride,
    179                                               const GLubyte *mask )
     176                                              GLfloat *last,
     177                                              const GLfloat *mat,
     178                                              GLuint stride,
     179                                              const GLubyte *mask )
    180180{
    181181   GLfloat *f;
     
    185185      if (!*mask) {
    186186
    187          GLfloat oow = 1.0f / f[3];
     187         GLfloat oow = 1.0f / f[CLIP_WCOORD];
    188188#if FX_USE_PARGB
    189189        if (TYPE & SETUP_RGBA) {
     
    197197#else
    198198        if (TYPE & SETUP_RGBA) {
    199           f[RCOORD]=f[CLIP_R];
     199          f[RCOORD]=f[CLIP_R];
    200200        }
    201201#endif
    202202
    203         if (TYPE & SETUP_TMU1) {
    204             f[S1COORD] = f[CLIP_S1] * oow;
    205             f[T1COORD] = f[CLIP_T1] * oow;
    206         }
    207 
    208         if (TYPE & SETUP_TMU0) {
    209             f[T0COORD] = f[CLIP_T0] * oow;
    210             f[S0COORD] = f[CLIP_S0] * oow;
    211         }
    212 
    213         DO_SETUP_XYZ;
    214 
    215         f[OOWCOORD] = oow;
     203        if (TYPE & SETUP_TMU1) {
     204            f[S1COORD] = f[CLIP_S1] * oow;
     205            f[T1COORD] = f[CLIP_T1] * oow;
     206        }
     207
     208        if (TYPE & SETUP_TMU0) {
     209            f[T0COORD] = f[CLIP_T0] * oow;
     210            f[S0COORD] = f[CLIP_S0] * oow;
     211        }
     212
     213        DO_SETUP_XYZ;
     214
     215        f[OOWCOORD] = oow;
    216216      }
    217217   }
     
    224224#endif
    225225void TAG(fx_tri_clip)( GLuint **p_elts,
    226                        fxVertex *verts,
    227                        GLubyte *clipmask,
    228                        GLuint *p_next_vert,
    229                        GLubyte mask )
     226                       fxVertex *verts,
     227                       GLubyte *clipmask,
     228                       GLuint *p_next_vert,
     229                       GLubyte mask )
    230230{
    231231   GLuint *elts = *p_elts;
     
    266266
    267267static INLINE void TAG(fx_line_clip)( GLuint **p_elts,
    268                                       fxVertex *verts,
    269                                       GLubyte *clipmask,
    270                                       GLuint *p_next_vert,
    271                                       GLubyte mask )
     268                                      fxVertex *verts,
     269                                      GLubyte *clipmask,
     270                                      GLuint *p_next_vert,
     271                                      GLubyte mask )
    272272{
    273273   GLuint *elts = *p_elts;
     
    290290/* Build a table of functions to clip each primitive type.
    291291 */
    292 #define LOCAL_VARS                                                      \
    293    GLuint *elt = VB->EltPtr->data;                                      \
    294    fxVertex *verts = FX_DRIVER_DATA(VB)->verts;                         \
    295    GLuint next_vert = VB->Count;                                        \
    296    GLuint *out = FX_DRIVER_DATA(VB)->clipped_elements.data;             \
     292#define LOCAL_VARS                                                      \
     293   GLuint *elt = VB->EltPtr->data;                                      \
     294   fxVertex *verts = FX_DRIVER_DATA(VB)->verts;                         \
     295   GLuint next_vert = VB->Count;                                        \
     296   GLuint *out = FX_DRIVER_DATA(VB)->clipped_elements.data;             \
    297297   GLubyte *mask = VB->ClipMask;                                        \
    298298
    299299
    300 #define POSTFIX                                                 \
    301    FX_DRIVER_DATA(VB)->clipped_elements.count =                 \
    302           out - FX_DRIVER_DATA(VB)->clipped_elements.data;      \
     300#define POSTFIX                                                 \
     301   FX_DRIVER_DATA(VB)->clipped_elements.count =                 \
     302          out - FX_DRIVER_DATA(VB)->clipped_elements.data;      \
    303303   FX_DRIVER_DATA(VB)->last_vert = &verts[next_vert];
    304304
    305305#define INIT(x)
    306306
    307 #define RENDER_POINTS(start, count)                     \
    308 do {                                                    \
    309    GLuint i;                                            \
    310    for (i = start ; i < count ; i++ )                   \
    311       CLIP_POINT( elt[i] );                             \
     307#define RENDER_POINTS(start, count)                     \
     308do {                                                    \
     309   GLuint i;                                            \
     310   for (i = start ; i < count ; i++ )                   \
     311      CLIP_POINT( elt[i] );                             \
    312312} while (0)
    313313
    314 #define RENDER_LINE(i1, i0)                     \
     314#define RENDER_LINE(i1, i0)                     \
    315315   CLIP_LINE(elt[i1], elt[i0])
    316316
    317 #define RENDER_TRI(i2, i1, i0, pv, parroty)             \
    318 do {                                                    \
    319    GLuint e2 = elt[i2], e1 = elt[i1], e0 = elt[i0];     \
    320    if (parroty) e2 = elt[i1], e1 = elt[i2];             \
    321    CLIP_TRIANGLE( e2, e1, e0 );                         \
     317#define RENDER_TRI(i2, i1, i0, pv, parroty)             \
     318do {                                                    \
     319   GLuint e2 = elt[i2], e1 = elt[i1], e0 = elt[i0];     \
     320   if (parroty) e2 = elt[i1], e1 = elt[i2];             \
     321   CLIP_TRIANGLE( e2, e1, e0 );                         \
    322322} while (0)
    323323
    324 #define RENDER_QUAD(i3, i2, i1, i0, pv)         \
    325   CLIP_TRIANGLE(elt[i3], elt[i2], elt[i0]);     \
     324#define RENDER_QUAD(i3, i2, i1, i0, pv)         \
     325  CLIP_TRIANGLE(elt[i3], elt[i2], elt[i0]);     \
    326326  CLIP_TRIANGLE(elt[i2], elt[i1], elt[i0])
    327327
     
    344344   tab->project_clipped_vertices = TAG(fx_project_clipped_vertices);
    345345
    346 #if defined(USE_3DNOW_ASM) 
     346#if defined(USE_3DNOW_ASM)
    347347   if (gl_x86_cpu_features & GL_CPU_3Dnow) {
    348348      extern void TAG(fx_3dnow_project_vertices)( GLfloat *first,
    349                                                   GLfloat *last,
    350                                                   const GLfloat *mat,
    351                                                   GLuint stride );
     349                                                  GLfloat *last,
     350                                                  const GLfloat *mat,
     351                                                  GLuint stride );
    352352
    353353      extern void TAG(fx_3dnow_project_clipped_vertices)( GLfloat *first,
    354                                                           GLfloat *last,
    355                                                           const GLfloat *mat,
    356                                                           GLuint stride,
    357                                                           const GLubyte *mask );
     354                                                          GLfloat *last,
     355                                                          const GLfloat *mat,
     356                                                          GLuint stride,
     357                                                          const GLubyte *mask );
    358358
    359359      tab->project_vertices = TAG(fx_3dnow_project_vertices);
Note: See TracChangeset for help on using the changeset viewer.