VirtualBox

Changeset 17665 in vbox


Ignore:
Timestamp:
Mar 11, 2009 9:18:07 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
44155
Message:

HGSMI: the windows guest display drivers.

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

Legend:

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

    r17623 r17665  
    9999    if (ppdev->bHGSMISupported)
    100100    {
     101        /* In HGSMI mode the display driver decides about the size. */
    101102        iDevice = info.iDevice;
    102         u32DisplayInfoSize = 4096; /* In HGSMI mode the display driver decides about the size. */
     103        u32DisplayInfoSize = VBVA_DISPLAY_INFORMATION_SIZE;
    103104    }
    104105#endif /* VBOX_WITH_HGSMI */
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/vbox.c

    r17623 r17665  
    366366            VBVAENABLE *pEnable = (VBVAENABLE *)p;
    367367
    368             pEnable->u32Flags    = bEnable? VBVA_F_ENABLE: VBVA_F_DISABLE;
    369             pEnable->u32Reserved = 0;
     368            pEnable->u32Flags  = bEnable? VBVA_F_ENABLE: VBVA_F_DISABLE;
     369            pEnable->u32Offset = ppdev->layout.offVBVABuffer;
    370370
    371371            vboxHGSMIBufferSubmit (ppdev, p);
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp

    r17618 r17665  
    732732void VBoxComputeFrameBufferSizes (PDEVICE_EXTENSION PrimaryExtension)
    733733{
     734#ifndef VBOX_WITH_HGSMI
    734735    ULONG ulAvailable = PrimaryExtension->u.primary.cbVRAM
    735736                        - PrimaryExtension->u.primary.cbMiniportHeap
    736737                        - VBOX_VIDEO_ADAPTER_INFORMATION_SIZE;
     738#else
     739    ULONG ulAvailable = PrimaryExtension->u.primary.cbVRAM
     740                        - PrimaryExtension->u.primary.cbMiniportHeap
     741                        - VBVA_ADAPTER_INFORMATION_SIZE;
     742#endif /* VBOX_WITH_HGSMI */
    737743
    738744    /* Size of a framebuffer. */
     
    748754             ulAvailable - ulSize * PrimaryExtension->u.primary.cDisplays));
    749755
     756#ifndef VBOX_WITH_HGSMI
    750757    if (ulSize > VBOX_VIDEO_DISPLAY_INFORMATION_SIZE)
    751758    {
     
    758765        ulSize = 0;
    759766    }
     767#endif /* !VBOX_WITH_HGSMI */
    760768
    761769    /* Update the primary info. */
    762770    PrimaryExtension->u.primary.ulMaxFrameBufferSize     = ulSize;
     771#ifndef VBOX_WITH_HGSMI
    763772    PrimaryExtension->u.primary.ulDisplayInformationSize = VBOX_VIDEO_DISPLAY_INFORMATION_SIZE;
     773#endif /* !VBOX_WITH_HGSMI */
    764774
    765775    /* Update the per extension info. */
     
    775785                 Extension->iDevice, ulFrameBufferOffset));
    776786
     787#ifndef VBOX_WITH_HGSMI
    777788        ulFrameBufferOffset += PrimaryExtension->u.primary.ulMaxFrameBufferSize
    778789                               + PrimaryExtension->u.primary.ulDisplayInformationSize;
     790#else
     791        ulFrameBufferOffset += PrimaryExtension->u.primary.ulMaxFrameBufferSize;
     792#endif /* VBOX_WITH_HGSMI */
    779793
    780794        Extension = Extension->pNext;
     
    825839}
    826840
     841#ifndef VBOX_WITH_HGSMI
    827842static void vboxQueryConf (PDEVICE_EXTENSION PrimaryExtension, uint32_t u32Index, ULONG *pulValue)
    828843{
     
    11061121    dprintf(("VBoxVideo::VBoxSetupDisplays: finished\n"));
    11071122}
     1123#endif /* VBOX_WITH_HGSMI */
    11081124
    11091125VP_STATUS VBoxVideoFindAdapter(IN PVOID HwDeviceExtension,
     
    16921708        }
    16931709
     1710#ifndef VBOX_WITH_HGSMI
    16941711        case IOCTL_VIDEO_QUERY_DISPLAY_INFO:
    16951712        {
     
    17141731            break;
    17151732        }
     1733#endif /* !VBOX_WITH_HGSMI */
    17161734
    17171735        case IOCTL_VIDEO_VBVA_ENABLE:
     
    20492067
    20502068    MapInformation->VideoRamBase = RequestedAddress->RequestedVirtualAddress;
     2069#ifndef VBOX_WITH_HGSMI
    20512070    MapInformation->VideoRamLength = DeviceExtension->pPrimary->u.primary.ulMaxFrameBufferSize
    20522071                                     + DeviceExtension->pPrimary->u.primary.ulDisplayInformationSize;
     2072#else
     2073    MapInformation->VideoRamLength = DeviceExtension->pPrimary->u.primary.ulMaxFrameBufferSize;
     2074#endif /* VBOX_WITH_HGSMI */
    20532075
    20542076    Status = VideoPortMapMemory(DeviceExtension, FrameBuffer,
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h

    r17583 r17665  
    117117           ULONG ulMaxFrameBufferSize;         /* The size of the VRAM allocated for the a single framebuffer. */
    118118           
     119#ifndef VBOX_WITH_HGSMI
    119120           ULONG ulDisplayInformationSize;     /* The size of the Display information, which is at offset:
    120121                                                * ulFrameBufferOffset + ulMaxFrameBufferSize.
    121122                                                */
     123#endif /* !VBOX_WITH_HGSMI */
    122124           
    123125#ifdef 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