VirtualBox

Changeset 24861 in vbox for trunk


Ignore:
Timestamp:
Nov 23, 2009 10:34:08 AM (15 years ago)
Author:
vboxsync
Message:

2d accel: fix saved state store issue

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxFBOverlay.h

    r24646 r24861  
    10811081
    10821082    void vhwaSaveExec(struct SSMHANDLE * pSSM);
    1083     int vhwaLoadExec(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t u32Version);
     1083    static void vhwaSaveExecVoid(struct SSMHANDLE * pSSM);
     1084    static int vhwaLoadExec(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t u32Version);
    10841085
    10851086    int vhwaSurfaceCanCreate(struct _VBOXVHWACMD_SURF_CANCREATE *pCmd);
     
    11571158        return bForce;
    11581159    }
     1160
     1161    VHWACommandList &onResizeCmdList() { return mOnResizeCmdList; }
    11591162protected:
    11601163
     
    12021205
    12031206    int vhwaSaveSurface(struct SSMHANDLE * pSSM, VBoxVHWASurfaceBase *pSurf, uint32_t surfCaps);
    1204     int vhwaLoadSurface(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t cBackBuffers, uint32_t u32Version);
     1207    static int vhwaLoadSurface(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t cBackBuffers, uint32_t u32Version);
    12051208    int vhwaSaveOverlayData(struct SSMHANDLE * pSSM, VBoxVHWASurfaceBase *pSurf, bool bVisible);
    1206     int vhwaLoadOverlayData(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t u32Version);
    1207     int vhwaLoadVHWAEnable(VHWACommandList * pCmdList);
     1209    static int vhwaLoadOverlayData(VHWACommandList * pCmdList, struct SSMHANDLE * pSSM, uint32_t u32Version);
     1210    static int vhwaLoadVHWAEnable(VHWACommandList * pCmdList);
     1211
    12081212    void vhwaDoSurfaceOverlayUpdate(VBoxVHWASurfaceBase *pDstSurf, VBoxVHWASurfaceBase *pSrcSurf, struct _VBOXVHWACMD_SURF_OVERLAY_UPDATE *pCmd);
    12091213#endif
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp

    r24668 r24861  
    38113811    Assert(uPass == SSM_PASS_FINAL); NOREF(uPass);
    38123812    VBoxGLWidget * pw = (VBoxGLWidget*)pvUser;
    3813     return pw->vhwaLoadExec(NULL, pSSM, u32Version);
     3813    return VBoxGLWidget::vhwaLoadExec(&pw->onResizeCmdList(), pSSM, u32Version);
    38143814}
    38153815
     
    41234123
    41244124    return rc;
     4125}
     4126
     4127void VBoxGLWidget::vhwaSaveExecVoid(struct SSMHANDLE * pSSM)
     4128{
     4129    VBOXQGL_SAVE_START(pSSM);
     4130    int rc = SSMR3PutU32(pSSM, 0);         AssertRC(rc); /* 0 primaries */
     4131    rc = SSMR3PutU32(pSSM, 0);         AssertRC(rc); /* 0 overlays */
     4132    VBOXQGL_SAVE_STOP(pSSM);
    41254133}
    41264134
     
    42394247    int rc;
    42404248    uint32_t u32;
    4241 
    4242     if(pCmdList == NULL)
    4243     {
    4244         /* use our own list */
    4245         pCmdList = &mOnResizeCmdList;
    4246     }
    42474249
    42484250    rc = SSMR3GetU32(pSSM, &u32); AssertRC(rc);
     
    55765578//    rc = SSMR3GetBool(pSSM, &bTmp /*&mOverlayVisible*/);         AssertRC(rc);
    55775579//    if(RT_SUCCESS(rc))
    5578     return mpOverlayWidget->vhwaLoadExec(&mOnResizeCmdList, pSSM, u32Version);
     5580    return VBoxGLWidget::vhwaLoadExec(&mOnResizeCmdList, pSSM, u32Version);
    55795581//    return rc;
    55805582}
     
    55855587//    rc = SSMR3PutBool(pSSM, mOverlayVisible);         AssertRC(rc);
    55865588//
    5587     mpOverlayWidget->vhwaSaveExec(pSSM);
     5589    if(mpOverlayWidget)
     5590        mpOverlayWidget->vhwaSaveExec(pSSM);
     5591    else
     5592        VBoxGLWidget::vhwaSaveExecVoid(pSSM);
    55885593}
    55895594
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