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/fxglidew.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.
     
    4949#include <glide.h>
    5050
    51 /* 
    52  * General context: 
     51/*
     52 * General context:
    5353 */
    5454#if !defined(FX_GLIDE3)
    55      typedef FxU32       FX_GrContext_t;        /* Not used in Glide2 */
     55     typedef FxU32       FX_GrContext_t;        /* Not used in Glide2 */
    5656#else
    5757     typedef GrContext_t FX_GrContext_t;
    5858#endif
    5959
    60 /* 
    61  * Glide3 emulation on Glide2: 
     60/*
     61 * Glide3 emulation on Glide2:
    6262 */
    6363#if !defined(FX_GLIDE3)
    64         /* Constanst for FX_grGetInteger( ) */
    65         #define FX_FOG_TABLE_ENTRIES            0x0004    /* The number of entries in the hardware fog table. */
    66         #define FX_GLIDE_STATE_SIZE             0x0006    /* Size of buffer, in bytes, needed to save Glide state. */
    67         #define FX_LFB_PIXEL_PIPE               0x0009    /* 1 if LFB writes can go through the 3D pixel pipe. */               
    68         #define FX_PENDING_BUFFERSWAPS          0x0014    /* The number of buffer swaps pending. */
    69 #else
    70         #define FX_FOG_TABLE_ENTRIES            GR_FOG_TABLE_ENTRIES 
    71         #define FX_GLIDE_STATE_SIZE             GR_GLIDE_STATE_SIZE
    72         #define FX_LFB_PIXEL_PIPE               GR_LFB_PIXEL_PIPE               
    73         #define FX_PENDING_BUFFERSWAPS          GR_PENDING_BUFFERSWAPS 
     64        /* Constanst for FX_grGetInteger( ) */
     65        #define FX_FOG_TABLE_ENTRIES            0x0004    /* The number of entries in the hardware fog table. */
     66        #define FX_GLIDE_STATE_SIZE             0x0006    /* Size of buffer, in bytes, needed to save Glide state. */
     67        #define FX_LFB_PIXEL_PIPE               0x0009    /* 1 if LFB writes can go through the 3D pixel pipe. */
     68        #define FX_PENDING_BUFFERSWAPS          0x0014    /* The number of buffer swaps pending. */
     69        #define FX_TEXTURE_ALIGN                0x0024    /* The required alignment for textures */
     70#else
     71        #define FX_FOG_TABLE_ENTRIES            GR_FOG_TABLE_ENTRIES
     72        #define FX_GLIDE_STATE_SIZE             GR_GLIDE_STATE_SIZE
     73        #define FX_LFB_PIXEL_PIPE               GR_LFB_PIXEL_PIPE
     74        #define FX_PENDING_BUFFERSWAPS          GR_PENDING_BUFFERSWAPS
     75        #define FX_TEXTURE_ALIGN                GR_TEXTURE_ALIGN
    7476#endif
    7577
    7678/*
    7779 * Genral warper functions for Glide2/Glide3:
    78  */ 
     80 */
    7981extern FxI32 FX_grGetInteger(FxU32 pname);
     82extern FxI32 FX_grGetInteger_NoLock(FxU32 pname);
    8083
    8184/*
     
    9295#define GR_ASPECT_1x8 GR_ASPECT_LOG2_1x8
    9396
    94 #define GR_LOD_256      GR_LOD_LOG2_256
    95 #define GR_LOD_128      GR_LOD_LOG2_128
    96 #define GR_LOD_64       GR_LOD_LOG2_64
    97 #define GR_LOD_32       GR_LOD_LOG2_32 
    98 #define GR_LOD_16       GR_LOD_LOG2_16
    99 #define GR_LOD_8        GR_LOD_LOG2_8
    100 #define GR_LOD_4        GR_LOD_LOG2_4
    101 #define GR_LOD_2        GR_LOD_LOG2_2
    102 #define GR_LOD_1        GR_LOD_LOG2_1
     97#define GR_LOD_256      GR_LOD_LOG2_256
     98#define GR_LOD_128      GR_LOD_LOG2_128
     99#define GR_LOD_64       GR_LOD_LOG2_64
     100#define GR_LOD_32       GR_LOD_LOG2_32
     101#define GR_LOD_16       GR_LOD_LOG2_16
     102#define GR_LOD_8        GR_LOD_LOG2_8
     103#define GR_LOD_4        GR_LOD_LOG2_4
     104#define GR_LOD_2        GR_LOD_LOG2_2
     105#define GR_LOD_1        GR_LOD_LOG2_1
    103106
    104107#define GR_FOG_WITH_TABLE GR_FOG_WITH_TABLE_ON_Q
     
    164167#define GR_STWHINT_ST_DIFF_TMU2 FXBIT(6)
    165168
    166 #define GR_CONTROL_ACTIVATE             1
    167 #define GR_CONTROL_DEACTIVATE           0
    168 
    169 #define GrState                         void
     169#define GR_CONTROL_ACTIVATE             1
     170#define GR_CONTROL_DEACTIVATE           0
     171
     172#define GrState                         void
    170173
    171174/*
     
    174177typedef struct {
    175178  float  sow;                   /* s texture ordinate (s over w) */
    176   float  tow;                   /* t texture ordinate (t over w) */ 
     179  float  tow;                   /* t texture ordinate (t over w) */
    177180  float  oow;                   /* 1/w (used mipmapping - really 0xfff/w) */
    178181}  GrTmuVertex;
     
    202205#define GR_VERTEX_TOW_TMU1_OFFSET       9
    203206#define GR_VERTEX_OOW_TMU1_OFFSET       10
    204 #define GR_VERTEX_Z_OFFSET              11
    205 
    206 #define GET_PARGB(v)    ((FxU32*)(v))[GR_VERTEX_PARGB_OFFSET]
     207#define GR_VERTEX_Z_OFFSET              11
     208
     209#define GET_PARGB(v)    ((FxU32*)(v))[GR_VERTEX_PARGB_OFFSET]
    207210/* GET_PA: returns the alpha component */
    208211#if GLIDE_ENDIAN == GLIDE_ENDIAN_BIG
    209    #define GET_PA(v)            ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4]
    210 #else 
    211    #define GET_PA(v)            ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4+3]
    212 #endif 
    213 #define MESACOLOR2PARGB(c)      (c[ACOMP] << 24 | c[GCOMP] << 16 | c[GCOMP] << 8 | c[BCOMP])
    214 #define PACK_4F_ARGB(dest,a,r,g,b) {                                                            \
    215                                              const GLuint cr = (int)r;                          \
    216                                              const GLuint cg = (int)g;                          \
    217                                              const GLuint ca = (int)a;                          \
    218                                              const GLuint cb = (int)b;                          \
    219                                              dest = ca << 24 | cr << 16 | cg << 8 | cb;         \
    220                                         }
     212   #define GET_PA(v)            ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4]
     213#else
     214   #define GET_PA(v)            ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4+3]
     215#endif
     216#define MESACOLOR2PARGB(c)      (c[ACOMP] << 24 | c[GCOMP] << 16 | c[GCOMP] << 8 | c[BCOMP])
     217#define PACK_4F_ARGB(dest,a,r,g,b) {                                                            \
     218                                             const GLuint cr = (int)r;                          \
     219                                             const GLuint cg = (int)g;                          \
     220                                             const GLuint ca = (int)a;                          \
     221                                             const GLuint cb = (int)b;                          \
     222                                             dest = ca << 24 | cr << 16 | cg << 8 | cb;         \
     223                                        }
    221224
    222225#else /* FX_USE_PARGB */
     
    256259 */
    257260#if defined(FX_GLIDE3)
    258 #define FX_grTexDownloadTable(TMU,type,data)    \
    259   do {                                          \
    260     BEGIN_BOARD_LOCK();                         \
    261     grTexDownloadTable(type,data);              \
    262     END_BOARD_LOCK();                           \
     261#define FX_grTexDownloadTable(TMU,type,data)    \
     262  do {                                          \
     263    BEGIN_BOARD_LOCK();                         \
     264    grTexDownloadTable(type,data);              \
     265    END_BOARD_LOCK();                           \
    263266  } while (0);
    264267#define FX_grTexDownloadTable_NoLock(TMU,type,data) \
    265268  grTexDownloadTable(type, data)
    266269#else
    267 #define FX_grTexDownloadTable(TMU,type,data)    \
    268   do {                                          \
    269     BEGIN_BOARD_LOCK();                         \
    270     grTexDownloadTable(TMU,type,data);          \
    271     END_BOARD_LOCK();                           \
     270#define FX_grTexDownloadTable(TMU,type,data)    \
     271  do {                                          \
     272    BEGIN_BOARD_LOCK();                         \
     273    grTexDownloadTable(TMU,type,data);          \
     274    END_BOARD_LOCK();                           \
    272275  } while (0);
    273276#define FX_grTexDownloadTable_NoLock grTexDownloadTable
     
    278281 */
    279282#if defined(FX_GLIDE3)
    280 #define FX_grFlush()    \
    281   do {                  \
     283#define FX_grFlush()    \
     284  do {                  \
    282285    BEGIN_BOARD_LOCK(); \
    283     grFlush();          \
    284     END_BOARD_LOCK();   \
    285   } while (0)
    286 #else
    287 #define FX_grFlush()    \
    288   do {                  \
     286    grFlush();          \
     287    END_BOARD_LOCK();   \
     288  } while (0)
     289#else
     290#define FX_grFlush()    \
     291  do {                  \
    289292    BEGIN_BOARD_LOCK(); \
    290     grSstIdle();        \
    291     END_BOARD_LOCK();   \
    292   } while (0)
    293 #endif 
    294 
    295 #define FX_grFinish()   \
    296   do {                  \
     293    grSstIdle();        \
     294    END_BOARD_LOCK();   \
     295  } while (0)
     296#endif
     297
     298#define FX_grFinish()   \
     299  do {                  \
    297300    BEGIN_BOARD_LOCK(); \
    298     grFinish();         \
    299     END_BOARD_LOCK();   \
     301    grFinish();         \
     302    END_BOARD_LOCK();   \
    300303  } while (0)
    301304
     
    304307 */
    305308#if defined(FX_GLIDE3)
    306 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data)         \
    307   do {                          \
    308     BEGIN_BOARD_LOCK();         \
    309     grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,FXFALSE,src_stride,src_data);       \
    310     END_BOARD_LOCK();           \
     309#define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data)         \
     310  do {                          \
     311    BEGIN_BOARD_LOCK();         \
     312    grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,FXFALSE,src_stride,src_data);       \
     313    END_BOARD_LOCK();           \
    311314  } while(0)
    312315#else
    313 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data)         \
    314   do {                          \
    315     BEGIN_BOARD_LOCK();         \
    316     grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data);               \
    317     END_BOARD_LOCK();           \
     316#define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data)         \
     317  do {                          \
     318    BEGIN_BOARD_LOCK();         \
     319    grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data);               \
     320    END_BOARD_LOCK();           \
    318321  } while (0)
    319322#endif
     
    322325 * Read region
    323326 */
    324 #define FX_grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data)                     \
    325   do {                          \
    326     BEGIN_BOARD_LOCK();         \
    327     grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data);                           \
    328     END_BOARD_LOCK();           \
     327#define FX_grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data)                     \
     328  do {                          \
     329    BEGIN_BOARD_LOCK();         \
     330    grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data);                           \
     331    END_BOARD_LOCK();           \
    329332  } while (0);
    330333
     
    332335 * Draw triangle
    333336 */
    334 #define FX_grDrawTriangle(a,b,c)        \
    335   do {                                  \
    336     BEGIN_CLIP_LOOP();                  \
    337     grDrawTriangle(a,b,c);              \
    338     END_CLIP_LOOP();                    \
     337#define FX_grDrawTriangle(a,b,c)        \
     338  do {                                  \
     339    BEGIN_CLIP_LOOP();                  \
     340    grDrawTriangle(a,b,c);              \
     341    END_CLIP_LOOP();                    \
    339342  } while (0)
    340343
     
    343346 */
    344347#if defined(FX_GLIDE3)
    345         #define FX_largeLodLog2(info)           (info).largeLodLog2
    346 #else
    347         #define FX_largeLodLog2(info)           (info).largeLod
    348 #endif
    349 
    350 #if defined(FX_GLIDE3)
    351         #define FX_aspectRatioLog2(info)                (info).aspectRatioLog2
    352 #else
    353         #define FX_aspectRatioLog2(info)                (info).aspectRatio
    354 #endif
    355 
    356 #if defined(FX_GLIDE3)
    357         #define FX_smallLodLog2(info)           (info).smallLodLog2
    358 #else
    359         #define FX_smallLodLog2(info)           (info).smallLod
    360 #endif
    361 
    362 #if defined(FX_GLIDE3)
    363         #define FX_lodToValue(val)              ((int)(GR_LOD_256-val))
    364 #else
    365         #define FX_lodToValue(val)              ((int)(val))
    366 #endif
    367 
    368 #if defined(FX_GLIDE3)
    369         #define FX_largeLodValue(info)          ((int)(GR_LOD_256-(info).largeLodLog2))
    370 #else
    371         #define FX_largeLodValue(info)          ((int)(info).largeLod)
     348        #define FX_largeLodLog2(info)           (info).largeLodLog2
     349#else
     350        #define FX_largeLodLog2(info)           (info).largeLod
     351#endif
     352
     353#if defined(FX_GLIDE3)
     354        #define FX_aspectRatioLog2(info)                (info).aspectRatioLog2
     355#else
     356        #define FX_aspectRatioLog2(info)                (info).aspectRatio
     357#endif
     358
     359#if defined(FX_GLIDE3)
     360        #define FX_smallLodLog2(info)           (info).smallLodLog2
     361#else
     362        #define FX_smallLodLog2(info)           (info).smallLod
     363#endif
     364
     365#if defined(FX_GLIDE3)
     366        #define FX_lodToValue(val)              ((int)(GR_LOD_256-val))
     367#else
     368        #define FX_lodToValue(val)              ((int)(val))
     369#endif
     370
     371#if defined(FX_GLIDE3)
     372        #define FX_largeLodValue(info)          ((int)(GR_LOD_256-(info).largeLodLog2))
     373#else
     374        #define FX_largeLodValue(info)          ((int)(info).largeLod)
    372375#endif
    373376#define FX_largeLodValue_NoLock FX_largeLodValue
    374377
    375378#if defined(FX_GLIDE3)
    376         #define FX_smallLodValue(info)          ((int)(GR_LOD_256-(info).smallLodLog2))
    377 #else
    378         #define FX_smallLodValue(info)          ((int)(info).smallLod)
     379        #define FX_smallLodValue(info)          ((int)(GR_LOD_256-(info).smallLodLog2))
     380#else
     381        #define FX_smallLodValue(info)          ((int)(info).smallLod)
    379382#endif
    380383#define FX_smallLodValue_NoLock FX_smallLodValue
    381384
    382385#if defined(FX_GLIDE3)
    383         #define FX_valueToLod(val)              ((GrLOD_t)(GR_LOD_256-val))
    384 #else
    385         #define FX_valueToLod(val)              ((GrLOD_t)(val))
     386        #define FX_valueToLod(val)              ((GrLOD_t)(GR_LOD_256-val))
     387#else
     388        #define FX_valueToLod(val)              ((GrLOD_t)(val))
    386389#endif
    387390
     
    389392 * ScreenWidth/Height stuff.
    390393 */
    391         extern int FX_grSstScreenWidth(void);
    392         extern int FX_grSstScreenHeight(void);
     394        extern int FX_grSstScreenWidth(void);
     395        extern int FX_grSstScreenHeight(void);
    393396
    394397
     
    398401 */
    399402#if defined(FX_GLIDE3)
    400         extern void FX_grGlideGetVersion(char *buf);
    401 #else
    402         #define FX_grGlideGetVersion(b) \
    403         do {                            \
    404           BEGIN_BOARD_LOCK();           \
    405           grGlideGetVersion(b);         \
    406           END_BOARD_LOCK();             \
    407         } while (0)
     403        extern void FX_grGlideGetVersion(char *buf);
     404#else
     405        #define FX_grGlideGetVersion(b) \
     406        do {                            \
     407          BEGIN_BOARD_LOCK();           \
     408          grGlideGetVersion(b);         \
     409          END_BOARD_LOCK();             \
     410        } while (0)
    408411#endif
    409412/*
     
    413416        extern void FX_grSstPerfStats(GrSstPerfStats_t *st);
    414417#else
    415         #define FX_grSstPerfStats(s)    \
    416         do {                            \
    417           BEGIN_BOARD_LOCK();           \
    418           grSstPerfStats(s);            \
    419           END_BOARD_LOCK();             \
    420         } while (0)
     418        #define FX_grSstPerfStats(s)    \
     419        do {                            \
     420          BEGIN_BOARD_LOCK();           \
     421          grSstPerfStats(s);            \
     422          END_BOARD_LOCK();             \
     423        } while (0)
    421424#endif
    422425
     
    431434#if defined(FX_GLIDE3)
    432435        extern void FX_grHints_NoLock(GrHint_t hintType, FxU32 hintMask);
    433         extern void FX_grHints(GrHint_t hintType, FxU32 hintMask);
    434 #else
    435         #define FX_grHints(t,m)         \
    436         do {                            \
    437           BEGIN_BOARD_LOCK();           \
    438           grHints(t, m);                \
    439           END_BOARD_LOCK();             \
    440         } while(0)
     436        extern void FX_grHints(GrHint_t hintType, FxU32 hintMask);
     437#else
     438        #define FX_grHints(t,m)         \
     439        do {                            \
     440          BEGIN_BOARD_LOCK();           \
     441          grHints(t, m);                \
     442          END_BOARD_LOCK();             \
     443        } while(0)
    441444        #define FX_grHints_NoLock grHints
    442445#endif
     
    445448 */
    446449#if defined(FX_GLIDE3)
    447         extern void FX_grAADrawLine(GrVertex *a,GrVertex *b);
    448 #else
    449         #define FX_grAADrawLine(a,b)    \
    450         do {                            \
    451           BEGIN_CLIP_LOOP();            \
    452           grAADrawLine(a,b);            \
    453           END_CLIP_LOOP();              \
    454         } while (0)
    455 #endif
    456 
    457 #if defined(FX_GLIDE3)
    458         extern void FX_grAADrawPoint(GrVertex *a);
    459 #else
    460         #define FX_grAADrawPoint(a)     \
    461         do {                            \
    462           BEGIN_CLIP_LOOP();            \
    463           grAADrawPoint(a);             \
    464           END_CLIP_LOOP();              \
    465         } while (0)
     450        extern void FX_grAADrawLine(GrVertex *a,GrVertex *b);
     451#else
     452        #define FX_grAADrawLine(a,b)    \
     453        do {                            \
     454          BEGIN_CLIP_LOOP();            \
     455          grAADrawLine(a,b);            \
     456          END_CLIP_LOOP();              \
     457        } while (0)
     458#endif
     459
     460#if defined(FX_GLIDE3)
     461        extern void FX_grAADrawPoint(GrVertex *a);
     462#else
     463        #define FX_grAADrawPoint(a)     \
     464        do {                            \
     465          BEGIN_CLIP_LOOP();            \
     466          grAADrawPoint(a);             \
     467          END_CLIP_LOOP();              \
     468        } while (0)
    466469#endif
    467470
     
    470473 */
    471474#if defined(FX_GLIDE3)
    472         extern void FX_setupGrVertexLayout(void);
    473 #else
    474         #define FX_setupGrVertexLayout()                do {} while (0)
     475        extern void FX_setupGrVertexLayout(void);
     476#else
     477        #define FX_setupGrVertexLayout()                do {} while (0)
    475478#endif
    476479/*
     
    485488      extern void FX_grGammaCorrectionValue(float val);
    486489#else
    487       #define FX_grGammaCorrectionValue(v)      \
    488       do {                                      \
    489         BEGIN_BOARD_LOCK();                     \
    490         grGammaCorrectionValue(v)               \
    491         END_BOARD_LOCK();                       \
     490      #define FX_grGammaCorrectionValue(v)      \
     491      do {                                      \
     492        BEGIN_BOARD_LOCK();                     \
     493        grGammaCorrectionValue(v)               \
     494        END_BOARD_LOCK();                       \
    492495      } while (0)
    493496#endif
    494497
    495498#if defined(FX_GLIDE3)
    496 #define FX_grSstWinClose(w)     \
    497   do {                          \
    498     BEGIN_BOARD_LOCK();         \
    499     grSstWinClose(w);           \
    500     END_BOARD_LOCK();           \
    501   } while (0)
    502 #else
    503 #define FX_grSstWinClose(w)     \
    504   do {                          \
    505     BEGIN_BOARD_LOCK();         \
    506     grSstWinClose();            \
    507     END_BOARD_LOCK();           \
     499#define FX_grSstWinClose(w)     \
     500  do {                          \
     501    BEGIN_BOARD_LOCK();         \
     502    grSstWinClose(w);           \
     503    END_BOARD_LOCK();           \
     504  } while (0)
     505#else
     506#define FX_grSstWinClose(w)     \
     507  do {                          \
     508    BEGIN_BOARD_LOCK();         \
     509    grSstWinClose();            \
     510    END_BOARD_LOCK();           \
    508511  } while (0)
    509512#endif
     
    519522
    520523
    521 #define FX_grDrawLine(v1, v2)   \
    522   do {                          \
    523     BEGIN_CLIP_LOOP();          \
    524     grDrawLine(v1, v2);         \
    525     END_CLIP_LOOP();            \
    526   } while (0)
    527 
    528 #define FX_grDrawPoint(p)       \
    529   do {                          \
    530     BEGIN_CLIP_LOOP();          \
    531     grDrawPoint(p);             \
    532     END_CLIP_LOOP();            \
    533   } while (0)
    534 
    535 #define FX_grDitherMode(m)      \
    536   do {                          \
    537     BEGIN_BOARD_LOCK();         \
    538     grDitherMode(m);            \
    539     END_BOARD_LOCK();           \
    540   } while (0)
    541 
    542 #define FX_grRenderBuffer(b)    \
    543   do {                          \
    544     BEGIN_BOARD_LOCK();         \
    545     grRenderBuffer(b);          \
    546     END_BOARD_LOCK();           \
    547   } while (0)
    548 
    549 #define FX_grBufferClear(c, a, d)       \
    550   do {                                  \
    551     BEGIN_CLIP_LOOP();                  \
    552     grBufferClear(c, a, d);             \
    553     END_CLIP_LOOP();                    \
    554   } while (0)
    555 
    556 #define FX_grDepthMask(m)       \
    557   do {                          \
    558     BEGIN_BOARD_LOCK();         \
    559     grDepthMask(m);             \
    560     END_BOARD_LOCK();           \
    561   } while (0)
    562 
    563 #define FX_grColorMask(c, a)    \
    564   do {                          \
    565     BEGIN_BOARD_LOCK();         \
    566     grColorMask(c, a);          \
    567     END_BOARD_LOCK();           \
    568   } while (0)
    569 
    570 extern FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer,
    571                            GrLfbWriteMode_t writeMode,
    572                            GrOriginLocation_t origin, FxBool pixelPipeline,
    573                            GrLfbInfo_t *info );
    574 
    575 #define FX_grLfbUnlock(t, b)    \
    576   do {                          \
    577     BEGIN_BOARD_LOCK();         \
    578     grLfbUnlock(t, b);          \
    579     END_BOARD_LOCK();           \
    580   } while (0)
    581 
    582 #define FX_grConstantColorValue(v)      \
    583   do {                                  \
    584     BEGIN_BOARD_LOCK();                 \
    585     grConstantColorValue(v);            \
    586     END_BOARD_LOCK();                   \
     524#define FX_grDrawLine(v1, v2)   \
     525  do {                          \
     526    BEGIN_CLIP_LOOP();          \
     527    grDrawLine(v1, v2);         \
     528    END_CLIP_LOOP();            \
     529  } while (0)
     530
     531#define FX_grDrawPoint(p)       \
     532  do {                          \
     533    BEGIN_CLIP_LOOP();          \
     534    grDrawPoint(p);             \
     535    END_CLIP_LOOP();            \
     536  } while (0)
     537
     538#if defined(FX_GLIDE3)
     539extern void FX_grDrawPolygonVertexList(int n, GrVertex *v);
     540#else
     541#define FX_grDrawPolygonVertexList(n, v)        \
     542  do {                                          \
     543    BEGIN_CLIP_LOOP();                          \
     544    grDrawPolygonVertexList(n, v);              \
     545    END_CLIP_LOOP();                            \
     546  } while (0)
     547#endif
     548
     549#define FX_grDitherMode(m)      \
     550  do {                          \
     551    BEGIN_BOARD_LOCK();         \
     552    grDitherMode(m);            \
     553    END_BOARD_LOCK();           \
     554  } while (0)
     555
     556#define FX_grRenderBuffer(b)    \
     557  do {                          \
     558    BEGIN_BOARD_LOCK();         \
     559    grRenderBuffer(b);          \
     560    END_BOARD_LOCK();           \
     561  } while (0)
     562
     563#define FX_grBufferClear(c, a, d)       \
     564  do {                                  \
     565    BEGIN_CLIP_LOOP();                  \
     566    grBufferClear(c, a, d);             \
     567    END_CLIP_LOOP();                    \
     568  } while (0)
     569
     570#define FX_grDepthMask(m)       \
     571  do {                          \
     572    BEGIN_BOARD_LOCK();         \
     573    grDepthMask(m);             \
     574    END_BOARD_LOCK();           \
     575  } while (0)
     576
     577#define FX_grColorMask(c, a)    \
     578  do {                          \
     579    BEGIN_BOARD_LOCK();         \
     580    grColorMask(c, a);          \
     581    END_BOARD_LOCK();           \
     582  } while (0)
     583
     584extern FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer,
     585                           GrLfbWriteMode_t writeMode,
     586                           GrOriginLocation_t origin, FxBool pixelPipeline,
     587                           GrLfbInfo_t *info );
     588
     589#define FX_grLfbUnlock(t, b)    \
     590  do {                          \
     591    BEGIN_BOARD_LOCK();         \
     592    grLfbUnlock(t, b);          \
     593    END_BOARD_LOCK();           \
     594  } while (0)
     595
     596#define FX_grConstantColorValue(v)      \
     597  do {                                  \
     598    BEGIN_BOARD_LOCK();                 \
     599    grConstantColorValue(v);            \
     600    END_BOARD_LOCK();                   \
    587601  } while (0)
    588602
    589603#define FX_grConstantColorValue_NoLock grConstantColorValue
    590604
    591 #define FX_grAADrawTriangle(a, b, c, ab, bc, ca)        \
    592   do {                                                  \
    593     BEGIN_CLIP_LOOP();                                  \
    594     grAADrawTriangle(a, b, c, ab, bc, ca);              \
    595     END_CLIP_LOOP();                                    \
    596   } while (0)
    597 
    598 #define FX_grAlphaBlendFunction(rs, rd, as, ad) \
    599   do {                                          \
    600     BEGIN_BOARD_LOCK();                         \
    601     grAlphaBlendFunction(rs, rd, as, ad);       \
    602     END_BOARD_LOCK();                           \
    603   } while (0)
    604 
    605 #define FX_grAlphaCombine(func, fact, loc, oth, inv)    \
    606   do {                                                  \
    607     BEGIN_BOARD_LOCK();                                 \
    608     grAlphaCombine(func, fact, loc, oth, inv);          \
    609     END_BOARD_LOCK();                                   \
     605#define FX_grAADrawTriangle(a, b, c, ab, bc, ca)        \
     606  do {                                                  \
     607    BEGIN_CLIP_LOOP();                                  \
     608    grAADrawTriangle(a, b, c, ab, bc, ca);              \
     609    END_CLIP_LOOP();                                    \
     610  } while (0)
     611
     612#define FX_grAlphaBlendFunction(rs, rd, as, ad) \
     613  do {                                          \
     614    BEGIN_BOARD_LOCK();                         \
     615    grAlphaBlendFunction(rs, rd, as, ad);       \
     616    END_BOARD_LOCK();                           \
     617  } while (0)
     618
     619#define FX_grAlphaCombine(func, fact, loc, oth, inv)    \
     620  do {                                                  \
     621    BEGIN_BOARD_LOCK();                                 \
     622    grAlphaCombine(func, fact, loc, oth, inv);          \
     623    END_BOARD_LOCK();                                   \
    610624  } while (0)
    611625
    612626#define FX_grAlphaCombine_NoLock grAlphaCombine
    613627
    614 #define FX_grAlphaTestFunction(f)       \
    615   do {                                  \
    616     BEGIN_BOARD_LOCK();                 \
    617     grAlphaTestFunction(f);             \
    618     END_BOARD_LOCK();                   \
    619   } while (0)
    620 
    621 #define FX_grAlphaTestReferenceValue(v) \
    622   do {                                  \
    623     BEGIN_BOARD_LOCK();                 \
    624     grAlphaTestReferenceValue(v);       \
    625     END_BOARD_LOCK();                   \
    626   } while (0)
    627 
    628 #define FX_grClipWindow(minx, miny, maxx, maxy) \
    629   do {                                          \
    630     BEGIN_BOARD_LOCK();                         \
    631     grClipWindow(minx, miny, maxx, maxy);       \
    632     END_BOARD_LOCK();                           \
     628#define FX_grAlphaTestFunction(f)       \
     629  do {                                  \
     630    BEGIN_BOARD_LOCK();                 \
     631    grAlphaTestFunction(f);             \
     632    END_BOARD_LOCK();                   \
     633  } while (0)
     634
     635#define FX_grAlphaTestReferenceValue(v) \
     636  do {                                  \
     637    BEGIN_BOARD_LOCK();                 \
     638    grAlphaTestReferenceValue(v);       \
     639    END_BOARD_LOCK();                   \
     640  } while (0)
     641
     642#define FX_grClipWindow(minx, miny, maxx, maxy) \
     643  do {                                          \
     644    BEGIN_BOARD_LOCK();                         \
     645    grClipWindow(minx, miny, maxx, maxy);       \
     646    END_BOARD_LOCK();                           \
    633647  } while (0)
    634648
    635649#define FX_grClipWindow_NoLock grClipWindow
    636650
    637 #define FX_grColorCombine(func, fact, loc, oth, inv)    \
    638   do {                                                  \
    639     BEGIN_BOARD_LOCK();                                 \
    640     grColorCombine(func, fact, loc, oth, inv);          \
    641     END_BOARD_LOCK();                                   \
     651#define FX_grColorCombine(func, fact, loc, oth, inv)    \
     652  do {                                                  \
     653    BEGIN_BOARD_LOCK();                                 \
     654    grColorCombine(func, fact, loc, oth, inv);          \
     655    END_BOARD_LOCK();                                   \
    642656  } while (0)
    643657
    644658#define FX_grColorCombine_NoLock grColorCombine
    645659
    646 #define FX_grCullMode(m)        \
    647   do {                          \
    648     BEGIN_BOARD_LOCK();         \
    649     grCullMode(m);              \
    650     END_BOARD_LOCK();           \
    651   } while (0)
    652 
    653 #define FX_grDepthBiasLevel(lev)        \
    654   do {                                  \
    655     BEGIN_BOARD_LOCK();                 \
    656     grDepthBiasLevel(lev);              \
    657     END_BOARD_LOCK();                   \
    658   } while (0)
    659 
    660 #define FX_grDepthBufferFunction(func)  \
    661   do {                                  \
    662     BEGIN_BOARD_LOCK();                 \
    663     grDepthBufferFunction(func);        \
    664     END_BOARD_LOCK();                   \
    665   } while (0)
    666 
    667 #define FX_grFogColorValue(c)           \
    668   do {                                  \
    669     BEGIN_BOARD_LOCK();                 \
    670     grFogColorValue(c);                 \
    671     END_BOARD_LOCK();                   \
    672   } while (0)
    673 
    674 #define FX_grFogMode(m) \
    675   do {                  \
     660#define FX_grCullMode(m)        \
     661  do {                          \
     662    BEGIN_BOARD_LOCK();         \
     663    grCullMode(m);              \
     664    END_BOARD_LOCK();           \
     665  } while (0)
     666
     667#define FX_grDepthBiasLevel(lev)        \
     668  do {                                  \
     669    BEGIN_BOARD_LOCK();                 \
     670    grDepthBiasLevel(lev);              \
     671    END_BOARD_LOCK();                   \
     672  } while (0)
     673
     674#define FX_grDepthBufferFunction(func)  \
     675  do {                                  \
     676    BEGIN_BOARD_LOCK();                 \
     677    grDepthBufferFunction(func);        \
     678    END_BOARD_LOCK();                   \
     679  } while (0)
     680
     681#define FX_grFogColorValue(c)           \
     682  do {                                  \
     683    BEGIN_BOARD_LOCK();                 \
     684    grFogColorValue(c);                 \
     685    END_BOARD_LOCK();                   \
     686  } while (0)
     687
     688#define FX_grFogMode(m) \
     689  do {                  \
    676690    BEGIN_BOARD_LOCK(); \
    677     grFogMode(m);       \
    678     END_BOARD_LOCK();   \
    679   } while (0)
    680 
    681 #define FX_grFogTable(t)        \
    682   do {                          \
    683     BEGIN_BOARD_LOCK();         \
    684     grFogTable(t);              \
    685     END_BOARD_LOCK();           \
    686   } while (0)
    687 
    688 #define FX_grTexClampMode(t, sc, tc)    \
    689   do {                                  \
    690     BEGIN_BOARD_LOCK();                 \
    691     grTexClampMode(t, sc, tc);          \
    692     END_BOARD_LOCK();                   \
     691    grFogMode(m);       \
     692    END_BOARD_LOCK();   \
     693  } while (0)
     694
     695#define FX_grFogTable(t)        \
     696  do {                          \
     697    BEGIN_BOARD_LOCK();         \
     698    grFogTable(t);              \
     699    END_BOARD_LOCK();           \
     700  } while (0)
     701
     702#define FX_grTexClampMode(t, sc, tc)    \
     703  do {                                  \
     704    BEGIN_BOARD_LOCK();                 \
     705    grTexClampMode(t, sc, tc);          \
     706    END_BOARD_LOCK();                   \
    693707  } while (0)
    694708
    695709#define FX_grTexClampMode_NoLock grTexClampMode
    696710
    697 #define FX_grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv)      \
    698   do {                                                                  \
    699     BEGIN_BOARD_LOCK();                                                 \
    700     grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv);            \
    701     END_BOARD_LOCK();                                                   \
     711#define FX_grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv)      \
     712  do {                                                                  \
     713    BEGIN_BOARD_LOCK();                                                 \
     714    grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv);            \
     715    END_BOARD_LOCK();                                                   \
    702716  } while (0)
    703717
    704718#define FX_grTexCombine_NoLock grTexCombine
    705719
    706 #define FX_grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d)    \
    707   do {                                                                  \
    708     BEGIN_BOARD_LOCK();                                                 \
    709     grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d);          \
    710     END_BOARD_LOCK();                                                   \
     720#define FX_grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d)    \
     721  do {                                                                  \
     722    BEGIN_BOARD_LOCK();                                                 \
     723    grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d);          \
     724    END_BOARD_LOCK();                                                   \
    711725  } while (0)
    712726
    713727#define FX_grTexDownloadMipMapLevel_NoLock grTexDownloadMipMapLevel
    714728
    715 #define FX_grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e);      \
    716   do {                                                                      \
    717     BEGIN_BOARD_LOCK();                                                     \
     729#define FX_grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e);      \
     730  do {                                                                      \
     731    BEGIN_BOARD_LOCK();                                                     \
    718732    grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e); \
    719     END_BOARD_LOCK();                                                       \
    720   } while (0)
    721 
    722 #define FX_grTexFilterMode(t, minf, magf)       \
    723   do {                                          \
    724     BEGIN_BOARD_LOCK();                         \
    725     grTexFilterMode(t, minf, magf);             \
    726     END_BOARD_LOCK();                           \
     733    END_BOARD_LOCK();                                                       \
     734  } while (0)
     735
     736#define FX_grTexFilterMode(t, minf, magf)       \
     737  do {                                          \
     738    BEGIN_BOARD_LOCK();                         \
     739    grTexFilterMode(t, minf, magf);             \
     740    END_BOARD_LOCK();                           \
    727741  } while (0)
    728742
     
    732746extern FxU32 FX_grTexMaxAddress(GrChipID_t tmu);
    733747
    734 #define FX_grTexMipMapMode(t, m, lod)   \
    735   do {                                  \
    736     BEGIN_BOARD_LOCK();                 \
    737     grTexMipMapMode(t, m, lod);         \
    738     END_BOARD_LOCK();                   \
     748#define FX_grTexMipMapMode(t, m, lod)   \
     749  do {                                  \
     750    BEGIN_BOARD_LOCK();                 \
     751    grTexMipMapMode(t, m, lod);         \
     752    END_BOARD_LOCK();                   \
    739753  } while (0)
    740754
    741755#define FX_grTexMipMapMode_NoLock grTexMipMapMode
    742756
    743 #define FX_grTexSource(t, sa, eo, i)    \
    744   do {                                  \
    745     BEGIN_BOARD_LOCK();                 \
    746     grTexSource(t, sa, eo, i);          \
    747     END_BOARD_LOCK();                   \
     757#define FX_grTexSource(t, sa, eo, i)    \
     758  do {                                  \
     759    BEGIN_BOARD_LOCK();                 \
     760    grTexSource(t, sa, eo, i);          \
     761    END_BOARD_LOCK();                   \
    748762  } while (0)
    749763
     
    753767#define FX_grTexTextureMemRequired_NoLock grTexTextureMemRequired
    754768
    755 #define FX_grGlideGetState(s)   \
    756   do {                          \
    757     BEGIN_BOARD_LOCK();         \
    758     grGlideGetState(s);         \
    759     END_BOARD_LOCK();           \
    760   } while (0)
    761 
    762 #define FX_grDRIBufferSwap(i)   \
    763   do {                          \
    764     BEGIN_BOARD_LOCK();         \
    765     grDRIBufferSwap(i);         \
    766     END_BOARD_LOCK();           \
    767   } while (0)
    768 
    769 #define FX_grSstSelect(b)       \
    770   do {                          \
    771     BEGIN_BOARD_LOCK();         \
    772     grSstSelect(b);             \
    773     END_BOARD_LOCK();           \
     769#define FX_grGlideGetState(s)   \
     770  do {                          \
     771    BEGIN_BOARD_LOCK();         \
     772    grGlideGetState(s);         \
     773    END_BOARD_LOCK();           \
     774  } while (0)
     775#define FX_grGlideGetState_NoLock(s) grGlideGetState(s);
     776
     777#define FX_grDRIBufferSwap(i)   \
     778  do {                          \
     779    BEGIN_BOARD_LOCK();         \
     780    grDRIBufferSwap(i);         \
     781    END_BOARD_LOCK();           \
     782  } while (0)
     783
     784#define FX_grSstSelect(b)       \
     785  do {                          \
     786    BEGIN_BOARD_LOCK();         \
     787    grSstSelect(b);             \
     788    END_BOARD_LOCK();           \
    774789  } while (0)
    775790
    776791#define FX_grSstSelect_NoLock grSstSelect
    777792
    778 #define FX_grGlideSetState(s)   \
    779   do {                          \
    780     BEGIN_BOARD_LOCK();         \
    781     grGlideSetState(s);         \
    782     END_BOARD_LOCK();           \
    783   } while (0)
    784 
    785 #define FX_grDepthBufferMode(m) \
    786   do {                          \
    787     BEGIN_BOARD_LOCK();         \
    788     grDepthBufferMode(m);       \
    789     END_BOARD_LOCK();           \
    790   } while (0)
    791 
    792 #define FX_grLfbWriteColorFormat(f)     \
    793   do {                                  \
    794     BEGIN_BOARD_LOCK();                 \
    795     grLfbWriteColorFormat(f);           \
    796     END_BOARD_LOCK();                   \
    797   } while (0)
    798 
    799 #define FX_grDrawVertexArray(m, c, p)   \
    800   do {                                  \
    801     BEGIN_CLIP_LOOP();                  \
    802     grDrawVertexArray(m, c, p);         \
    803     END_CLIP_LOOP();                    \
    804   } while (0)
    805 
    806 #define FX_grGlideShutdown()            \
    807   do {                                  \
    808     BEGIN_CLIP_LOOP();                  \
    809     grGlideShutdown();                  \
    810     END_CLIP_LOOP();                    \
     793#define FX_grGlideSetState(s)   \
     794  do {                          \
     795    BEGIN_BOARD_LOCK();         \
     796    grGlideSetState(s);         \
     797    END_BOARD_LOCK();           \
     798  } while (0)
     799#define FX_grGlideSetState_NoLock(s) grGlideSetState(s);
     800
     801#define FX_grDepthBufferMode(m) \
     802  do {                          \
     803    BEGIN_BOARD_LOCK();         \
     804    grDepthBufferMode(m);       \
     805    END_BOARD_LOCK();           \
     806  } while (0)
     807
     808#define FX_grLfbWriteColorFormat(f)     \
     809  do {                                  \
     810    BEGIN_BOARD_LOCK();                 \
     811    grLfbWriteColorFormat(f);           \
     812    END_BOARD_LOCK();                   \
     813  } while (0)
     814
     815#define FX_grDrawVertexArray(m, c, p)   \
     816  do {                                  \
     817    BEGIN_CLIP_LOOP();                  \
     818    grDrawVertexArray(m, c, p);         \
     819    END_CLIP_LOOP();                    \
     820  } while (0)
     821
     822#define FX_grGlideShutdown()            \
     823  do {                                  \
     824    BEGIN_CLIP_LOOP();                  \
     825    grGlideShutdown();                  \
     826    END_CLIP_LOOP();                    \
    811827  } while (0)
    812828
Note: See TracChangeset for help on using the changeset viewer.