VirtualBox

Ignore:
Timestamp:
Feb 10, 2014 8:10:18 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
92168
Message:

crOpenGL: include 3D data in framebuffer saved state snapshot, saved state fix

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r50313 r50405  
    137137    GLint i;
    138138    CRClientNode *pNode, *pNext;
     139    GLboolean fOldEnableDiff;
    139140
    140141    /* avoid a race condition */
     
    159160    cr_server.currentMural = NULL;
    160161
    161     if (CrBltIsInitialized(&cr_server.Blitter))
    162     {
    163         CrBltTerm(&cr_server.Blitter);
    164     }
    165 
    166162    /* sync our state with renderspu,
    167163     * do it before mural & context deletion to avoid deleting currently set murals/contexts*/
     
    179175    crFreeHashtable(cr_server.contextTable, deleteContextInfoCallback);
    180176
     177    /* synchronize with reality */
     178    fOldEnableDiff = crStateEnableDiffOnMakeCurrent(GL_FALSE);
     179    Assert(cr_server.MainContextInfo.pContext);
     180    crStateMakeCurrent(cr_server.MainContextInfo.pContext);
     181    crStateEnableDiffOnMakeCurrent(fOldEnableDiff);
     182
    181183    /* Free vertex programs */
    182184    crFreeHashtable(cr_server.programTable, crFree);
    183185
     186    /* Free murals */
     187    crFreeHashtable(cr_server.muralTable, deleteMuralInfoCallback);
     188
     189    CrPMgrTerm();
     190
     191    if (CrBltIsInitialized(&cr_server.Blitter))
     192    {
     193        CrBltTerm(&cr_server.Blitter);
     194    }
     195
    184196    /* Free dummy murals */
    185197    crFreeHashtable(cr_server.dummyMuralTable, deleteMuralInfoCallback);
    186 
    187     /* Free murals */
    188     crFreeHashtable(cr_server.muralTable, deleteMuralInfoCallback);
    189 
    190     CrPMgrTerm();
    191198
    192199    for (i = 0; i < cr_server.numClients; i++) {
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp

    r50398 r50405  
    41394139        crFree(pRects);
    41404140
     4141    CrFbEntryRelease(pFb, hEntry);
     4142
    41414143    return VINF_SUCCESS;
    41424144}
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.c

    r50274 r50405  
    302302
    303303    curCtx = GET_CONTEXT_VAL();
    304     CRASSERT(curCtx);
     304//    CRASSERT(curCtx);
    305305    if (curCtx == context)
    306306    {
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