VirtualBox

Ignore:
Timestamp:
Mar 11, 2009 3:50:37 PM (16 years ago)
Author:
vboxsync
Message:

HGSMI: the windows guest display drivers.

Location:
trunk/src/VBox/Additions/WINNT/Graphics
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/drv.c

    r17615 r17704  
    796796        {
    797797            if (ppdev->pVBVA->u32HostEvents
    798                 & VBVA_F_MODE_VRDP_RESET)
     798                & VBOX_VIDEO_INFO_HOST_EVENTS_F_VRDP_RESET)
    799799            {
    800800                vrdpReset (ppdev);
    801801
    802802                ppdev->pVBVA->u32HostEvents &=
    803                     ~VBVA_F_MODE_VRDP_RESET;
     803                    ~VBOX_VIDEO_INFO_HOST_EVENTS_F_VRDP_RESET;
    804804            }
    805805
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c

    r17665 r17704  
    6969    ULONG iDevice;
    7070    uint32_t u32DisplayInfoSize;
     71    uint32_t u32MinVBVABufferSize;
    7172
    7273#ifndef VBOX_WITH_HGSMI
     
    8586        iDevice = DispInfo.iDevice;
    8687        u32DisplayInfoSize = DispInfo.u32DisplayInfoSize;
     88        u32MinVBVABufferSize = 0; /* In old mode the buffer is not used at all. */
    8789    }
    8890#else
     
    99101    if (ppdev->bHGSMISupported)
    100102    {
    101         /* In HGSMI mode the display driver decides about the size. */
    102103        iDevice = info.iDevice;
    103         u32DisplayInfoSize = VBVA_DISPLAY_INFORMATION_SIZE;
     104        u32DisplayInfoSize = info.u32DisplayInfoSize;
     105        u32MinVBVABufferSize = info.u32MinVBVABufferSize;
    104106    }
    105107#endif /* VBOX_WITH_HGSMI */
     
    138140            /* Use minimum 64K and maximum the cbFrameBuffer for the VBVA buffer. */
    139141            for (ppdev->layout.cbVBVABuffer = ppdev->layout.cbFrameBuffer;
     142#ifndef VBOX_WITH_HGSMI
    140143                 ppdev->layout.cbVBVABuffer >= 0x10000;
     144#else
     145                 ppdev->layout.cbVBVABuffer >= u32MinVBVABufferSize;
     146#endif /* VBOX_WITH_HGSMI */
    141147                 ppdev->layout.cbVBVABuffer /= 2)
    142148            {
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c

    r17665 r17704  
    672672            VBVAINFOSCREEN *pScreen = (VBVAINFOSCREEN *)p;
    673673
     674            pScreen->u32ViewIndex    = ppdev->iDevice;
    674675            pScreen->i32OriginX      = ppdev->ptlDevOrg.x;
    675676            pScreen->i32OriginY      = ppdev->ptlDevOrg.y;
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp

    r17665 r17704  
    18441844            pInfo->areaDisplay = pDevExt->areaDisplay;
    18451845
     1846            pInfo->u32DisplayInfoSize   = VBVA_DISPLAY_INFORMATION_SIZE;
     1847            pInfo->u32MinVBVABufferSize = VBVA_MIN_BUFFER_SIZE;
     1848
    18461849            RequestPacket->StatusBlock->Information = sizeof(QUERYHGSMIRESULT);
    18471850            Result = TRUE;
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/vboxioctl.h

    r17583 r17704  
    103103    HGSMIAREA areaDisplay;
    104104
     105    /* Size of the display information area. */
     106    uint32_t u32DisplayInfoSize;
     107
     108    /* Minimum size of the VBAV buffer. */
     109    uint32_t u32MinVBVABufferSize;
    105110} QUERYHGSMIRESULT;
    106111#endif /* VBOX_WITH_HGSMI */
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