VirtualBox

Changeset 50625 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Feb 27, 2014 10:34:19 AM (11 years ago)
Author:
vboxsync
Message:

crOpenGL: misc bugfixes and cleanup

Location:
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h

    r50394 r50625  
    155155HCR_FRAMEBUFFER CrPMgrFbGetFirstInitialized();
    156156HCR_FRAMEBUFFER CrPMgrFbGetNextInitialized(HCR_FRAMEBUFFER hFb);
     157
     158int CrFbRegionsClear(HCR_FRAMEBUFFER hFb);
    157159
    158160
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r50429 r50625  
    26002600    if (version >= SHCROGL_SSM_VERSION_WITH_SCREEN_INFO)
    26012601    {
    2602         HCR_FRAMEBUFFER hFb;
    2603 
    26042602        rc = CrPMgrLoadState(pSSM, version);
    26052603        AssertRCReturn(rc, rc);
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_muralfbo.cpp

    r50394 r50625  
    195195        {
    196196            VBOXVR_TEXTURE Tex;
    197             int rc;
    198197            Tex.width = mural->width;
    199198            Tex.height = mural->height;
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_stream.c

    r50095 r50625  
    281281        pNode->next = cr_server.pCleanupClient;
    282282        cr_server.pCleanupClient = pNode;
     283    }
     284
     285    if (!cr_server.numClients)
     286    {
     287        /* if no clients, the guest driver may be unloaded,
     288         * and thus the visible regions situation might not be under control anymore,
     289         * so cleanup the 3D framebuffer data here
     290         * @todo: what really should happen is that guest driver on unload
     291         * posts some request to host that would copy the current framebuffer 3D data to the 2D buffer
     292         * (i.e. to the memory used by the standard IFramebuffer API) */
     293        HCR_FRAMEBUFFER hFb;
     294        for (hFb = CrPMgrFbGetFirstEnabled(); hFb; hFb = CrPMgrFbGetNextEnabled(hFb))
     295        {
     296            CrFbRegionsClear(hFb);
     297        }
    283298    }
    284299}
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c

    r50277 r50625  
    2525    GLint windowID = -1;
    2626    GLint spuWindow;
    27     int rc;
    2827    GLint realVisBits = visBits;
    2928
     
    182181        cr_server.head_spu->dispatch_table.MakeCurrent(dummyMural->spuWindow, 0, cr_server.MainContextInfo.SpuContext);
    183182        cr_server.currentWindow = -1;
    184         cr_server.currentMural = NULL;
     183        cr_server.currentMural = dummyMural;
    185184    }
    186185    else
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