Changeset 33226 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideoHGSMI.cpp
- Timestamp:
- Oct 19, 2010 10:37:24 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 66774
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideoHGSMI.cpp
r33165 r33226 728 728 PrimaryExtension)); 729 729 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)); 762 738 if (commonFromDeviceExt(PrimaryExtension)->bHGSMI) 763 739 { 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 764 745 /* Map the adapter information. It will be needed for HGSMI IO. */ 765 rc = VBoxMapAdapterMemory ( PrimaryExtension,746 rc = VBoxMapAdapterMemory (commonFromDeviceExt(PrimaryExtension), 766 747 &commonFromDeviceExt(PrimaryExtension)->pvAdapterInformation, 767 commonFromDeviceExt(PrimaryExtension)->cbVRAM- VBVA_ADAPTER_INFORMATION_SIZE,748 AdapterMemorySize - VBVA_ADAPTER_INFORMATION_SIZE, 768 749 VBVA_ADAPTER_INFORMATION_SIZE 769 750 ); … … 833 814 * display drivers. 834 815 */ 835 rc = VBoxMapAdapterMemory ( PrimaryExtension,816 rc = VBoxMapAdapterMemory (commonFromDeviceExt(PrimaryExtension), 836 817 &commonFromDeviceExt(PrimaryExtension)->pvMiniportHeap, 837 818 commonFromDeviceExt(PrimaryExtension)->cbVRAM … … 1040 1021 #endif 1041 1022 1042 rc = VBoxMapAdapterMemory( PrimaryExtension, (void**)&PrimaryExtension->pvVisibleVram,1023 rc = VBoxMapAdapterMemory(commonFromDeviceExt(PrimaryExtension), (void**)&PrimaryExtension->pvVisibleVram, 1043 1024 0, 1044 1025 vboxWddmVramCpuVisibleSize(PrimaryExtension));
Note:
See TracChangeset
for help on using the changeset viewer.