VirtualBox

Changeset 52652 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Sep 9, 2014 8:12:31 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
95963
Message:

DisplayImpl: fixes for legacy VBVA locking and restoring saved state.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/DisplayImpl.h

    r52574 r52652  
    164164    bool i_VideoAccelAllowed(void);
    165165    void i_VideoAccelVRDP(bool fEnable);
     166
     167    /* Legacy video acceleration requests coming from the VGA refresh timer. */
     168    int  VideoAccelEnableVGA(bool fEnable, VBVAMEMORY *pVbvaMemory);
     169
     170    /* Legacy video acceleration requests coming from VMMDev. */
     171    int  VideoAccelEnableVMMDev(bool fEnable, VBVAMEMORY *pVbvaMemory);
     172    void VideoAccelFlushVMMDev(void);
    166173
    167174    int  i_VideoCaptureStart();
     
    375382    void i_handleResizeCompletedEMT(unsigned uScreenId, BOOL fResizeContext);
    376383
    377     /* Old guest additions (3.x?) use VMMDev for VBVA and the host VBVA code (VideoAccel*)
    378      * can be executed concurrently by VGA refresh timer and the guest VMMDev request
    379      * in SMP VMs. The lock serialized this.
     384    /* Old guest additions (3.x and older) use both VMMDev and DevVGA refresh timer
     385     * to process the VBVABUFFER memory. Therefore the legacy VBVA (VideoAccel) host
     386     * code can be executed concurrently by VGA refresh timer and the guest VMMDev
     387     * request in SMP VMs. The semaphore serialized this.
    380388     */
    381     RTCRITSECT mVBVALock;
    382     volatile uint32_t mfu32PendingVideoAccelDisable;
    383 
    384     int  i_vbvaLock(void);
    385     void i_vbvaUnlock(void);
     389    RTSEMXROADS mhXRoadsVideoAccel;
     390    int videoAccelEnterVGA(void);
     391    void videoAccelLeaveVGA(void);
     392    int videoAccelEnterVMMDev(void);
     393    void videoAccelLeaveVMMDev(void);
     394
     395    /* Serializes access to mpVbvaMemory, etc between VRDP and Display. */
     396    RTCRITSECT mVideoAccelLock;
    386397
    387398public:
    388 
    389     bool i_vbvaLockIsOwner(void);
    390399
    391400    static int i_displayTakeScreenshotEMT(Display *pDisplay, ULONG aScreenId, uint8_t **ppu8Data, size_t *pcbData,
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