VirtualBox

Ignore:
Timestamp:
Nov 19, 2009 12:58:46 PM (15 years ago)
Author:
vboxsync
Message:

crOpenGL: fixed Final frame of Compiz animation not updated to the screen (public #4653) + fixed rare possible hangups of guest opengl applications.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_misc.c

    r23694 r24787  
    5757void PACKSPU_APIENTRY packspu_DrawBuffer(GLenum mode)
    5858{
     59    GLboolean hadtoflush;
     60
     61    hadtoflush = packspuSyncOnFlushes();
     62
    5963    crStateDrawBuffer(mode);
    6064    crPackDrawBuffer(mode);
     65
     66    if (hadtoflush && !packspuSyncOnFlushes())
     67        packspu_Flush();
    6168}
    6269
     
    7784    if (packspuSyncOnFlushes())
    7885    {
    79         packspuFlush( (void *) thread );
    80 
    8186        if (writeback)
    8287        {
     
    8590            else
    8691                crPackWriteback(&writeback);
    87         }
    88 
     92
     93            packspuFlush( (void *) thread );
     94
     95            while (writeback)
     96                crNetRecv();
     97        }
     98    }
     99}
     100
     101void PACKSPU_APIENTRY packspu_Flush( void )
     102{
     103    GET_THREAD(thread);
     104    int writeback = 1;
     105
     106    crPackFlush();
     107
     108    if (packspuSyncOnFlushes())
     109    {
     110        crPackWriteback(&writeback);
     111        packspuFlush( (void *) thread );
    89112        while (writeback)
    90113            crNetRecv();
    91     }
    92 }
    93 
    94 void PACKSPU_APIENTRY packspu_Flush( void )
    95 {
    96     GET_THREAD(thread);
    97     if (pack_spu.swap)
    98     {
    99         crPackFlushSWAP();
    100     }
    101     else
    102     {
    103         crPackFlush();
    104     }
    105 
    106     if (packspuSyncOnFlushes())
    107     {
    108         packspuFlush( (void *) thread );
    109114    }
    110115}
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