VirtualBox

Ignore:
Timestamp:
Oct 19, 2010 10:37:24 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
66774
Message:

Additions/WINNT/Graphics: more refactoring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideoHGSMI.cpp

    r33165 r33226  
    728728             PrimaryExtension));
    729729
    730     /* Preinitialize the primary extension.
    731      * Note: bVBoxVideoSupported is set to FALSE, because HGSMI is active instead.
    732      * Note 2: shouldn't be needed for WDDM.
    733      */
    734     PrimaryExtension->pNext                              = NULL;
    735 #ifndef VBOX_WITH_WDDM
    736     PrimaryExtension->pPrimary                           = PrimaryExtension;
    737     PrimaryExtension->iDevice                            = 0;
    738     PrimaryExtension->ulFrameBufferOffset                = 0;
    739     PrimaryExtension->ulFrameBufferSize                  = 0;
    740 #endif
    741     PrimaryExtension->u.primary.ulVbvaEnabled            = 0;
    742     PrimaryExtension->u.primary.bVBoxVideoSupported      = FALSE;
    743 #ifndef VBOX_WITH_WDDM
    744     PrimaryExtension->u.primary.cDisplays                = 1;
    745 #endif
    746     commonFromDeviceExt(PrimaryExtension)->cbVRAM                   = AdapterMemorySize;
    747     commonFromDeviceExt(PrimaryExtension)->cbMiniportHeap           = 0;
    748     commonFromDeviceExt(PrimaryExtension)->pvMiniportHeap           = NULL;
    749     commonFromDeviceExt(PrimaryExtension)->pvAdapterInformation     = NULL;
    750     commonFromDeviceExt(PrimaryExtension)->pHostFlags               = NULL;
    751     PrimaryExtension->u.primary.ulMaxFrameBufferSize     = 0;
    752     commonFromDeviceExt(PrimaryExtension)->fCaps         = fCaps;
    753     commonFromDeviceExt(PrimaryExtension)->bHGSMI        = VBoxHGSMIIsSupported ();
    754     VBoxVideoCmnMemZero(&commonFromDeviceExt(PrimaryExtension)->areaHostHeap, sizeof(HGSMIAREA));
    755     VBoxVideoCmnMemZero(&PrimaryExtension->areaDisplay, sizeof(HGSMIAREA));
    756 
    757     if (commonFromDeviceExt(PrimaryExtension)->IOPortGuest == 0)
    758     {
    759         commonFromDeviceExt(PrimaryExtension)->bHGSMI = false;
    760     }
    761 
     730    memset(commonFromDeviceExt(PrimaryExtension), 0,
     731           sizeof(*commonFromDeviceExt(PrimaryExtension)));
     732    commonFromDeviceExt(PrimaryExtension)->cbVRAM = AdapterMemorySize;
     733    commonFromDeviceExt(PrimaryExtension)->fCaps  = fCaps;
     734    commonFromDeviceExt(PrimaryExtension)->bHGSMI = VBoxHGSMIIsSupported ();
     735    /* Why does this use VBoxVideoCmnMemZero?  The MSDN docs say that it should
     736     * only be used on mapped display adapter memory.  Done with memset above. */
     737    // VBoxVideoCmnMemZero(&commonFromDeviceExt(PrimaryExtension)->areaHostHeap, sizeof(HGSMIAREA));
    762738    if (commonFromDeviceExt(PrimaryExtension)->bHGSMI)
    763739    {
     740        /** @note (michael) moved this here as it is done unconditionally in both
     741         * driver branches.  Feel free to fix if that is ever changed. */
     742        commonFromDeviceExt(PrimaryExtension)->IOPortHost = (RTIOPORT)VGA_PORT_HGSMI_HOST;
     743        commonFromDeviceExt(PrimaryExtension)->IOPortGuest = (RTIOPORT)VGA_PORT_HGSMI_GUEST;
     744
    764745        /* Map the adapter information. It will be needed for HGSMI IO. */
    765         rc = VBoxMapAdapterMemory (PrimaryExtension,
     746        rc = VBoxMapAdapterMemory (commonFromDeviceExt(PrimaryExtension),
    766747                                   &commonFromDeviceExt(PrimaryExtension)->pvAdapterInformation,
    767                                    commonFromDeviceExt(PrimaryExtension)->cbVRAM - VBVA_ADAPTER_INFORMATION_SIZE,
     748                                   AdapterMemorySize - VBVA_ADAPTER_INFORMATION_SIZE,
    768749                                   VBVA_ADAPTER_INFORMATION_SIZE
    769750                                  );
     
    833814             *       display drivers.
    834815             */
    835             rc = VBoxMapAdapterMemory (PrimaryExtension,
     816            rc = VBoxMapAdapterMemory (commonFromDeviceExt(PrimaryExtension),
    836817                                       &commonFromDeviceExt(PrimaryExtension)->pvMiniportHeap,
    837818                                       commonFromDeviceExt(PrimaryExtension)->cbVRAM
     
    10401021#endif
    10411022
    1042         rc = VBoxMapAdapterMemory(PrimaryExtension, (void**)&PrimaryExtension->pvVisibleVram,
     1023        rc = VBoxMapAdapterMemory(commonFromDeviceExt(PrimaryExtension), (void**)&PrimaryExtension->pvVisibleVram,
    10431024                                       0,
    10441025                                       vboxWddmVramCpuVisibleSize(PrimaryExtension));
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