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/wmesa.c

    r2962 r3598  
    1 /* $Id: wmesa.c,v 1.2 2000-03-01 18:49:40 jeroen Exp $ */
     1/* $Id: wmesa.c,v 1.3 2000-05-23 20:41:05 jeroen Exp $ */
    22
    33/*
     
    2323/*
    2424 * $Log: wmesa.c,v $
    25  * Revision 1.2  2000-03-01 18:49:40  jeroen
     25 * Revision 1.3  2000-05-23 20:41:05  jeroen
     26 * *** empty log message ***
     27 *
     28 * Revision 1.2  2000/03/01 18:49:40  jeroen
    2629 * *** empty log message ***
    2730 *
     
    6770#define WMESA_STEREO_C
    6871
    69 #ifdef __WIN32OS2__
    70 #include <os2win.h>
    71 #else
    7272#include <windows.h>
    73 #endif
    7473#include <stdio.h>
    7574#include <stdlib.h>
     
    7877#include "colors.h"
    7978#include "macros.h"
    80 #include "types.h"
     79                                       /* #include "types.h"               */
    8180#include "context.h"
    8281#include "dd.h"
     
    9089#pragma warning ( disable : 4133 4761 )
    9190#else
     91#include <misc.h>
    9292#ifdef DIVE
    9393#include <mesadive.h>
     
    104104#endif
    105105
    106 #ifdef __CYGWIN32__
     106#if defined(__CYGWIN32__) || defined(__WIN32OS2__)
    107107#include "macros.h"
    108108#include <string.h>
     109#undef CopyMemory
    109110#define CopyMemory memcpy
    110111#endif
     
    134135PWMC Current = NULL;
    135136WMesaContext WC = NULL;
    136 
    137 #ifdef NDEBUG
    138 #ifndef assert
    139 #define assert(ignore)  ((void) 0)
    140 #endif
    141 #else
    142 void Mesa_Assert(void *Cond,void *File,unsigned Line)
    143 {
    144     char Msg[512];
    145     sprintf(Msg,"%s %s %d",Cond,File,Line);
    146 #ifdef __WIN32OS2__
    147     dprintf((Msg,"%s %s %d",Cond,File,Line));
    148 #endif
    149     MessageBox(NULL,Msg,"Assertion failed.",MB_OK);
    150     exit(1);
    151 }
    152 #undef assert
    153 #define assert(e)   if (!e) Mesa_Assert(#e,__FILE__,__LINE__);
    154 #endif
    155137
    156138//#define DD_GETDC (Current->hDC )
     
    227209static void wmSetPixelFormat( PWMC wc, HDC hDC)
    228210{
    229   dprintf(("OPENGL32: Setting PixelFormat\n"));
    230 
    231211#ifdef DIVE
    232212  wc->cColorBits=DiveQueryDepth();
     
    260240    }
    261241#endif
    262 
    263   dprintf(("OPENGL32: Color Bits: %d\n",wc->cColorBits));
    264242}
    265243
     
    325303    LPBITMAPINFO pbmi = &(pwc->bmi);
    326304    int     iUsage;
    327 
    328     dprintf(("OPENGL32: Creating BackingStore for %08X\n",pwc));
    329305
    330306    pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
     
    380356
    381357    for(uiScans = 0; uiScans < uiNumScans; uiScans++){
    382         memcpy(pDest, pBits, dwScanWidth);
     358        CopyMemory(pDest, pBits, dwScanWidth);
    383359        pBits += dwNextScan;
    384360        pDest += dwNewScan;
     
    474450    int     lines;
    475451
    476     dprintf(("OPENGL32: clear - all %08d - x %d - y %d - width %d - height %d\n",
    477              all,x,y,width,height));
    478 
    479452    STARTPROFILE
    480453
     
    485458        }
    486459
    487     dprintf(("OPENGL32: clear - all %08d - x %d - y %d - width %d - height %d\n",
    488              all,x,y,width,height));
    489 
    490460        if(Current->db_flag==GL_TRUE){
    491461            UINT    nBypp = Current->cColorBits / 8;
    492462            int     i = 0;
    493463            int     iSize = 0;
    494 
    495             dprintf(("OPENGL32: Clearing BackBuffer\n"));
    496464
    497465            if(nBypp ==1 ){
     
    525493
    526494            //
    527             // This is the 24bit case
     495                                       /* This is the 24bit case           */
    528496            //
    529497            if (nBypp == 3) {
     
    554522        else
    555523          {                                            /* For single buffer*/
    556             dprintf(("OPENGL32: Clearing FrontBuffer\n"));
    557 
    558524            HDC DC=DD_GETDC;
    559 
    560             dprintf(("OPENGL32: Clearing FrontBuffer DC is %08X\n",DC));
    561525
    562526            HPEN Pen=CreatePen(PS_SOLID,1,Current->clearpixel);
     
    621585}
    622586
    623 
    624 
    625 /*
    626 * Set the pixel logic operation.  Return GL_TRUE if the device driver
    627 * can perform the operation, otherwise return GL_FALSE.  If GL_FALSE
    628 * is returned, the logic op will be done in software by Mesa.
    629 */
    630 GLboolean logicop( GLcontext* ctx, GLenum op )
    631 {
    632     /* can't implement */
    633     return GL_FALSE;
    634 }
    635587
    636588
     
    806758    }
    807759    else {
    808         dprintf(("OPENGL32: READADDR: %08X - pv %d - LINE R-G-B is %d,%d,%d\n",
    809                  Current->gl_ctx->VB->ColorPtr->data[pv],
    810                  pv,
    811                  Current->gl_ctx->VB->ColorPtr->data[pv][0],
    812                  Current->gl_ctx->VB->ColorPtr->data[pv][1],
    813                  Current->gl_ctx->VB->ColorPtr->data[pv][2]));
    814 
    815760        pixel = RGB((GLubyte)(Current->gl_ctx->VB->ColorPtr->data[pv][0]/* *255.0*/),
    816761                    (GLubyte)(Current->gl_ctx->VB->ColorPtr->data[pv][1]/* *255.0*/),
    817762                    (GLubyte)(Current->gl_ctx->VB->ColorPtr->data[pv][2]/* *255.0*/));
    818 
    819         dprintf(("OPENGL32: PIXEL set to %08X",pixel));
    820763    }
    821764
     
    855798    else {
    856799       ENDPROFILE(choose_line_function)
     800//     return fast_flat_rgb_line;
    857801       return NULL;
    858802    }
     
    874818    GLuint i;
    875819    PBYTE Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
    876     assert(Current->rgb_flag==GL_FALSE);
     820    ASSERT(Current->rgb_flag==GL_FALSE);
    877821    for (i=0; i<n; i++)
    878822        if (mask[i])
     
    891835    GLuint i;
    892836    PBYTE Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
    893     assert(Current->rgb_flag==GL_FALSE);
     837    ASSERT(Current->rgb_flag==GL_FALSE);
    894838    for (i=0; i<n; i++)
    895839        if (mask[i])
     
    911855   GLuint i;
    912856   BYTE *Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
    913    assert(Current->rgb_flag==GL_FALSE);
     857   ASSERT(Current->rgb_flag==GL_FALSE);
    914858   for (i=0; i<n; i++)
    915859      if (mask[i])
     
    1022966    HDC DC=DD_GETDC;
    1023967    PWMC pwc = Current;
    1024     assert(Current->rgb_flag==GL_TRUE);
     968    ASSERT(Current->rgb_flag==GL_TRUE);
    1025969    y=FLIP(y);
    1026970
     
    1055999   STARTPROFILE
    10561000   GLuint i;
    1057    assert(Current->rgb_flag==GL_FALSE);
     1001   ASSERT(Current->rgb_flag==GL_FALSE);
    10581002   for (i=0; i<n; i++) {
    10591003      if (mask[i]) {
     
    10781022   STARTPROFILE
    10791023   GLuint i;
    1080    assert(Current->rgb_flag==GL_FALSE);
     1024   ASSERT(Current->rgb_flag==GL_FALSE);
    10811025   for (i=0; i<n; i++) {
    10821026      if (mask[i]) {
     
    11001044    PWMC    pwc = Current;
    11011045    HDC DC=DD_GETDC;
    1102     assert(Current->rgb_flag==GL_TRUE);
     1046    ASSERT(Current->rgb_flag==GL_TRUE);
    11031047
    11041048    for (i=0; i<n; i++)
     
    11251069    PWMC    pwc = Current;
    11261070    HDC DC=DD_GETDC;
    1127     assert(Current->rgb_flag==GL_TRUE);
     1071    ASSERT(Current->rgb_flag==GL_TRUE);
    11281072
    11291073    for (i=0; i<n; i++)
     
    11501094   GLuint i;
    11511095   BYTE *Mem=Current->ScreenMem+FLIP(y)*Current->ScanWidth+x;
    1152    assert(Current->rgb_flag==GL_FALSE);
     1096   ASSERT(Current->rgb_flag==GL_FALSE);
    11531097   for (i=0; i<n; i++)
    11541098      index[i]=Mem[i];
     
    11661110   STARTPROFILE
    11671111   GLuint i;
    1168    assert(Current->rgb_flag==GL_FALSE);
     1112   ASSERT(Current->rgb_flag==GL_FALSE);
    11691113   for (i=0; i<n; i++) {
    11701114      if (mask[i]) {
     
    11861130   COLORREF Color;
    11871131   HDC DC=DD_GETDC;
    1188    assert(Current->rgb_flag==GL_TRUE);
     1132   ASSERT(Current->rgb_flag==GL_TRUE);
    11891133   /*   y=FLIP(y);*/
    11901134   y = Current->height - y - 1;
     
    12121156   COLORREF Color;
    12131157   HDC DC=DD_GETDC;
    1214    assert(Current->rgb_flag==GL_TRUE);
     1158   ASSERT(Current->rgb_flag==GL_TRUE);
    12151159   for (i=0; i<n; i++) {
    12161160      if (mask[i]) {
     
    12341178
    12351179
    1236 static const char *renderer_string(void)
    1237 {
    1238    return "Windows";
     1180static const GLubyte *get_string(GLcontext *ctx, GLenum name)
     1181{
     1182   if(name == GL_RENDERER) {
     1183     return (GLubyte *)"Mesa Windows";
     1184   }
     1185   else {
     1186      return NULL;
     1187   }
    12391188}
    12401189
     
    12431192void setup_DD_pointers( GLcontext* ctx )
    12441193{
    1245     ctx->Driver.RendererString = renderer_string;
     1194    ctx->Driver.GetString = get_string;
    12461195    ctx->Driver.UpdateState = setup_DD_pointers;
    12471196    ctx->Driver.GetBufferSize = buffer_size;
     
    12581207    ctx->Driver.ColorMask = color_mask;
    12591208
    1260     ctx->Driver.LogicOp = logicop;
    12611209    ctx->Driver.Dither = dither;
    12621210
    1263     ctx->Driver.SetBuffer = set_buffer;
     1211    ctx->Driver.SetDrawBuffer = set_buffer;
    12641212    ctx->Driver.GetBufferSize = buffer_size;
    12651213
     
    12691217
    12701218    /* Pixel/span writing functions: */
    1271         ctx->Driver.WriteRGBASpan        = write_rgba_span;
     1219    ctx->Driver.WriteRGBASpan        = write_rgba_span;
    12721220    ctx->Driver.WriteRGBSpan         = write_rgb_span;
    12731221    ctx->Driver.WriteMonoRGBASpan    = write_mono_rgba_span;
     
    13531301}
    13541302
     1303#ifdef DIVE
    13551304void WMesaUpdateScreenPos(PWMC c,HWND hWnd)
    13561305{
     
    13641313  c->width=CR.right-CR.left-2*GetSystemMetrics(SM_CXFRAME);
    13651314  c->height=CR.bottom-CR.top-GetSystemMetrics(SM_CYCAPTION)-2*GetSystemMetrics(SM_CYFRAME);
    1366 
    1367   dprintf(("OPENGL32: WMesaUpdateScreenPos %08X - x/y %d/%d, w/h %d/%d\n",
    1368            hWnd,
    1369            c->WinPos.x,
    1370            c->WinPos.y,
    1371            c->width,
    1372            c->height));
    1373 }
    1374 
    1375 WMesaContext WIN32API WMesaCreateContext( HWND hWnd, HPALETTE* Pal,
     1315}
     1316#endif
     1317
     1318WMesaContext GLAPIENTRY WMesaCreateContext( HWND hWnd, HPALETTE* Pal,
    13761319                                GLboolean rgb_flag,
    13771320                                GLboolean db_flag )
     
    13821325    c = (struct wmesa_context * ) calloc(1,sizeof(struct wmesa_context));
    13831326
    1384     dprintf(("OPENGL32: Creating MESA Context (%s)\n",
    1385              db_flag?"DOUBLE BUFFERED":"SINGLE_BUFFERED"));
    1386 
    13871327    if (!c)
    13881328        return NULL;
     
    14071347    c->dither_flag = GL_FALSE;
    14081348#endif
    1409 
    1410     dprintf(("OPENGL32: WMesaCreateContext - db_flag is %d\n",db_flag));
    14111349
    14121350    if (rgb_flag==GL_FALSE)
     
    14151353#ifndef DIVE
    14161354        c->db_flag = db_flag =GL_TRUE;    /* WinG requires double buffering*/
    1417 
    1418         dprintf(("OPENGL32: Single buffer is not supported in color index mode, setting to double buffer.\n"));
    14191355#endif
    14201356    }
     
    14611397    /* Store window position for DIVE draws - all x/y's are relative to this */
    14621398    /* base position of the screen...                                        */
    1463     dprintf(("OPENGL32: Creating context (%08X)\n",c));
    1464 
    14651399    WMesaUpdateScreenPos(c,hWnd);
    14661400
     
    14701404          free( (void *) c );
    14711405          Current=0;
    1472           dprintf(("OPENGL32: DIVEINIT failed - exiting!\n"));
    14731406          MessageBoxA( hWnd, "Dive Init FAILED", "", MB_OK );
    1474           exit(1);
     1407          EXIT(1);
    14751408        }
    14761409#else
     
    14781411    if (DDInit(c,hWnd) == GL_FALSE) {
    14791412        free( (void *) c );
    1480         dprintf(("OPENGL32: DIVEINIT failed - exiting!\n"));
    1481         exit(1);
     1413        EXIT(1);
    14821414    }
    14831415#endif
     
    15091441    }
    15101442
    1511     c->gl_buffer = gl_create_framebuffer( c->gl_visual );
     1443    c->gl_buffer = gl_create_framebuffer( c->gl_visual,
     1444                                          c->gl_visual->DepthBits > 0,
     1445                                          c->gl_visual->StencilBits > 0,
     1446                                          c->gl_visual->AccumBits > 0,
     1447                                          c->gl_visual->AlphaBits > 0);
    15121448
    15131449    if (!c->gl_buffer) {
     
    15221458                                       /* setup_DD_pointers(c->gl_ctx);    */
    15231459
    1524     dprintf(("OPENGL32: Created context %08X - (%s)\n",c,c->db_flag?"DOUBLE":"SINGLE"));
    1525 
    15261460    return c;
    15271461}
    15281462
    1529 void WIN32API WMesaDestroyContext( void )
     1463void GLAPIENTRY WMesaDestroyContext( void )
    15301464{
    15311465    WMesaContext c = Current;
     
    15751509}
    15761510
    1577 void WIN32API WMesaMakeCurrent( WMesaContext c )
    1578 {
    1579   dprintf(("OPENGL32: WMesaMakeCurrent %08X\n",c));
    1580 
     1511void GLAPIENTRY WMesaMakeCurrent( WMesaContext c )
     1512{
    15811513    if(!c){
    15821514        Current = c;
     
    16081540
    16091541
    1610 void WIN32API WMesaSwapBuffers( void )
    1611 {
     1542void GLAPIENTRY WMesaSwapBuffers( void )
     1543{
     1544
    16121545    HDC DC = Current->hDC;
    1613 
    1614     dprintf(("OPENGL32: WMesaSwapBuffers() - Current %08X (%s)\n",
    1615              Current,Current->db_flag?"DOUBLE":"SINGLE"));
    16161546
    16171547    if (Current->db_flag)
     
    16211551
    16221552
    1623 void WIN32API WMesaPaletteChange(HPALETTE Pal)
     1553void GLAPIENTRY WMesaPaletteChange(HPALETTE Pal)
    16241554{
    16251555    int vRet;
    16261556    LPPALETTEENTRY pPal;
    16271557    ULONG rc;
    1628 
    1629     dprintf(("OPENGL32: WMesaPaletteChange - Pal %08X",Pal));
    16301558
    16311559    if (Current && (Current->rgb_flag==GL_FALSE || Current->dither_flag == GL_TRUE))
     
    16411569                                (PBYTE)pPal);
    16421570*/
    1643         dprintf(("OPENGL32: DiveSetupSourcePalette rc %d\n",rc));
    16441571#else
    16451572#ifdef DDRAW
     
    17961723        {
    17971724          /* We're using a buffered context - write to the backbuffer */
    1798           DiveWriteBackbuffer(pwc,iScanLine,iPixel,r,g,b);
     1725          DiveWriteBackbuffer(/*pwc*/Current,iScanLine,iPixel,r,g,b);
    17991726        }
    18001727      else
     
    18021729          /* We're using a non-buffered context - write to the video mem! */
    18031730          /* TODO: What about cards that do not support direct access??   */
    1804           DiveWriteFrontbuffer(pwc,iScanLine,iPixel,r,g,b);
     1731          DiveWriteFrontbuffer(/*pwc*/Current,iScanLine,iPixel,r,g,b);
    18051732        }
    18061733    }
     
    18231750    UINT    nBypp = pwc->cColorBits / 8;
    18241751    HDC     hic;
    1825 
    1826     dprintf(("OPENGL32: wmCreateDIBSection - HDC is %08X",hDC));
    18271752
    18281753    dwScanWidth = (((pwc->ScanWidth * nBypp)+ 3) & ~3);
     
    19221847#ifdef DIVE
    19231848       if(DiveDirectAccess())
    1924          DiveFlush(pwc);
     1849         {
     1850           DiveFlush(pwc);
     1851         }
    19251852       else
    19261853         bRet = BitBlt(pwc->hDC, 0, 0, pwc->width, pwc->height,
     
    22132140    }
    22142141    if(wc->db_flag == GL_FALSE)
    2215         wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, wc->hDC);
     2142        wc->lpDDSPrimary->lpVtbl->GetDC(wc->lpDDSPrimary, &wc->hDC);
    22162143    return TRUE;
    22172144}
     
    22212148    POINT   pt;
    22222149    HRESULT     ddrval;
     2150
    22232151    if(wc->lpDD == NULL)
    22242152        return FALSE;
     
    22372165    while (wc->lpDDSOffScreen->lpVtbl->Lock(wc->lpDDSOffScreen,NULL, &(wc->ddsd), 0, NULL) == DDERR_WASSTILLDRAWING)
    22382166        ;
    2239     //  while ((ddrval = wc->lpDDSOffScreen->lpVtbl->Lock(wc->lpDDSOffScreen,NULL, &(wc->ddsd), DDLOCK_SURFACEMEMORYPTR , NULL)) != DD_OK)
     2167/* while ((ddrval = wc->lpDDSOffScreen->lpVtbl->Lock(wc->lpDDSOffScreen,NULL, &(wc->ddsd), DDLOCK_SURFACEMEMORYPTR , NULL)) != DD_OK)*/
    22402168    ;
    22412169    if(wc->ddsd.lpSurface==NULL)
     
    22442172    wc->ScreenMem = wc->pbPixels = wc->addrOffScreen = (PBYTE)(wc->ddsd.lpSurface);
    22452173    wc->ScanWidth = wc->pitch = wc->ddsd.lPitch;
     2174
    22462175    if (stereo_flag)
    22472176        wc->ScanWidth = wc->ddsd.lPitch*2;
     
    23382267        return DDCreateOffScreen(wc);
    23392268
    2340    return 0; /* Eliminate compiler warning */
     2269   return TRUE;
    23412270}                                                                 /* DDInit*/
    23422271
     
    23892318    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    23902319#define INTERP_Z 1
     2320#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    23912321#define INTERP_RGB 1
    23922322#define PIXEL_ADDRESS(X,Y) PIXELADDR4(X,Y)
     
    24312361    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    24322362#define INTERP_Z 1
     2363#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    24332364#define INTERP_RGB 1
    24342365#define PIXEL_ADDRESS(X,Y) PIXELADDR4(X,Y)
     
    24732404    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    24742405#define INTERP_Z 1
     2406#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    24752407#define INTERP_RGB 1
    24762408#define PIXEL_ADDRESS(X,Y) PIXELADDR2(X,Y)
     
    25122444    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    25132445#define INTERP_Z 1
     2446#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    25142447#define PIXEL_ADDRESS(X,Y) PIXELADDR4(X,Y)
    25152448#define PIXEL_TYPE GLuint
     
    25522485    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    25532486#define INTERP_Z 1
     2487#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    25542488#define PIXEL_ADDRESS(X,Y) PIXELADDR4(X,Y)
    25552489#define PIXEL_TYPE GLuint
     
    25922526    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    25932527#define INTERP_Z 1
     2528#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    25942529#define PIXEL_ADDRESS(X,Y) PIXELADDR2(X,Y)
    25952530#define PIXEL_TYPE GLushort
     
    28452780    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    28462781#define INTERP_Z 1
     2782#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    28472783#define INTERP_INDEX 1
    28482784#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
     
    28842820    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    28852821#define INTERP_Z 1
     2822#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    28862823#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
    28872824#define PIXEL_TYPE GLubyte
     
    29252862    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    29262863#define INTERP_Z 1
     2864#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    29272865#define INTERP_INDEX 1
    29282866#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
     
    29592897    WMesaContext wmesa = (WMesaContext) ctx->DriverCtx;
    29602898#define INTERP_Z 1
     2899#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    29612900#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
    29622901#define PIXEL_TYPE GLubyte
     
    29952934    DITHER_RGB_TO_8BIT_SETUP
    29962935#define INTERP_Z 1
     2936#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    29972937#define INTERP_RGB 1
    29982938#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
     
    30352975    DITHER_RGB_TO_8BIT_SETUP
    30362976#define INTERP_Z 1
     2977#define DEPTH_TYPE DEFAULT_SOFTWARE_DEPTH_TYPE
    30372978#define PIXEL_ADDRESS(X,Y) PIXELADDR1(X,Y)
    30382979#define PIXEL_TYPE GLubyte
Note: See TracChangeset for help on using the changeset viewer.