VirtualBox

Changeset 34438 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Nov 28, 2010 9:56:32 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
68211
Message:

VBoxVideoGuest.h, VMMDev.h, Additions/WINNT/Graphics: refactoring of the display driver to make the VBVA infrastructure and modesetting functions OS-independent

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r34429 r34438  
    4949 * via HGSMI
    5050 */
    51 typedef struct _HGSMIGUESTCOMMANDCONTEXT
     51typedef struct HGSMIGUESTCOMMANDCONTEXT
    5252{
    5353    /** Information about the memory heap located in VRAM from which data
     
    6464 * via HGSMI
    6565 */
    66 typedef struct _HGSMIHOSTCOMMANDCONTEXT
     66typedef struct HGSMIHOSTCOMMANDCONTEXT
    6767{
    6868    /** Information about the memory area located in VRAM in which the host
     
    8585    RTIOPORT port;
    8686} HGSMIHOSTCOMMANDCONTEXT, *PHGSMIHOSTCOMMANDCONTEXT;
     87
     88
     89typedef struct VBVARECORD VBVARECORD, *PVBVARECORD;
     90typedef struct _VBVABUFFER VBVABUFFER, *PVBVABUFFER;
     91
     92/**
     93 * Structure grouping the context needed for sending graphics acceleration
     94 * information to the host via VBVA.  Each screen has its own VBVA buffer.
     95 */
     96typedef struct VBVABUFFERCONTEXT
     97{
     98    /** Offset of the buffer in the VRAM section for the screen */
     99    uint32_t    offVRAMBuffer;
     100    /** Length of the buffer in bytes */
     101    uint32_t    cbBuffer;
     102    /** This flag is set if we wrote to the buffer faster than the host could
     103     * read it. */
     104    bool        fHwBufferOverflow;
     105    /** The VBVA record that we are currently preparing for the host, NULL if
     106     * none. */
     107    VBVARECORD *pRecord;
     108    /** Pointer to the VBVA buffer mapped into the current address space.  Will
     109     * be NULL if VBVA is not enabled. */
     110    VBVABUFFER *pVBVA;
     111} VBVABUFFERCONTEXT, *PVBVABUFFERCONTEXT;
    87112
    88113/** @name Helper functions
     
    231256/** @}  */
    232257
     258/** @name VBVA APIs
     259 * @{ */
     260RTDECL(bool) VBoxVBVAEnable(PVBVABUFFERCONTEXT pCtx,
     261                            PHGSMIGUESTCOMMANDCONTEXT pHGSMICtx,
     262                            VBVABUFFER *pVBVA);
     263RTDECL(void) VBoxVBVADisable(PVBVABUFFERCONTEXT pCtx,
     264                             PHGSMIGUESTCOMMANDCONTEXT pHGSMICtx);
     265RTDECL(bool) VBoxVBVABufferBeginUpdate(PVBVABUFFERCONTEXT pCtx,
     266                                       PHGSMIGUESTCOMMANDCONTEXT pHGSMICtx);
     267RTDECL(void) VBoxVBVABufferEndUpdate(PVBVABUFFERCONTEXT pCtx);
     268RTDECL(bool) VBoxVBVAWrite(PVBVABUFFERCONTEXT pCtx,
     269                           PHGSMIGUESTCOMMANDCONTEXT pHGSMICtx,
     270                           const void *pv, uint32_t cb);
     271RTDECL(bool) VBoxVBVAOrderSupported(PVBVABUFFERCONTEXT pCtx, unsigned code);
     272RTDECL(void) VBoxHGSMIProcessDisplayInfo(PHGSMIGUESTCOMMANDCONTEXT pCtx,
     273                                         uint32_t cDisplay,
     274                                         int32_t  cOriginX,
     275                                         int32_t  cOriginY,
     276                                         uint32_t offStart,
     277                                         uint32_t cbPitch,
     278                                         uint32_t cWidth,
     279                                         uint32_t cHeight,
     280                                         uint16_t cBPP);
     281
     282/** @}  */
     283
    233284RT_C_DECLS_END
    234285
  • trunk/include/VBox/VMMDev.h

    r33676 r34438  
    19171917 * VBVA record.
    19181918 */
    1919 typedef struct
     1919typedef struct VBVARECORD
    19201920{
    19211921    /** The length of the record. Changed by guest. */
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