VirtualBox

Changeset 83142 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Feb 24, 2020 7:24:26 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136260
Message:

bugref:9637. Sending monitor positions (offsets) from GAs to svga device since vmwgfx fails to do so.

Location:
trunk/include/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxGuestLib.h

    r82968 r83142  
    743743VBGLR3DECL(int)     VbglR3SeamlessWaitEvent(VMMDevSeamlessMode *pMode);
    744744VBGLR3DECL(int)     VbglR3SeamlessSendRects(uint32_t cRects, PRTRECT pRects);
     745VBGLR3DECL(int)     VbglR3SeamlessSendMonitorPositions(uint32_t cPositions, PRTPOINT pPositions);
    745746VBGLR3DECL(int)     VbglR3SeamlessGetLastEvent(VMMDevSeamlessMode *pMode);
    746747
     
    12631264
    12641265#endif /* !VBOX_INCLUDED_VBoxGuestLib_h */
    1265 
  • trunk/include/VBox/VMMDev.h

    r82968 r83142  
    202202    VMMDevReq_HeartbeatConfigure         = 220,
    203203    VMMDevReq_NtBugCheck                 = 221,
     204    VMMDevReq_VideoUpdateMonitorPositions= 222,
    204205    VMMDevReq_SizeHack                   = 0x7fffffff
    205206} VMMDevRequestType;
     
    13491350AssertCompileSize(RTRECT, 16);
    13501351AssertCompileSize(VMMDevVideoSetVisibleRegion, 24+4+16);
     1352
     1353/**
     1354 * VBVA monitor positions update request structure.
     1355 *
     1356 * Used by VMMDevReq_VideoUpdateMonitorPositions.
     1357 */
     1358typedef struct
     1359{
     1360    /** Header. */
     1361    VMMDevRequestHeader header;
     1362    /** Number of monitor positions (monitors) */
     1363    uint32_t cPositions;
     1364    /** Positions array.*/
     1365    RTPOINT aPositions[1];
     1366} VMMDevVideoUpdateMonitorPositions;
     1367AssertCompileSize(RTPOINT, 8);
     1368AssertCompileSize(VMMDevVideoUpdateMonitorPositions, 24+4+8);
    13511369
    13521370/**
     
    18221840        case VMMDevReq_GuestHeartbeat:
    18231841            return sizeof(VMMDevRequestHeader);
     1842        case VMMDevReq_VideoUpdateMonitorPositions:
     1843            return sizeof(VMMDevVideoUpdateMonitorPositions);
    18241844        default:
    18251845            break;
     
    19701990
    19711991#endif /* !VBOX_INCLUDED_VMMDev_h */
    1972 
  • trunk/include/VBox/vmm/pdmifs.h

    r82968 r83142  
    710710     */
    711711    DECLR3CALLBACKMEMBER(void, pfnReportHostCursorPosition, (PPDMIDISPLAYPORT pInterface, uint32_t x, uint32_t y, bool fOutOfRange));
     712
     713    /**
     714     * Notify the graphics device about the monitor positions since the ones we get from vmwgfx FIFO are not correct. In an ideal
     715     * universe this method should not be here.
     716     *
     717     * @param   pInterface   Pointer to this interface.
     718     * @param   cPositions   Number of monitor positions
     719     * @param   pPosition    Monitor positions (offsets/origins) array
     720     * @thread  Any.
     721     */
     722    DECLR3CALLBACKMEMBER(void, pfnReportMonitorPositions, (PPDMIDISPLAYPORT pInterface, uint32_t cPositions, PRTPOINT pPosition));
     723
    712724} PDMIDISPLAYPORT;
    713725/** PDMIDISPLAYPORT interface ID. */
     
    18141826
    18151827    /**
     1828     * Update monitor positions (offsets). Passing monitor positions from the guest to host
     1829     * exclusively since vmwgfx fails to do so (thru FIFO).
     1830     *
     1831     * @returns VBox status code.
     1832     * @param   pInterface          Pointer to this interface.
     1833     * @param   cPositions          Number of monitor positions
     1834     * @param   pPosition           Positions array
     1835     * @thread  The emulation thread.
     1836     *
     1837     * @remarks Is allowed to be NULL.
     1838     */
     1839    DECLR3CALLBACKMEMBER(int, pfnUpdateMonitorPositions,(PPDMIVMMDEVCONNECTOR pInterface, uint32_t cPositions, PRTPOINT pPosition));
     1840
     1841    /**
    18161842     * Query the visible region of the display
    18171843     *
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