VirtualBox

Changeset 78116 in vbox for trunk/src/VBox/HostServices


Ignore:
Timestamp:
Apr 12, 2019 10:03:24 AM (6 years ago)
Author:
vboxsync
Message:

GuestHost/OpenGL,HostServices/SharedOpenGL: Updates bugref:9407

Location:
trunk/src/VBox/HostServices/SharedOpenGL
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_dispatch.py

    r69390 r78116  
    3535    if wrap:
    3636        print('#if defined(CR_%s)' % wrap)
    37     print('void SERVER_DISPATCH_APIENTRY crServerDispatch%s(%s)' % ( func_name, apiutil.MakeDeclarationString( params ) ))
     37    print('void SERVER_DISPATCH_APIENTRY crServerDispatch%s(%s)' % ( func_name, apiutil.MakeDeclarationStringForDispatcher( params ) ))
    3838    print('{')
    39     print('\tcrState%s(%s);' % (func_name, apiutil.MakeCallString( params ) ))
    40     print('\tcr_server.head_spu->dispatch_table.%s(%s);' % (func_name, apiutil.MakeCallString( params ) ))
     39    print('\tcrState%s(%s);' % (func_name, apiutil.MakeCallStringForDispatcher( params ) ))
     40    print('\tcr_server.head_spu->dispatch_table.%s(%s);' % (func_name, apiutil.MakeCallStringForDispatcher( params ) ))
    4141    print('}')
    4242    if wrap:
     
    109109        print('\t%s' % (condition))
    110110        print('\t{')
    111         print('\t\tcr_server.head_spu->dispatch_table.%s(%s);' % (func_name, apiutil.MakeCallString(params) ))
     111        print('\t\tcr_server.head_spu->dispatch_table.%s(%s);' % (func_name, apiutil.MakeCallStringForDispatcher(params) ))
    112112        print("\t\tcr_server.current.c.%s.%s%s = cr_unpackData;" % (name,type,array))
    113113        print('\t}')
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_dispatch_header.py

    r69390 r78116  
    4141        return_type = apiutil.ReturnType(func_name)
    4242       
    43         print('%s SERVER_DISPATCH_APIENTRY crServerDispatch%s(%s);' % (return_type, func_name, apiutil.MakeDeclarationString( params )))
     43        print('%s SERVER_DISPATCH_APIENTRY crServerDispatch%s(%s);' % (return_type, func_name, apiutil.MakeDeclarationStringForDispatcher( params )))
    4444
    4545print("""
  • trunk/src/VBox/HostServices/SharedOpenGL/unpacker/unpack.py

    r78086 r78116  
    122122    else:
    123123        print("\t", end="")
    124     print("cr_unpackDispatch.%s(%s);" % (func_name, apiutil.MakeCallString(params)))
     124    print("cr_unpackDispatch.%s(%s);" % (func_name, apiutil.MakeCallStringForDispatcher(params)))
    125125
    126126
  • trunk/src/VBox/HostServices/SharedOpenGL/unpacker/unpack_arrays.c

    r71903 r78116  
    2626    GLsizei stride = READ_DATA( 16, GLsizei );
    2727    GLintptrARB pointer = (GLintptrARB) READ_DATA( 20, GLuint );
    28     cr_unpackDispatch.VertexPointer( size, type, stride, (void *) pointer );
     28    cr_unpackDispatch.VertexPointer( size, type, stride, (void *) pointer, false /*fRealPtr*/ );
    2929}
    3030
     
    3535    GLsizei stride = READ_DATA( 16, GLsizei );
    3636    GLintptrARB pointer = READ_DATA( 20, GLuint );
    37     cr_unpackDispatch.TexCoordPointer( size, type, stride, (void *) pointer );
     37    cr_unpackDispatch.TexCoordPointer( size, type, stride, (void *) pointer, false /*fRealPtr*/ );
    3838}
    3939
     
    4343    GLsizei stride = READ_DATA( 12, GLsizei );
    4444    GLintptrARB pointer = READ_DATA( 16, GLuint );
    45     cr_unpackDispatch.NormalPointer( type, stride, (void *) pointer );
     45    cr_unpackDispatch.NormalPointer( type, stride, (void *) pointer, false /*fRealPtr*/ );
    4646}
    4747
     
    5151    GLsizei stride = READ_DATA( 12, GLsizei );
    5252    GLintptrARB pointer = READ_DATA( 16, GLuint );
    53     cr_unpackDispatch.IndexPointer( type, stride, (void *) pointer );
     53    cr_unpackDispatch.IndexPointer( type, stride, (void *) pointer, false /*fRealPtr*/ );
    5454}
    5555
     
    5858    GLsizei stride = READ_DATA( 8, GLsizei );
    5959    GLintptrARB pointer = READ_DATA( 12, GLuint );
    60     cr_unpackDispatch.EdgeFlagPointer( stride, (void *) pointer );
     60    cr_unpackDispatch.EdgeFlagPointer( stride, (void *) pointer, false /*fRealPtr*/ );
    6161}
    6262
     
    6767    GLsizei stride = READ_DATA( 16, GLsizei );
    6868    GLintptrARB pointer = READ_DATA( 20, GLuint );
    69     cr_unpackDispatch.ColorPointer( size, type, stride, (void *) pointer );
     69    cr_unpackDispatch.ColorPointer( size, type, stride, (void *) pointer, false /*fRealPtr*/ );
    7070}
    7171
     
    7575    GLsizei stride = READ_DATA( 12, GLsizei );
    7676    GLintptrARB pointer = READ_DATA( 16, GLuint );
    77     cr_unpackDispatch.FogCoordPointerEXT( type, stride, (void *) pointer );
     77    cr_unpackDispatch.FogCoordPointerEXT( type, stride, (void *) pointer, false /*fRealPtr*/ );
    7878}
    7979
     
    8484    GLsizei stride = READ_DATA( 16, GLsizei );
    8585    GLintptrARB pointer = READ_DATA( 20, GLuint );
    86     cr_unpackDispatch.SecondaryColorPointerEXT( size, type, stride, (void *) pointer );
     86    cr_unpackDispatch.SecondaryColorPointerEXT( size, type, stride, (void *) pointer, false /*fRealPtr*/ );
    8787}
    8888
     
    9595    GLsizei stride = READ_DATA( 24, GLsizei );
    9696    GLintptrARB pointer = READ_DATA( 28, GLuint );
    97     cr_unpackDispatch.VertexAttribPointerARB( index, size, type, normalized, stride, (void *) pointer );
     97    cr_unpackDispatch.VertexAttribPointerARB( index, size, type, normalized, stride, (void *) pointer, false /*fRealPtr*/ );
    9898}
    9999
     
    105105    GLsizei stride = READ_DATA( 20, GLsizei );
    106106    GLintptrARB pointer = READ_DATA( 24, GLuint );
    107     cr_unpackDispatch.VertexAttribPointerNV( index, size, type, stride, (void *) pointer );
     107    cr_unpackDispatch.VertexAttribPointerNV( index, size, type, stride, (void *) pointer, false /*fRealPtr*/ );
    108108}
    109109
     
    113113    GLsizei stride = READ_DATA( 12, GLsizei );
    114114    GLintptrARB pointer = READ_DATA( 16, GLuint );
    115     cr_unpackDispatch.InterleavedArrays( format, stride, (void *) pointer );
     115    cr_unpackDispatch.InterleavedArrays( format, stride, (void *) pointer, false /*fRealPtr*/ );
    116116}
    117117
     
    162162static void crUnpackSetClientPointerByIndex(int index, GLint size,
    163163                                            GLenum type, GLboolean normalized,
    164                                             GLsizei stride, const GLvoid *pointer, CRClientState *c)
     164                                            GLsizei stride, const GLvoid *pointer, CRClientState *c, int fRealPtr)
    165165{
    166166    /*crDebug("crUnpackSetClientPointerByIndex: %i(s=%i, t=0x%x, n=%i, str=%i) -> %p", index, size, type, normalized, stride, pointer);*/
     
    171171        {
    172172            case 0:
    173                 cr_unpackDispatch.VertexPointer(size, type, stride, pointer);
     173                cr_unpackDispatch.VertexPointer(size, type, stride, pointer, fRealPtr);
    174174                break;
    175175            case 1:
    176                 cr_unpackDispatch.ColorPointer(size, type, stride, pointer);
     176                cr_unpackDispatch.ColorPointer(size, type, stride, pointer, fRealPtr);
    177177                break;
    178178            case 2:
    179                 cr_unpackDispatch.FogCoordPointerEXT(type, stride, pointer);
     179                cr_unpackDispatch.FogCoordPointerEXT(type, stride, pointer, fRealPtr);
    180180                break;
    181181            case 3:
    182                 cr_unpackDispatch.SecondaryColorPointerEXT(size, type, stride, pointer);
     182                cr_unpackDispatch.SecondaryColorPointerEXT(size, type, stride, pointer, fRealPtr);
    183183                break;
    184184            case 4:
    185                 cr_unpackDispatch.EdgeFlagPointer(stride, pointer);
     185                cr_unpackDispatch.EdgeFlagPointer(stride, pointer, fRealPtr);
    186186                break;
    187187            case 5:
    188                 cr_unpackDispatch.IndexPointer(type, stride, pointer);
     188                cr_unpackDispatch.IndexPointer(type, stride, pointer, fRealPtr);
    189189                break;
    190190            case 6:
    191                 cr_unpackDispatch.NormalPointer(type, stride, pointer);
     191                cr_unpackDispatch.NormalPointer(type, stride, pointer, fRealPtr);
    192192                break;
    193193        }
     
    200200            cr_unpackDispatch.ClientActiveTextureARB(GL_TEXTURE0_ARB+index-7);
    201201        }
    202         cr_unpackDispatch.TexCoordPointer(size, type, stride, pointer);
     202        cr_unpackDispatch.TexCoordPointer(size, type, stride, pointer, fRealPtr);
    203203        if ((index-7)!=curTexUnit)
    204204        {
     
    209209    {
    210210        cr_unpackDispatch.VertexAttribPointerARB(index-7-CR_MAX_TEXTURE_UNITS,
    211                                                  size, type, normalized, stride, pointer);
     211                                                 size, type, normalized, stride, pointer, fRealPtr);
    212212    }
    213213}
     
    265265                /*crDebug("crUnpackExtendLockArraysEXT: old cp(%i): en/l=%i(%i) p=%p size=%i type=0x%x n=%i str=%i pp=%p pstr=%i",
    266266                        index, cp->enabled, cp->locked, cp->p, cp->size, cp->type, cp->normalized, cp->stride, cp->prevPtr, cp->prevStride);*/
    267                 crUnpackSetClientPointerByIndex(index, cp->size, cp->type, cp->normalized, 0, data, c);
     267                crUnpackSetClientPointerByIndex(index, cp->size, cp->type, cp->normalized, 0, data, c, 1 /*fRealPtr*/);
    268268                /*crDebug("crUnpackExtendLockArraysEXT: new cp(%i): en/l=%i(%i) p=%p size=%i type=0x%x n=%i str=%i pp=%p pstr=%i",
    269269                        index, cp->enabled, cp->locked, cp->p, cp->size, cp->type, cp->normalized, cp->stride, cp->prevPtr, cp->prevStride);*/
     
    305305            /*crDebug("crUnpackExtendUnlockArraysEXT: old cp(%i): en/l=%i(%i) p=%p size=%i type=0x%x n=%i str=%i pp=%p pstr=%i",
    306306                    i, cp->enabled, cp->locked, cp->p, cp->size, cp->type, cp->normalized, cp->stride, cp->prevPtr, cp->prevStride);*/
    307             crUnpackSetClientPointerByIndex(i, cp->size, cp->type, cp->normalized, cp->prevStride, cp->prevPtr, c);
     307            unsigned char *prevPtr = cp->prevPtr;
     308            int fRealPtr = cp->fPrevRealPtr;
     309            cp->prevPtr = NULL;
     310            cp->fPrevRealPtr = 0;
     311            crUnpackSetClientPointerByIndex(i, cp->size, cp->type, cp->normalized, cp->prevStride, prevPtr, c, cp->fPrevRealPtr);
    308312            /*crDebug("crUnpackExtendUnlockArraysEXT: new cp(%i): en/l=%i(%i) p=%p size=%i type=0x%x n=%i str=%i pp=%p pstr=%i",
    309313                    i, cp->enabled, cp->locked, cp->p, cp->size, cp->type, cp->normalized, cp->stride, cp->prevPtr, cp->prevStride);*/
Note: See TracChangeset for help on using the changeset viewer.

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