VirtualBox

Changeset 15758 in vbox


Ignore:
Timestamp:
Dec 25, 2008 3:55:38 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
41326
Message:

crOpenGL: tabs to spaces

Location:
trunk/src/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/crOpenGL/pack/packspu_context.c

    r15532 r15758  
    2323ThreadInfo *packspuNewThread( unsigned long id )
    2424{
    25         ThreadInfo *thread;
    26 
    27 #ifdef CHROMIUM_THREADSAFE
    28         crLockMutex(&_PackMutex);
     25    ThreadInfo *thread;
     26
     27#ifdef CHROMIUM_THREADSAFE
     28    crLockMutex(&_PackMutex);
    2929#else
    30         CRASSERT(pack_spu.numThreads == 0);
    31 #endif
    32 
    33         CRASSERT(pack_spu.numThreads < MAX_THREADS);
    34         thread = &(pack_spu.thread[pack_spu.numThreads]);
    35 
    36         thread->id = id;
    37         thread->currentContext = NULL;
    38 
    39         /* connect to the server */
    40         thread->netServer.name = crStrdup( pack_spu.name );
    41         thread->netServer.buffer_size = pack_spu.buffer_size;
    42         if (pack_spu.numThreads == 0) {
    43                 packspuConnectToServer( &(thread->netServer) );
    44                 if (!thread->netServer.conn) {
    45                         return NULL;
    46                 }
    47                 pack_spu.swap = thread->netServer.conn->swap;
    48         }
    49         else {
    50                 /* a new pthread */
    51                 crNetNewClient( pack_spu.thread[0].netServer.conn, &(thread->netServer));
    52                 CRASSERT(thread->netServer.conn);
    53         }
    54 
    55         /* packer setup */
    56         CRASSERT(thread->packer == NULL);
    57         thread->packer = crPackNewContext( pack_spu.swap );
    58         CRASSERT(thread->packer);
    59         crPackInitBuffer( &(thread->buffer), crNetAlloc(thread->netServer.conn),
    60                                 thread->netServer.conn->buffer_size, thread->netServer.conn->mtu );
    61         thread->buffer.canBarf = thread->netServer.conn->Barf ? GL_TRUE : GL_FALSE;
    62         crPackSetBuffer( thread->packer, &thread->buffer );
    63         crPackFlushFunc( thread->packer, packspuFlush );
    64         crPackFlushArg( thread->packer, (void *) thread );
    65         crPackSendHugeFunc( thread->packer, packspuHuge );
    66         crPackSetContext( thread->packer );
    67 
    68 #ifdef CHROMIUM_THREADSAFE
    69         crSetTSD(&_PackTSD, thread);
    70 #endif
    71 
    72         pack_spu.numThreads++;
    73 
    74 #ifdef CHROMIUM_THREADSAFE
    75         crUnlockMutex(&_PackMutex);
    76 #endif
    77         return thread;
     30    CRASSERT(pack_spu.numThreads == 0);
     31#endif
     32
     33    CRASSERT(pack_spu.numThreads < MAX_THREADS);
     34    thread = &(pack_spu.thread[pack_spu.numThreads]);
     35
     36    thread->id = id;
     37    thread->currentContext = NULL;
     38
     39    /* connect to the server */
     40    thread->netServer.name = crStrdup( pack_spu.name );
     41    thread->netServer.buffer_size = pack_spu.buffer_size;
     42    if (pack_spu.numThreads == 0) {
     43        packspuConnectToServer( &(thread->netServer) );
     44        if (!thread->netServer.conn) {
     45            return NULL;
     46        }
     47        pack_spu.swap = thread->netServer.conn->swap;
     48    }
     49    else {
     50        /* a new pthread */
     51        crNetNewClient(pack_spu.thread[0].netServer.conn, &(thread->netServer));
     52        CRASSERT(thread->netServer.conn);
     53    }
     54
     55    /* packer setup */
     56    CRASSERT(thread->packer == NULL);
     57    thread->packer = crPackNewContext( pack_spu.swap );
     58    CRASSERT(thread->packer);
     59    crPackInitBuffer( &(thread->buffer), crNetAlloc(thread->netServer.conn),
     60                thread->netServer.conn->buffer_size, thread->netServer.conn->mtu );
     61    thread->buffer.canBarf = thread->netServer.conn->Barf ? GL_TRUE : GL_FALSE;
     62    crPackSetBuffer( thread->packer, &thread->buffer );
     63    crPackFlushFunc( thread->packer, packspuFlush );
     64    crPackFlushArg( thread->packer, (void *) thread );
     65    crPackSendHugeFunc( thread->packer, packspuHuge );
     66    crPackSetContext( thread->packer );
     67
     68#ifdef CHROMIUM_THREADSAFE
     69    crSetTSD(&_PackTSD, thread);
     70#endif
     71
     72    pack_spu.numThreads++;
     73
     74#ifdef CHROMIUM_THREADSAFE
     75    crUnlockMutex(&_PackMutex);
     76#endif
     77    return thread;
    7878}
    7979
     
    8282packspu_CreateContext( const char *dpyName, GLint visual, GLint shareCtx )
    8383{
    84         int writeback = 1;
    85         GLint serverCtx = (GLint) -1;
    86         int slot;
    87 
    88 #ifdef CHROMIUM_THREADSAFE
    89         crLockMutex(&_PackMutex);
    90 #endif
    91 
    92         if (shareCtx > 0) {
    93                 /* translate to server ctx id */
    94                 shareCtx -= MAGIC_OFFSET;
    95                 if (shareCtx >= 0 && shareCtx < pack_spu.numContexts) {
    96                         shareCtx = pack_spu.context[shareCtx].serverCtx;
    97                 }
    98         }
    99 
    100         crPackSetContext( pack_spu.thread[0].packer );
    101 
    102         /* Pack the command */
    103         if (pack_spu.swap)
    104                 crPackCreateContextSWAP( dpyName, visual, shareCtx, &serverCtx, &writeback );
    105         else
    106                 crPackCreateContext( dpyName, visual, shareCtx, &serverCtx, &writeback );
    107 
    108         /* Flush buffer and get return value */
    109         packspuFlush( &(pack_spu.thread[0]) );
    110         if (!(pack_spu.thread[0].netServer.conn->actual_network))
    111         {
    112                 /* HUMUNGOUS HACK TO MATCH SERVER NUMBERING
    113                 *
    114                 * The hack exists solely to make file networking work for now.  This
    115                 * is totally gross, but since the server expects the numbers to start
    116                 * from 5000, we need to write them out this way.  This would be
    117                 * marginally less gross if the numbers (500 and 5000) were maybe
    118                 * some sort of #define'd constants somewhere so the client and the
    119                 * server could be aware of how each other were numbering things in
    120                 * cases like file networking where they actually
    121                 * care.
    122                 *
    123                  *      -Humper
    124                 *
    125                 */
    126                 serverCtx = 5000;
    127         }
    128         else {
    129                 while (writeback)
    130                         crNetRecv();
    131 
    132                 if (pack_spu.swap) {
    133                         serverCtx = (GLint) SWAP32(serverCtx);
    134                 }
    135                 if (serverCtx < 0) {
    136 #ifdef CHROMIUM_THREADSAFE
    137                         crUnlockMutex(&_PackMutex);
    138 #endif
    139                         crWarning("Failure in packspu_CreateContext");
    140                         return -1;  /* failed */
    141                 }
    142         }
    143 
    144         /* find an empty context slot */
    145         for (slot = 0; slot < pack_spu.numContexts; slot++) {
    146                 if (!pack_spu.context[slot].clientState) {
    147                         /* found empty slot */
    148                         break;
    149                 }
    150         }
    151         if (slot == pack_spu.numContexts) {
    152                 pack_spu.numContexts++;
    153         }
    154 
    155         /* Fill in the new context info */
    156         /* XXX fix-up sharedCtx param here */
    157         pack_spu.context[slot].clientState = crStateCreateContext(NULL, visual, NULL);
    158         pack_spu.context[slot].serverCtx = serverCtx;
    159 
    160 #ifdef CHROMIUM_THREADSAFE
    161         crUnlockMutex(&_PackMutex);
    162 #endif
    163 
    164         return MAGIC_OFFSET + slot;
     84    int writeback = 1;
     85    GLint serverCtx = (GLint) -1;
     86    int slot;
     87
     88#ifdef CHROMIUM_THREADSAFE
     89    crLockMutex(&_PackMutex);
     90#endif
     91
     92    if (shareCtx > 0) {
     93        /* translate to server ctx id */
     94        shareCtx -= MAGIC_OFFSET;
     95        if (shareCtx >= 0 && shareCtx < pack_spu.numContexts) {
     96            shareCtx = pack_spu.context[shareCtx].serverCtx;
     97        }
     98    }
     99
     100    crPackSetContext( pack_spu.thread[0].packer );
     101
     102    /* Pack the command */
     103    if (pack_spu.swap)
     104        crPackCreateContextSWAP( dpyName, visual, shareCtx, &serverCtx, &writeback );
     105    else
     106        crPackCreateContext( dpyName, visual, shareCtx, &serverCtx, &writeback );
     107
     108    /* Flush buffer and get return value */
     109    packspuFlush( &(pack_spu.thread[0]) );
     110    if (!(pack_spu.thread[0].netServer.conn->actual_network))
     111    {
     112        /* HUMUNGOUS HACK TO MATCH SERVER NUMBERING
     113        *
     114        * The hack exists solely to make file networking work for now.  This
     115        * is totally gross, but since the server expects the numbers to start
     116        * from 5000, we need to write them out this way.  This would be
     117        * marginally less gross if the numbers (500 and 5000) were maybe
     118        * some sort of #define'd constants somewhere so the client and the
     119        * server could be aware of how each other were numbering things in
     120        * cases like file networking where they actually
     121        * care.
     122        *
     123         *  -Humper
     124        *
     125        */
     126        serverCtx = 5000;
     127    }
     128    else {
     129        while (writeback)
     130            crNetRecv();
     131
     132        if (pack_spu.swap) {
     133            serverCtx = (GLint) SWAP32(serverCtx);
     134        }
     135        if (serverCtx < 0) {
     136#ifdef CHROMIUM_THREADSAFE
     137            crUnlockMutex(&_PackMutex);
     138#endif
     139            crWarning("Failure in packspu_CreateContext");
     140            return -1;  /* failed */
     141        }
     142    }
     143
     144    /* find an empty context slot */
     145    for (slot = 0; slot < pack_spu.numContexts; slot++) {
     146        if (!pack_spu.context[slot].clientState) {
     147            /* found empty slot */
     148            break;
     149        }
     150    }
     151    if (slot == pack_spu.numContexts) {
     152        pack_spu.numContexts++;
     153    }
     154
     155    /* Fill in the new context info */
     156    /* XXX fix-up sharedCtx param here */
     157    pack_spu.context[slot].clientState = crStateCreateContext(NULL, visual, NULL);
     158    pack_spu.context[slot].serverCtx = serverCtx;
     159
     160#ifdef CHROMIUM_THREADSAFE
     161    crUnlockMutex(&_PackMutex);
     162#endif
     163
     164    return MAGIC_OFFSET + slot;
    165165}
    166166
     
    168168void PACKSPU_APIENTRY packspu_DestroyContext( GLint ctx )
    169169{
    170         const int slot = ctx - MAGIC_OFFSET;
    171         ContextInfo *context;
    172         GET_THREAD(thread);
    173 
    174         CRASSERT(slot >= 0);
    175         CRASSERT(slot < pack_spu.numContexts);
    176         CRASSERT(thread);
    177 
    178         context = &(pack_spu.context[slot]);
    179 
    180         if (pack_spu.swap)
    181                 crPackDestroyContextSWAP( context->serverCtx );
    182         else
    183                 crPackDestroyContext( context->serverCtx );
    184 
    185         crStateDestroyContext( context->clientState );
    186 
    187         context->clientState = NULL;
    188         context->serverCtx = 0;
    189 
    190         if (thread->currentContext == context) {
    191                 thread->currentContext = NULL;
    192                 crStateMakeCurrent( NULL );
    193         }
     170    const int slot = ctx - MAGIC_OFFSET;
     171    ContextInfo *context;
     172    GET_THREAD(thread);
     173
     174    CRASSERT(slot >= 0);
     175    CRASSERT(slot < pack_spu.numContexts);
     176    CRASSERT(thread);
     177
     178    context = &(pack_spu.context[slot]);
     179
     180    if (pack_spu.swap)
     181        crPackDestroyContextSWAP( context->serverCtx );
     182    else
     183        crPackDestroyContext( context->serverCtx );
     184
     185    crStateDestroyContext( context->clientState );
     186
     187    context->clientState = NULL;
     188    context->serverCtx = 0;
     189
     190    if (thread->currentContext == context) {
     191        thread->currentContext = NULL;
     192        crStateMakeCurrent( NULL );
     193    }
    194194}
    195195
     
    197197void PACKSPU_APIENTRY packspu_MakeCurrent( GLint window, GLint nativeWindow, GLint ctx )
    198198{
    199         GET_THREAD(thread);
    200         GLint serverCtx;
    201         ContextInfo *newCtx;
    202 
    203         if (!thread) {
    204                 thread = packspuNewThread( crThreadID() );
    205         }
    206         CRASSERT(thread);
    207         CRASSERT(thread->packer);
    208 
    209         if (ctx) {
    210                 const int slot = ctx - MAGIC_OFFSET;
    211 
    212                 CRASSERT(slot >= 0);
    213                 CRASSERT(slot < pack_spu.numContexts);
    214 
    215                 newCtx = &pack_spu.context[slot];
    216                 CRASSERT(newCtx->clientState);  /* verify valid */
    217 
    218                 thread->currentContext = newCtx;
    219 
    220                 crPackSetContext( thread->packer );
    221                 crStateMakeCurrent( newCtx->clientState );
    222                 serverCtx = pack_spu.context[slot].serverCtx;
    223         }
    224         else {
    225                 thread->currentContext = NULL;
    226                 crStateMakeCurrent( NULL );
    227                 newCtx = NULL;
    228                 serverCtx = 0;
    229         }
    230 
    231         if (pack_spu.swap)
    232                 crPackMakeCurrentSWAP( window, nativeWindow, serverCtx );
    233         else
    234                 crPackMakeCurrent( window, nativeWindow, serverCtx );
    235 
    236         {
    237                 GET_THREAD(t);
    238                 (void) t;
    239                 CRASSERT(t);
    240         }
    241 }
     199    GET_THREAD(thread);
     200    GLint serverCtx;
     201    ContextInfo *newCtx;
     202
     203    if (!thread) {
     204        thread = packspuNewThread( crThreadID() );
     205    }
     206    CRASSERT(thread);
     207    CRASSERT(thread->packer);
     208
     209    if (ctx) {
     210        const int slot = ctx - MAGIC_OFFSET;
     211
     212        CRASSERT(slot >= 0);
     213        CRASSERT(slot < pack_spu.numContexts);
     214
     215        newCtx = &pack_spu.context[slot];
     216        CRASSERT(newCtx->clientState);  /* verify valid */
     217
     218        thread->currentContext = newCtx;
     219
     220        crPackSetContext( thread->packer );
     221        crStateMakeCurrent( newCtx->clientState );
     222        serverCtx = pack_spu.context[slot].serverCtx;
     223    }
     224    else {
     225        thread->currentContext = NULL;
     226        crStateMakeCurrent( NULL );
     227        newCtx = NULL;
     228        serverCtx = 0;
     229    }
     230
     231    if (pack_spu.swap)
     232        crPackMakeCurrentSWAP( window, nativeWindow, serverCtx );
     233    else
     234        crPackMakeCurrent( window, nativeWindow, serverCtx );
     235
     236    {
     237        GET_THREAD(t);
     238        (void) t;
     239        CRASSERT(t);
     240    }
     241}
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/get_sizes.py

    r15532 r15758  
    66
    77num_get_values = {
    8         'GL_ACCUM_ALPHA_BITS' : 1,
    9         'GL_ACCUM_BLUE_BITS' : 1,
    10         'GL_ACCUM_CLEAR_VALUE': 4,
    11         'GL_ACCUM_GREEN_BITS' : 1,
    12         'GL_ACCUM_RED_BITS' : 1,
    13         'GL_ALPHA_BIAS' : 1,
    14         'GL_ALPHA_BITS' : 1,
    15         'GL_ALPHA_SCALE' : 1,
    16         'GL_ALPHA_TEST' : 1,
    17         'GL_ALPHA_TEST_FUNC' : 1,
    18         'GL_ALPHA_TEST_REF' : 1,
    19         'GL_ATTRIB_STACK_DEPTH' : 1,
    20         'GL_AUTO_NORMAL' : 1,
    21         'GL_AUX_BUFFERS' : 1,
    22         'GL_BLEND' : 1,
    23         'GL_BLEND_DST' : 1,
    24         'GL_BLEND_SRC' : 1,
    25         'GL_BLUE_BIAS' : 1,
    26         'GL_BLUE_BITS' : 1,
    27         'GL_BLUE_SCALE' : 1,
    28         'GL_CLIENT_ATTRIB_STACK_DEPTH' : 1,
    29         'GL_CLIP_PLANE0' : 1,
    30         'GL_CLIP_PLANE1' : 1,
    31         'GL_CLIP_PLANE2' : 1,
    32         'GL_CLIP_PLANE3' : 1,
    33         'GL_CLIP_PLANE4' : 1,
    34         'GL_CLIP_PLANE5' : 1,
    35         'GL_COLOR_ARRAY' : 1,
    36         'GL_COLOR_ARRAY_SIZE' : 1,
    37         'GL_COLOR_ARRAY_STRIDE' : 1,
    38         'GL_COLOR_ARRAY_TYPE' : 1,
    39         'GL_COLOR_CLEAR_VALUE': 4,
    40         'GL_COLOR_LOGIC_OP' : 1,
    41         'GL_COLOR_MATERIAL' : 1,
    42         'GL_COLOR_MATERIAL_FACE' : 1,
    43         'GL_COLOR_MATERIAL_PARAMETER' : 1,
    44         'GL_COLOR_MATRIX_STACK_DEPTH' : 1,
    45         'GL_COLOR_WRITEMASK': 4,
    46         'GL_CULL_FACE' : 1,
    47         'GL_CULL_FACE_MODE' : 1,
    48         'GL_CURRENT_COLOR': 4,
    49         'GL_CURRENT_INDEX' : 1,
    50         'GL_CURRENT_NORMAL': 3,
    51         'GL_CURRENT_RASTER_COLOR': 4,
    52         'GL_CURRENT_RASTER_DISTANCE' : 1,
    53         'GL_CURRENT_RASTER_INDEX' : 1,
    54         'GL_CURRENT_RASTER_POSITION': 4,
    55         'GL_CURRENT_RASTER_POSITION_VALID' : 1,
    56         'GL_CURRENT_RASTER_TEXTURE_COORDS': 4,
    57         'GL_CURRENT_TEXTURE_COORDS': 4,
    58         'GL_DEPTH_BIAS' : 1,
    59         'GL_DEPTH_BITS' : 1,
    60         'GL_DEPTH_CLEAR_VALUE' : 1,
    61         'GL_DEPTH_FUNC' : 1,
    62         'GL_DEPTH_RANGE': 2,
    63         'GL_DEPTH_SCALE' : 1,
    64         'GL_DEPTH_TEST' : 1,
    65         'GL_DEPTH_WRITEMASK' : 1,
    66         'GL_DITHER' : 1,
    67         'GL_DOUBLEBUFFER' : 1,
    68         'GL_DRAW_BUFFER' : 1,
    69         'GL_EDGE_FLAG' : 1,
    70         'GL_EDGE_FLAG_ARRAY' : 1,
    71         'GL_EDGE_FLAG_ARRAY_STRIDE' : 1,
    72         'GL_FEEDBACK_BUFFER_SIZE' : 1,
    73         'GL_FEEDBACK_BUFFER_TYPE' : 1,
    74         'GL_FOG' : 1,
    75         'GL_FOG_COLOR': 4,
    76         'GL_FOG_DENSITY' : 1,
    77         'GL_FOG_END' : 1,
    78         'GL_FOG_HINT' : 1,
    79         'GL_FOG_INDEX' : 1,
    80         'GL_FOG_MODE' : 1,
    81         'GL_FOG_START' : 1,
    82         'GL_FRONT_FACE' : 1,
    83         'GL_GREEN_BIAS' : 1,
    84         'GL_GREEN_BITS' : 1,
    85         'GL_GREEN_SCALE' : 1,
    86         'GL_INDEX_ARRAY' : 1,
    87         'GL_INDEX_ARRAY_STRIDE' : 1,
    88         'GL_INDEX_ARRAY_TYPE' : 1,
    89         'GL_INDEX_BITS' : 1,
    90         'GL_INDEX_CLEAR_VALUE' : 1,
    91         'GL_INDEX_LOGIC_OP' : 1,
    92         'GL_INDEX_MODE' : 1,
    93         'GL_INDEX_OFFSET' : 1,
    94         'GL_INDEX_SHIFT' : 1,
    95         'GL_INDEX_WRITEMASK' : 1,
    96         'GL_LIGHT0' : 1,
    97         'GL_LIGHT1' : 1,
    98         'GL_LIGHT2' : 1,
    99         'GL_LIGHT3' : 1,
    100         'GL_LIGHT4' : 1,
    101         'GL_LIGHT5' : 1,
    102         'GL_LIGHT6' : 1,
    103         'GL_LIGHT7' : 1,
    104         'GL_LIGHTING' : 1,
    105         'GL_LIGHT_MODEL_AMBIENT': 4,
    106         'GL_LIGHT_MODEL_LOCAL_VIEWER' : 1,
    107         'GL_LIGHT_MODEL_TWO_SIDE' : 1,
    108         'GL_LINE_SMOOTH' : 1,
    109         'GL_LINE_SMOOTH_HINT' : 1,
    110         'GL_LINE_STIPPLE' : 1,
    111         'GL_LINE_STIPPLE_PATTERN' : 1,
    112         'GL_LINE_STIPPLE_REPEAT' : 1,
    113         'GL_LINE_WIDTH' : 1,
    114         'GL_LINE_WIDTH_GRANULARITY' : 1,
    115         'GL_LINE_WIDTH_RANGE': 2,
    116         'GL_LIST_BASE' : 1,
    117         'GL_LIST_INDEX' : 1,
    118         'GL_LIST_MODE' : 1,
    119         'GL_LOGIC_OP_MODE' : 1,
    120         'GL_MAP1_COLOR_4' : 1,
    121         'GL_MAP1_GRID_DOMAIN': 2,
    122         'GL_MAP1_GRID_SEGMENTS' : 1,
    123         'GL_MAP1_INDEX' : 1,
    124         'GL_MAP1_NORMAL' : 1,
    125         'GL_MAP1_TEXTURE_COORD_1' : 1,
    126         'GL_MAP1_TEXTURE_COORD_2' : 1,
    127         'GL_MAP1_TEXTURE_COORD_3' : 1,
    128         'GL_MAP1_TEXTURE_COORD_4' : 1,
    129         'GL_MAP1_VERTEX_3' : 1,
    130         'GL_MAP1_VERTEX_4' : 1,
    131         'GL_MAP2_COLOR_4' : 1,
    132         'GL_MAP2_GRID_DOMAIN': 4,
    133         'GL_MAP2_GRID_SEGMENTS': 2,
    134         'GL_MAP2_INDEX' : 1,
    135         'GL_MAP2_NORMAL' : 1,
    136         'GL_MAP2_TEXTURE_COORD_1' : 1,
    137         'GL_MAP2_TEXTURE_COORD_2' : 1,
    138         'GL_MAP2_TEXTURE_COORD_3' : 1,
    139         'GL_MAP2_TEXTURE_COORD_4' : 1,
    140         'GL_MAP2_VERTEX_3' : 1,
    141         'GL_MAP2_VERTEX_4' : 1,
    142         'GL_MAP_COLOR' : 1,
    143         'GL_MAP_STENCIL' : 1,
    144         'GL_MATRIX_MODE' : 1,
    145         'GL_MAX_CLIENT_ATTRIB_STACK_DEPTH' : 1,
    146         'GL_MAX_ATTRIB_STACK_DEPTH' : 1,
    147         'GL_MAX_CLIP_PLANES' : 1,
    148         'GL_MAX_COLOR_MATRIX_STACK_DEPTH' : 1,
    149         'GL_MAX_EVAL_ORDER' : 1,
    150         'GL_MAX_LIGHTS' : 1,
    151         'GL_MAX_LIST_NESTING' : 1,
    152         'GL_MAX_MODELVIEW_STACK_DEPTH' : 1,
    153         'GL_MAX_NAME_STACK_DEPTH' : 1,
    154         'GL_MAX_PIXEL_MAP_TABLE' : 1,
    155         'GL_MAX_PROJECTION_STACK_DEPTH' : 1,
    156         'GL_MAX_TEXTURE_SIZE' : 1,
    157         'GL_MAX_3D_TEXTURE_SIZE' : 1,
    158         'GL_MAX_TEXTURE_STACK_DEPTH' : 1,
    159         'GL_MAX_VIEWPORT_DIMS': 2,
    160         'GL_MODELVIEW_MATRIX': 16,
    161         'GL_MODELVIEW_STACK_DEPTH' : 1,
    162         'GL_NAME_STACK_DEPTH' : 1,
    163         'GL_NORMAL_ARRAY' : 1,
    164         'GL_NORMAL_ARRAY_STRIDE' : 1,
    165         'GL_NORMAL_ARRAY_TYPE' : 1,
    166         'GL_NORMALIZE' : 1,
    167         'GL_PACK_ALIGNMENT' : 1,
    168         'GL_PACK_LSB_FIRST' : 1,
    169         'GL_PACK_ROW_LENGTH' : 1,
    170         'GL_PACK_SKIP_PIXELS' : 1,
    171         'GL_PACK_SKIP_ROWS' : 1,
    172         'GL_PACK_SWAP_BYTES' : 1,
    173         'GL_PERSPECTIVE_CORRECTION_HINT' : 1,
    174         'GL_PIXEL_MAP_A_TO_A_SIZE' : 1,
    175         'GL_PIXEL_MAP_B_TO_B_SIZE' : 1,
    176         'GL_PIXEL_MAP_G_TO_G_SIZE' : 1,
    177         'GL_PIXEL_MAP_I_TO_A_SIZE' : 1,
    178         'GL_PIXEL_MAP_I_TO_B_SIZE' : 1,
    179         'GL_PIXEL_MAP_I_TO_G_SIZE' : 1,
    180         'GL_PIXEL_MAP_I_TO_I_SIZE' : 1,
    181         'GL_PIXEL_MAP_I_TO_R_SIZE' : 1,
    182         'GL_PIXEL_MAP_R_TO_R_SIZE' : 1,
    183         'GL_PIXEL_MAP_S_TO_S_SIZE' : 1,
    184         'GL_POINT_SIZE' : 1,
    185         'GL_POINT_SIZE_GRANULARITY' : 1,
    186         'GL_POINT_SIZE_RANGE': 2,
    187         'GL_POINT_SMOOTH' : 1,
    188         'GL_POINT_SMOOTH_HINT' : 1,
    189         'GL_POLYGON_MODE': 2,
    190         'GL_POLYGON_OFFSET_FACTOR' : 1,
    191         'GL_POLYGON_OFFSET_UNITS' : 1,
    192         'GL_POLYGON_OFFSET_FILL' : 1,
    193         'GL_POLYGON_OFFSET_LINE' : 1,
    194         'GL_POLYGON_OFFSET_POINT' : 1,
    195         'GL_POLYGON_SMOOTH' : 1,
    196         'GL_POLYGON_SMOOTH_HINT' : 1,
    197         'GL_POLYGON_STIPPLE' : 1,
    198         'GL_PROJECTION_MATRIX': 16,
    199         'GL_PROJECTION_STACK_DEPTH' : 1,
    200         'GL_READ_BUFFER' : 1,
    201         'GL_RED_BIAS' : 1,
    202         'GL_RED_BITS' : 1,
    203         'GL_RED_SCALE' : 1,
    204         'GL_RENDER_MODE' : 1,
    205         'GL_RGBA_MODE' : 1,
    206         'GL_SCISSOR_BOX': 4,
    207         'GL_SCISSOR_TEST' : 1,
    208         'GL_SELECTION_BUFFER_SIZE' : 1,
    209         'GL_SHADE_MODEL' : 1,
    210         'GL_STENCIL_BITS' : 1,
    211         'GL_STENCIL_CLEAR_VALUE' : 1,
    212         'GL_STENCIL_FAIL' : 1,
    213         'GL_STENCIL_FUNC' : 1,
    214         'GL_STENCIL_PASS_DEPTH_FAIL' : 1,
    215         'GL_STENCIL_PASS_DEPTH_PASS' : 1,
    216         'GL_STENCIL_REF' : 1,
    217         'GL_STENCIL_TEST' : 1,
    218         'GL_STENCIL_VALUE_MASK' : 1,
    219         'GL_STENCIL_WRITEMASK' : 1,
    220         'GL_STEREO' : 1,
    221         'GL_SUBPIXEL_BITS' : 1,
    222         'GL_TEXTURE_1D' : 1,
    223         'GL_TEXTURE_2D' : 1,
    224         'GL_TEXTURE_BINDING_1D' : 1,
    225         'GL_TEXTURE_BINDING_2D' : 1,
    226         'GL_TEXTURE_BINDING_3D' : 1,
    227         'GL_TEXTURE_COORD_ARRAY' : 1,
    228         'GL_TEXTURE_COORD_ARRAY_SIZE' : 1,
    229         'GL_TEXTURE_COORD_ARRAY_STRIDE' : 1,
    230         'GL_TEXTURE_COORD_ARRAY_TYPE' : 1,
    231         'GL_TEXTURE_ENV_COLOR': 4,
    232         'GL_TEXTURE_ENV_MODE' : 1,
    233         'GL_TEXTURE_GEN_Q' : 1,
    234         'GL_TEXTURE_GEN_R' : 1,
    235         'GL_TEXTURE_GEN_S' : 1,
    236         'GL_TEXTURE_GEN_T' : 1,
    237         'GL_TEXTURE_MATRIX': 16,
    238         'GL_TEXTURE_STACK_DEPTH' : 1,
    239         'GL_UNPACK_ALIGNMENT' : 1,
    240         'GL_UNPACK_LSB_FIRST' : 1,
    241         'GL_UNPACK_ROW_LENGTH' : 1,
    242         'GL_UNPACK_SKIP_PIXELS' : 1,
    243         'GL_UNPACK_SKIP_ROWS' : 1,
    244         'GL_UNPACK_SWAP_BYTES' : 1,
    245         'GL_VERTEX_ARRAY' : 1,
    246         'GL_VERTEX_ARRAY_SIZE' : 1,
    247         'GL_VERTEX_ARRAY_STRIDE' : 1,
    248         'GL_VERTEX_ARRAY_TYPE' : 1,
    249         'GL_VIEWPORT': 4,
    250         'GL_ZOOM_X' : 1,
    251         'GL_ZOOM_Y' : 1,
     8    'GL_ACCUM_ALPHA_BITS' : 1,
     9    'GL_ACCUM_BLUE_BITS' : 1,
     10    'GL_ACCUM_CLEAR_VALUE': 4,
     11    'GL_ACCUM_GREEN_BITS' : 1,
     12    'GL_ACCUM_RED_BITS' : 1,
     13    'GL_ALPHA_BIAS' : 1,
     14    'GL_ALPHA_BITS' : 1,
     15    'GL_ALPHA_SCALE' : 1,
     16    'GL_ALPHA_TEST' : 1,
     17    'GL_ALPHA_TEST_FUNC' : 1,
     18    'GL_ALPHA_TEST_REF' : 1,
     19    'GL_ATTRIB_STACK_DEPTH' : 1,
     20    'GL_AUTO_NORMAL' : 1,
     21    'GL_AUX_BUFFERS' : 1,
     22    'GL_BLEND' : 1,
     23    'GL_BLEND_DST' : 1,
     24    'GL_BLEND_SRC' : 1,
     25    'GL_BLUE_BIAS' : 1,
     26    'GL_BLUE_BITS' : 1,
     27    'GL_BLUE_SCALE' : 1,
     28    'GL_CLIENT_ATTRIB_STACK_DEPTH' : 1,
     29    'GL_CLIP_PLANE0' : 1,
     30    'GL_CLIP_PLANE1' : 1,
     31    'GL_CLIP_PLANE2' : 1,
     32    'GL_CLIP_PLANE3' : 1,
     33    'GL_CLIP_PLANE4' : 1,
     34    'GL_CLIP_PLANE5' : 1,
     35    'GL_COLOR_ARRAY' : 1,
     36    'GL_COLOR_ARRAY_SIZE' : 1,
     37    'GL_COLOR_ARRAY_STRIDE' : 1,
     38    'GL_COLOR_ARRAY_TYPE' : 1,
     39    'GL_COLOR_CLEAR_VALUE': 4,
     40    'GL_COLOR_LOGIC_OP' : 1,
     41    'GL_COLOR_MATERIAL' : 1,
     42    'GL_COLOR_MATERIAL_FACE' : 1,
     43    'GL_COLOR_MATERIAL_PARAMETER' : 1,
     44    'GL_COLOR_MATRIX_STACK_DEPTH' : 1,
     45    'GL_COLOR_WRITEMASK': 4,
     46    'GL_CULL_FACE' : 1,
     47    'GL_CULL_FACE_MODE' : 1,
     48    'GL_CURRENT_COLOR': 4,
     49    'GL_CURRENT_INDEX' : 1,
     50    'GL_CURRENT_NORMAL': 3,
     51    'GL_CURRENT_RASTER_COLOR': 4,
     52    'GL_CURRENT_RASTER_DISTANCE' : 1,
     53    'GL_CURRENT_RASTER_INDEX' : 1,
     54    'GL_CURRENT_RASTER_POSITION': 4,
     55    'GL_CURRENT_RASTER_POSITION_VALID' : 1,
     56    'GL_CURRENT_RASTER_TEXTURE_COORDS': 4,
     57    'GL_CURRENT_TEXTURE_COORDS': 4,
     58    'GL_DEPTH_BIAS' : 1,
     59    'GL_DEPTH_BITS' : 1,
     60    'GL_DEPTH_CLEAR_VALUE' : 1,
     61    'GL_DEPTH_FUNC' : 1,
     62    'GL_DEPTH_RANGE': 2,
     63    'GL_DEPTH_SCALE' : 1,
     64    'GL_DEPTH_TEST' : 1,
     65    'GL_DEPTH_WRITEMASK' : 1,
     66    'GL_DITHER' : 1,
     67    'GL_DOUBLEBUFFER' : 1,
     68    'GL_DRAW_BUFFER' : 1,
     69    'GL_EDGE_FLAG' : 1,
     70    'GL_EDGE_FLAG_ARRAY' : 1,
     71    'GL_EDGE_FLAG_ARRAY_STRIDE' : 1,
     72    'GL_FEEDBACK_BUFFER_SIZE' : 1,
     73    'GL_FEEDBACK_BUFFER_TYPE' : 1,
     74    'GL_FOG' : 1,
     75    'GL_FOG_COLOR': 4,
     76    'GL_FOG_DENSITY' : 1,
     77    'GL_FOG_END' : 1,
     78    'GL_FOG_HINT' : 1,
     79    'GL_FOG_INDEX' : 1,
     80    'GL_FOG_MODE' : 1,
     81    'GL_FOG_START' : 1,
     82    'GL_FRONT_FACE' : 1,
     83    'GL_GREEN_BIAS' : 1,
     84    'GL_GREEN_BITS' : 1,
     85    'GL_GREEN_SCALE' : 1,
     86    'GL_INDEX_ARRAY' : 1,
     87    'GL_INDEX_ARRAY_STRIDE' : 1,
     88    'GL_INDEX_ARRAY_TYPE' : 1,
     89    'GL_INDEX_BITS' : 1,
     90    'GL_INDEX_CLEAR_VALUE' : 1,
     91    'GL_INDEX_LOGIC_OP' : 1,
     92    'GL_INDEX_MODE' : 1,
     93    'GL_INDEX_OFFSET' : 1,
     94    'GL_INDEX_SHIFT' : 1,
     95    'GL_INDEX_WRITEMASK' : 1,
     96    'GL_LIGHT0' : 1,
     97    'GL_LIGHT1' : 1,
     98    'GL_LIGHT2' : 1,
     99    'GL_LIGHT3' : 1,
     100    'GL_LIGHT4' : 1,
     101    'GL_LIGHT5' : 1,
     102    'GL_LIGHT6' : 1,
     103    'GL_LIGHT7' : 1,
     104    'GL_LIGHTING' : 1,
     105    'GL_LIGHT_MODEL_AMBIENT': 4,
     106    'GL_LIGHT_MODEL_LOCAL_VIEWER' : 1,
     107    'GL_LIGHT_MODEL_TWO_SIDE' : 1,
     108    'GL_LINE_SMOOTH' : 1,
     109    'GL_LINE_SMOOTH_HINT' : 1,
     110    'GL_LINE_STIPPLE' : 1,
     111    'GL_LINE_STIPPLE_PATTERN' : 1,
     112    'GL_LINE_STIPPLE_REPEAT' : 1,
     113    'GL_LINE_WIDTH' : 1,
     114    'GL_LINE_WIDTH_GRANULARITY' : 1,
     115    'GL_LINE_WIDTH_RANGE': 2,
     116    'GL_LIST_BASE' : 1,
     117    'GL_LIST_INDEX' : 1,
     118    'GL_LIST_MODE' : 1,
     119    'GL_LOGIC_OP_MODE' : 1,
     120    'GL_MAP1_COLOR_4' : 1,
     121    'GL_MAP1_GRID_DOMAIN': 2,
     122    'GL_MAP1_GRID_SEGMENTS' : 1,
     123    'GL_MAP1_INDEX' : 1,
     124    'GL_MAP1_NORMAL' : 1,
     125    'GL_MAP1_TEXTURE_COORD_1' : 1,
     126    'GL_MAP1_TEXTURE_COORD_2' : 1,
     127    'GL_MAP1_TEXTURE_COORD_3' : 1,
     128    'GL_MAP1_TEXTURE_COORD_4' : 1,
     129    'GL_MAP1_VERTEX_3' : 1,
     130    'GL_MAP1_VERTEX_4' : 1,
     131    'GL_MAP2_COLOR_4' : 1,
     132    'GL_MAP2_GRID_DOMAIN': 4,
     133    'GL_MAP2_GRID_SEGMENTS': 2,
     134    'GL_MAP2_INDEX' : 1,
     135    'GL_MAP2_NORMAL' : 1,
     136    'GL_MAP2_TEXTURE_COORD_1' : 1,
     137    'GL_MAP2_TEXTURE_COORD_2' : 1,
     138    'GL_MAP2_TEXTURE_COORD_3' : 1,
     139    'GL_MAP2_TEXTURE_COORD_4' : 1,
     140    'GL_MAP2_VERTEX_3' : 1,
     141    'GL_MAP2_VERTEX_4' : 1,
     142    'GL_MAP_COLOR' : 1,
     143    'GL_MAP_STENCIL' : 1,
     144    'GL_MATRIX_MODE' : 1,
     145    'GL_MAX_CLIENT_ATTRIB_STACK_DEPTH' : 1,
     146    'GL_MAX_ATTRIB_STACK_DEPTH' : 1,
     147    'GL_MAX_CLIP_PLANES' : 1,
     148    'GL_MAX_COLOR_MATRIX_STACK_DEPTH' : 1,
     149    'GL_MAX_EVAL_ORDER' : 1,
     150    'GL_MAX_LIGHTS' : 1,
     151    'GL_MAX_LIST_NESTING' : 1,
     152    'GL_MAX_MODELVIEW_STACK_DEPTH' : 1,
     153    'GL_MAX_NAME_STACK_DEPTH' : 1,
     154    'GL_MAX_PIXEL_MAP_TABLE' : 1,
     155    'GL_MAX_PROJECTION_STACK_DEPTH' : 1,
     156    'GL_MAX_TEXTURE_SIZE' : 1,
     157    'GL_MAX_3D_TEXTURE_SIZE' : 1,
     158    'GL_MAX_TEXTURE_STACK_DEPTH' : 1,
     159    'GL_MAX_VIEWPORT_DIMS': 2,
     160    'GL_MODELVIEW_MATRIX': 16,
     161    'GL_MODELVIEW_STACK_DEPTH' : 1,
     162    'GL_NAME_STACK_DEPTH' : 1,
     163    'GL_NORMAL_ARRAY' : 1,
     164    'GL_NORMAL_ARRAY_STRIDE' : 1,
     165    'GL_NORMAL_ARRAY_TYPE' : 1,
     166    'GL_NORMALIZE' : 1,
     167    'GL_PACK_ALIGNMENT' : 1,
     168    'GL_PACK_LSB_FIRST' : 1,
     169    'GL_PACK_ROW_LENGTH' : 1,
     170    'GL_PACK_SKIP_PIXELS' : 1,
     171    'GL_PACK_SKIP_ROWS' : 1,
     172    'GL_PACK_SWAP_BYTES' : 1,
     173    'GL_PERSPECTIVE_CORRECTION_HINT' : 1,
     174    'GL_PIXEL_MAP_A_TO_A_SIZE' : 1,
     175    'GL_PIXEL_MAP_B_TO_B_SIZE' : 1,
     176    'GL_PIXEL_MAP_G_TO_G_SIZE' : 1,
     177    'GL_PIXEL_MAP_I_TO_A_SIZE' : 1,
     178    'GL_PIXEL_MAP_I_TO_B_SIZE' : 1,
     179    'GL_PIXEL_MAP_I_TO_G_SIZE' : 1,
     180    'GL_PIXEL_MAP_I_TO_I_SIZE' : 1,
     181    'GL_PIXEL_MAP_I_TO_R_SIZE' : 1,
     182    'GL_PIXEL_MAP_R_TO_R_SIZE' : 1,
     183    'GL_PIXEL_MAP_S_TO_S_SIZE' : 1,
     184    'GL_POINT_SIZE' : 1,
     185    'GL_POINT_SIZE_GRANULARITY' : 1,
     186    'GL_POINT_SIZE_RANGE': 2,
     187    'GL_POINT_SMOOTH' : 1,
     188    'GL_POINT_SMOOTH_HINT' : 1,
     189    'GL_POLYGON_MODE': 2,
     190    'GL_POLYGON_OFFSET_FACTOR' : 1,
     191    'GL_POLYGON_OFFSET_UNITS' : 1,
     192    'GL_POLYGON_OFFSET_FILL' : 1,
     193    'GL_POLYGON_OFFSET_LINE' : 1,
     194    'GL_POLYGON_OFFSET_POINT' : 1,
     195    'GL_POLYGON_SMOOTH' : 1,
     196    'GL_POLYGON_SMOOTH_HINT' : 1,
     197    'GL_POLYGON_STIPPLE' : 1,
     198    'GL_PROJECTION_MATRIX': 16,
     199    'GL_PROJECTION_STACK_DEPTH' : 1,
     200    'GL_READ_BUFFER' : 1,
     201    'GL_RED_BIAS' : 1,
     202    'GL_RED_BITS' : 1,
     203    'GL_RED_SCALE' : 1,
     204    'GL_RENDER_MODE' : 1,
     205    'GL_RGBA_MODE' : 1,
     206    'GL_SCISSOR_BOX': 4,
     207    'GL_SCISSOR_TEST' : 1,
     208    'GL_SELECTION_BUFFER_SIZE' : 1,
     209    'GL_SHADE_MODEL' : 1,
     210    'GL_STENCIL_BITS' : 1,
     211    'GL_STENCIL_CLEAR_VALUE' : 1,
     212    'GL_STENCIL_FAIL' : 1,
     213    'GL_STENCIL_FUNC' : 1,
     214    'GL_STENCIL_PASS_DEPTH_FAIL' : 1,
     215    'GL_STENCIL_PASS_DEPTH_PASS' : 1,
     216    'GL_STENCIL_REF' : 1,
     217    'GL_STENCIL_TEST' : 1,
     218    'GL_STENCIL_VALUE_MASK' : 1,
     219    'GL_STENCIL_WRITEMASK' : 1,
     220    'GL_STEREO' : 1,
     221    'GL_SUBPIXEL_BITS' : 1,
     222    'GL_TEXTURE_1D' : 1,
     223    'GL_TEXTURE_2D' : 1,
     224    'GL_TEXTURE_BINDING_1D' : 1,
     225    'GL_TEXTURE_BINDING_2D' : 1,
     226    'GL_TEXTURE_BINDING_3D' : 1,
     227    'GL_TEXTURE_COORD_ARRAY' : 1,
     228    'GL_TEXTURE_COORD_ARRAY_SIZE' : 1,
     229    'GL_TEXTURE_COORD_ARRAY_STRIDE' : 1,
     230    'GL_TEXTURE_COORD_ARRAY_TYPE' : 1,
     231    'GL_TEXTURE_ENV_COLOR': 4,
     232    'GL_TEXTURE_ENV_MODE' : 1,
     233    'GL_TEXTURE_GEN_Q' : 1,
     234    'GL_TEXTURE_GEN_R' : 1,
     235    'GL_TEXTURE_GEN_S' : 1,
     236    'GL_TEXTURE_GEN_T' : 1,
     237    'GL_TEXTURE_MATRIX': 16,
     238    'GL_TEXTURE_STACK_DEPTH' : 1,
     239    'GL_UNPACK_ALIGNMENT' : 1,
     240    'GL_UNPACK_LSB_FIRST' : 1,
     241    'GL_UNPACK_ROW_LENGTH' : 1,
     242    'GL_UNPACK_SKIP_PIXELS' : 1,
     243    'GL_UNPACK_SKIP_ROWS' : 1,
     244    'GL_UNPACK_SWAP_BYTES' : 1,
     245    'GL_VERTEX_ARRAY' : 1,
     246    'GL_VERTEX_ARRAY_SIZE' : 1,
     247    'GL_VERTEX_ARRAY_STRIDE' : 1,
     248    'GL_VERTEX_ARRAY_TYPE' : 1,
     249    'GL_VIEWPORT': 4,
     250    'GL_ZOOM_X' : 1,
     251    'GL_ZOOM_Y' : 1,
    252252}
    253253
    254254extensions_num_get_values = {
    255         'GL_BLEND_COLOR_EXT': (4, 'CR_EXT_blend_color'),
    256         'GL_BLEND_EQUATION_EXT': (1, 'CR_EXT_blend_minmax'),
    257         'GL_BLEND_SRC_RGB_EXT': (1, 'CR_EXT_blend_func_separate'),
    258         'GL_BLEND_DST_RGB_EXT': (1, 'CR_EXT_blend_func_separate'),
    259         'GL_BLEND_SRC_ALPHA_EXT': (1, 'CR_EXT_blend_func_separate'),
    260         'GL_BLEND_DST_ALPHA_EXT': (1, 'CR_EXT_blend_func_separate'),
    261         'GL_FOG_DISTANCE_MODE_NV': (1, 'CR_NV_fog_distance'),
    262         'GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB': (1, 'CR_ARB_texture_cube_map'),
    263         'GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT': (1, 'CR_EXT_texture_filter_anisotropic'),
    264         'GL_TEXTURE_BINDING_CUBE_MAP_ARB': (1, 'CR_ARB_texture_cube_map'),
    265         'GL_TEXTURE_CUBE_MAP_ARB': (1, 'CR_ARB_texture_cube_map'),
    266         'GL_ACTIVE_TEXTURE_ARB': (1, 'CR_ARB_multitexture'),
    267         'GL_CLIENT_ACTIVE_TEXTURE_ARB': (1, 'CR_ARB_multitexture'),
    268         'GL_MAX_TEXTURE_UNITS_ARB': (1, 'CR_ARB_multitexture'),
    269         'GL_NUM_GENERAL_COMBINERS_NV': (1, 'CR_NV_register_combiners'),
    270         'GL_MAX_GENERAL_COMBINERS_NV': (1, 'CR_NV_register_combiners'),
    271         'GL_COLOR_SUM_CLAMP_NV': (1, 'CR_NV_register_combiners'),
    272         'GL_CONSTANT_COLOR0_NV': (4, 'CR_NV_register_combiners'),
    273         'GL_CONSTANT_COLOR1_NV': (4, 'CR_NV_register_combiners'),
    274         'GL_PER_STAGE_CONSTANTS_NV': (1, 'CR_NV_register_combiners2'),
    275         'GL_LIGHT_MODEL_COLOR_CONTROL_EXT': (1, 'CR_EXT_separate_specular_color'),
    276         'GL_COLOR_SUM_EXT': (1, 'CR_EXT_secondary_color'),
    277         'GL_CURRENT_SECONDARY_COLOR_EXT': (4, 'CR_EXT_secondary_color'),
    278         'GL_SECONDARY_COLOR_ARRAY_SIZE_EXT': (1, 'CR_EXT_secondary_color'),
    279         'GL_SECONDARY_COLOR_ARRAY_TYPE_EXT': (1, 'CR_EXT_secondary_color'),
    280         'GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT': (1, 'CR_EXT_secondary_color'),
    281         'GL_RESCALE_NORMAL': (1, 'CR_OPENGL_VERSION_1_2'),
    282         'GL_NUM_COMPRESSED_TEXTURE_FORMATS': (1, 'CR_ARB_texture_compression'),
    283         'GL_TEXTURE_3D': (1, 'CR_OPENGL_VERSION_1_2'),
    284         'GL_LIGHT_MODEL_COLOR_CONTROL': (1, 'CR_OPENGL_VERSION_1_2'),
    285         'GL_UNPACK_IMAGE_HEIGHT': (1, 'CR_OPENGL_VERSION_1_2'),
    286         'GL_UNPACK_SKIP_IMAGES': (1, 'CR_OPENGL_VERSION_1_2'),
    287         'GL_PACK_IMAGE_HEIGHT': (1, 'CR_OPENGL_VERSION_1_2'),
    288         'GL_PACK_SKIP_IMAGES': (1, 'CR_OPENGL_VERSION_1_2'),
    289         'GL_ALIASED_POINT_SIZE_RANGE': (2, 'CR_OPENGL_VERSION_1_2'),
    290         'GL_ALIASED_LINE_WIDTH_RANGE': (2, 'CR_OPENGL_VERSION_1_2'),
    291         'GL_MAX_ELEMENTS_INDICES': (1, 'CR_OPENGL_VERSION_1_2'),
    292         'GL_MAX_ELEMENTS_VERTICES': (1, 'CR_OPENGL_VERSION_1_2'),
    293         'GL_MULTISAMPLE_ARB': (1, 'CR_ARB_multisample'),
    294         'GL_SAMPLE_ALPHA_TO_COVERAGE_ARB': (1, 'CR_ARB_multisample'),
    295         'GL_SAMPLE_ALPHA_TO_ONE_ARB': (1, 'CR_ARB_multisample'),
    296         'GL_SAMPLE_COVERAGE_ARB': (1, 'CR_ARB_multisample'),
    297         'GL_SAMPLE_BUFFERS_ARB': (1, 'CR_ARB_multisample'),
    298         'GL_SAMPLES_ARB': (1, 'CR_ARB_multisample'),
    299         'GL_SAMPLE_COVERAGE_VALUE_ARB': (1, 'CR_ARB_multisample'),
    300         'GL_SAMPLE_COVERAGE_INVERT_ARB': (1, 'CR_ARB_multisample'),
    301         'GL_POINT_SPRITE_ARB': (1, 'CR_ARB_point_sprite'),
    302         'GL_MAX_TEXTURE_LOD_BIAS_EXT': (1, 'CR_EXT_texture_lod_bias'),
    303         'GL_COMPRESSED_TEXTURE_FORMATS_ARB': (1, 'CR_ARB_texture_compression'),
    304         'GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB': (1, 'CR_ARB_texture_compression'),
    305         'GL_PROGRAM_ERROR_POSITION_NV': (1, 'CR_NV_vertex_program'),
    306         'GL_VERTEX_PROGRAM_BINDING_NV': (1, 'CR_NV_vertex_program'),
    307         'GL_MAX_VERTEX_ATTRIBS_ARB': (1, 'CR_ARB_vertex_program'),
    308         'GL_PROGRAM_ERROR_POSITION_NV': (1, 'CR_NV_fragment_program'),
    309         'GL_FRAGMENT_PROGRAM_BINDING_NV': (1, 'CR_NV_fragment_program'),
    310         'GL_MAX_RECTANGLE_TEXTURE_SIZE_NV': (1, 'CR_NV_texture_rectangle'),
    311         'GL_TEXTURE_RECTANGLE_NV': (1, 'CR_NV_texture_rectangle'),
    312         'GL_TEXTURE_BINDING_RECTANGLE_NV': (1, 'CR_NV_texture_rectangle'),
    313         'GL_CLIP_VOLUME_CLIPPING_HINT_EXT' : (3, 'CR_EXT_clip_volume_hint'),
    314         'GL_RASTER_POSITION_UNCLIPPED_IBM' : (1, 'CR_IBM_rasterpos_clip'),
    315         'GL_GENERATE_MIPMAP_HINT_SGIS' : (1, 'CR_SGIS_generate_mipmap'),
    316         'GL_CURRENT_FOG_COORDINATE_EXT' : (1, 'CR_EXT_fog_coord'),
    317         'GL_FOG_COORDINATE_ARRAY_TYPE_EXT' : (1, 'CR_EXT_fog_coord'),
    318         'GL_FOG_COORDINATE_ARRAY_STRIDE_EXT' : (1, 'CR_EXT_fog_coord'),
    319         'GL_TRANSPOSE_COLOR_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
    320         'GL_TRANSPOSE_MODELVIEW_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
    321         'GL_TRANSPOSE_PROJECTION_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
    322         'GL_TRANSPOSE_TEXTURE_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
    323         'GL_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    324         'GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    325         'GL_VERTEX_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    326         'GL_NORMAL_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    327         'GL_COLOR_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    328         'GL_INDEX_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    329         'GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    330         'GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    331         'GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    332         'GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    333         'GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
    334         'GL_MAX_TEXTURE_IMAGE_UNITS_ARB': (1, 'CR_ARB_fragment_program'),
     255    'GL_BLEND_COLOR_EXT': (4, 'CR_EXT_blend_color'),
     256    'GL_BLEND_EQUATION_EXT': (1, 'CR_EXT_blend_minmax'),
     257    'GL_BLEND_SRC_RGB_EXT': (1, 'CR_EXT_blend_func_separate'),
     258    'GL_BLEND_DST_RGB_EXT': (1, 'CR_EXT_blend_func_separate'),
     259    'GL_BLEND_SRC_ALPHA_EXT': (1, 'CR_EXT_blend_func_separate'),
     260    'GL_BLEND_DST_ALPHA_EXT': (1, 'CR_EXT_blend_func_separate'),
     261    'GL_FOG_DISTANCE_MODE_NV': (1, 'CR_NV_fog_distance'),
     262    'GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB': (1, 'CR_ARB_texture_cube_map'),
     263    'GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT': (1, 'CR_EXT_texture_filter_anisotropic'),
     264    'GL_TEXTURE_BINDING_CUBE_MAP_ARB': (1, 'CR_ARB_texture_cube_map'),
     265    'GL_TEXTURE_CUBE_MAP_ARB': (1, 'CR_ARB_texture_cube_map'),
     266    'GL_ACTIVE_TEXTURE_ARB': (1, 'CR_ARB_multitexture'),
     267    'GL_CLIENT_ACTIVE_TEXTURE_ARB': (1, 'CR_ARB_multitexture'),
     268    'GL_MAX_TEXTURE_UNITS_ARB': (1, 'CR_ARB_multitexture'),
     269    'GL_NUM_GENERAL_COMBINERS_NV': (1, 'CR_NV_register_combiners'),
     270    'GL_MAX_GENERAL_COMBINERS_NV': (1, 'CR_NV_register_combiners'),
     271    'GL_COLOR_SUM_CLAMP_NV': (1, 'CR_NV_register_combiners'),
     272    'GL_CONSTANT_COLOR0_NV': (4, 'CR_NV_register_combiners'),
     273    'GL_CONSTANT_COLOR1_NV': (4, 'CR_NV_register_combiners'),
     274    'GL_PER_STAGE_CONSTANTS_NV': (1, 'CR_NV_register_combiners2'),
     275    'GL_LIGHT_MODEL_COLOR_CONTROL_EXT': (1, 'CR_EXT_separate_specular_color'),
     276    'GL_COLOR_SUM_EXT': (1, 'CR_EXT_secondary_color'),
     277    'GL_CURRENT_SECONDARY_COLOR_EXT': (4, 'CR_EXT_secondary_color'),
     278    'GL_SECONDARY_COLOR_ARRAY_SIZE_EXT': (1, 'CR_EXT_secondary_color'),
     279    'GL_SECONDARY_COLOR_ARRAY_TYPE_EXT': (1, 'CR_EXT_secondary_color'),
     280    'GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT': (1, 'CR_EXT_secondary_color'),
     281    'GL_RESCALE_NORMAL': (1, 'CR_OPENGL_VERSION_1_2'),
     282    'GL_NUM_COMPRESSED_TEXTURE_FORMATS': (1, 'CR_ARB_texture_compression'),
     283    'GL_TEXTURE_3D': (1, 'CR_OPENGL_VERSION_1_2'),
     284    'GL_LIGHT_MODEL_COLOR_CONTROL': (1, 'CR_OPENGL_VERSION_1_2'),
     285    'GL_UNPACK_IMAGE_HEIGHT': (1, 'CR_OPENGL_VERSION_1_2'),
     286    'GL_UNPACK_SKIP_IMAGES': (1, 'CR_OPENGL_VERSION_1_2'),
     287    'GL_PACK_IMAGE_HEIGHT': (1, 'CR_OPENGL_VERSION_1_2'),
     288    'GL_PACK_SKIP_IMAGES': (1, 'CR_OPENGL_VERSION_1_2'),
     289    'GL_ALIASED_POINT_SIZE_RANGE': (2, 'CR_OPENGL_VERSION_1_2'),
     290    'GL_ALIASED_LINE_WIDTH_RANGE': (2, 'CR_OPENGL_VERSION_1_2'),
     291    'GL_MAX_ELEMENTS_INDICES': (1, 'CR_OPENGL_VERSION_1_2'),
     292    'GL_MAX_ELEMENTS_VERTICES': (1, 'CR_OPENGL_VERSION_1_2'),
     293    'GL_MULTISAMPLE_ARB': (1, 'CR_ARB_multisample'),
     294    'GL_SAMPLE_ALPHA_TO_COVERAGE_ARB': (1, 'CR_ARB_multisample'),
     295    'GL_SAMPLE_ALPHA_TO_ONE_ARB': (1, 'CR_ARB_multisample'),
     296    'GL_SAMPLE_COVERAGE_ARB': (1, 'CR_ARB_multisample'),
     297    'GL_SAMPLE_BUFFERS_ARB': (1, 'CR_ARB_multisample'),
     298    'GL_SAMPLES_ARB': (1, 'CR_ARB_multisample'),
     299    'GL_SAMPLE_COVERAGE_VALUE_ARB': (1, 'CR_ARB_multisample'),
     300    'GL_SAMPLE_COVERAGE_INVERT_ARB': (1, 'CR_ARB_multisample'),
     301    'GL_POINT_SPRITE_ARB': (1, 'CR_ARB_point_sprite'),
     302    'GL_MAX_TEXTURE_LOD_BIAS_EXT': (1, 'CR_EXT_texture_lod_bias'),
     303    'GL_COMPRESSED_TEXTURE_FORMATS_ARB': (1, 'CR_ARB_texture_compression'),
     304    'GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB': (1, 'CR_ARB_texture_compression'),
     305    'GL_PROGRAM_ERROR_POSITION_NV': (1, 'CR_NV_vertex_program'),
     306    'GL_VERTEX_PROGRAM_BINDING_NV': (1, 'CR_NV_vertex_program'),
     307    'GL_MAX_VERTEX_ATTRIBS_ARB': (1, 'CR_ARB_vertex_program'),
     308    'GL_PROGRAM_ERROR_POSITION_NV': (1, 'CR_NV_fragment_program'),
     309    'GL_FRAGMENT_PROGRAM_BINDING_NV': (1, 'CR_NV_fragment_program'),
     310    'GL_MAX_RECTANGLE_TEXTURE_SIZE_NV': (1, 'CR_NV_texture_rectangle'),
     311    'GL_TEXTURE_RECTANGLE_NV': (1, 'CR_NV_texture_rectangle'),
     312    'GL_TEXTURE_BINDING_RECTANGLE_NV': (1, 'CR_NV_texture_rectangle'),
     313    'GL_CLIP_VOLUME_CLIPPING_HINT_EXT' : (3, 'CR_EXT_clip_volume_hint'),
     314    'GL_RASTER_POSITION_UNCLIPPED_IBM' : (1, 'CR_IBM_rasterpos_clip'),
     315    'GL_GENERATE_MIPMAP_HINT_SGIS' : (1, 'CR_SGIS_generate_mipmap'),
     316    'GL_CURRENT_FOG_COORDINATE_EXT' : (1, 'CR_EXT_fog_coord'),
     317    'GL_FOG_COORDINATE_ARRAY_TYPE_EXT' : (1, 'CR_EXT_fog_coord'),
     318    'GL_FOG_COORDINATE_ARRAY_STRIDE_EXT' : (1, 'CR_EXT_fog_coord'),
     319    'GL_TRANSPOSE_COLOR_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
     320    'GL_TRANSPOSE_MODELVIEW_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
     321    'GL_TRANSPOSE_PROJECTION_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
     322    'GL_TRANSPOSE_TEXTURE_MATRIX_ARB': (16, 'CR_ARB_transpose_matrix'),
     323    'GL_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     324    'GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     325    'GL_VERTEX_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     326    'GL_NORMAL_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     327    'GL_COLOR_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     328    'GL_INDEX_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     329    'GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     330    'GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     331    'GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     332    'GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     333    'GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB': (1, 'CR_ARB_vertex_buffer_object'),
     334    'GL_MAX_TEXTURE_IMAGE_UNITS_ARB': (1, 'CR_ARB_fragment_program'),
    335335}
    336336
     
    340340print "struct nv_struct { GLenum pname; unsigned int num_values; } num_values_array[] = {"
    341341for key in get_keys:
    342         try:
    343                 print '\t{ %s, %d },' % (key, num_get_values[key])
    344         except KeyError:
    345                 (nv, ifdef) = extensions_num_get_values[key]
    346                 print '#ifdef %s' % ifdef
    347                 print '\t{ %s, %d },' % (key, nv)
    348                 print '#endif /* %s */' % ifdef
     342    try:
     343        print '\t{ %s, %d },' % (key, num_get_values[key])
     344    except KeyError:
     345        (nv, ifdef) = extensions_num_get_values[key]
     346        print '#ifdef %s' % ifdef
     347        print '\t{ %s, %d },' % (key, nv)
     348        print '#endif /* %s */' % ifdef
    349349print "\t{ 0, 0 }"
    350350print "};"
     
    353353static unsigned int __numValues( GLenum pname )
    354354{
    355         struct nv_struct *temp;
    356        
    357         for (temp = num_values_array; temp->num_values != 0 ; temp++)
    358         {
    359                 if (temp->pname == pname)
    360                         return temp->num_values;
    361         }
    362         crError( "Invalid pname to __numValues: 0x%x\\n", (int) pname );
    363         return 0;
     355    struct nv_struct *temp;
     356   
     357    for (temp = num_values_array; temp->num_values != 0 ; temp++)
     358    {
     359        if (temp->pname == pname)
     360            return temp->num_values;
     361    }
     362    crError( "Invalid pname to __numValues: 0x%x\\n", (int) pname );
     363    return 0;
    364364}
    365365"""
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_stream.c

    r15532 r15758  
    115115{
    116116    int i, j;
    117         int32_t pos;
     117    int32_t pos;
    118118
    119119    crDebug("Deleting client %p (%d msgs left)", client,
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette