Changeset 4027 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Display
- Timestamp:
- Aug 3, 2007 7:53:12 PM (18 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Display
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/Additions/WINNT/Graphics/Display/dd.c ¶
r3397 r4027 16 16 17 17 #ifdef DEBUG 18 #define LOG_ENABLED 18 #define LOG_ENABLED 1 19 19 #endif 20 20 … … 65 65 { 66 66 PPDEV pDev = (PPDEV)dhpdev; 67 BOOL bDefineDDrawHeap = FALSE; 68 DWORD cHeaps = 0; 69 VIDEOMEMORY *pVm = NULL; 67 70 68 71 DISPDBG((0, "%s: %p, %p, %p, %p, %p. %p\n", __FUNCTION__, dhpdev, pHalInfo, pdwNumHeaps, pvmList, pdwNumFourCCCodes, pdwFourCC)); … … 77 80 if (!(pvmList && pdwFourCC)) 78 81 { 82 memset(&pHalInfo->ddCaps, 0, sizeof(DDNTCORECAPS)); 83 pHalInfo->ddCaps.dwSize = sizeof(DDNTCORECAPS); 84 pHalInfo->ddCaps.dwVidMemTotal = pDev->cScreenSize - pDev->cFrameBufferSize; 85 pHalInfo->ddCaps.dwVidMemFree = pHalInfo->ddCaps.dwVidMemTotal; 86 87 pHalInfo->ddCaps.dwCaps = 0; 88 pHalInfo->ddCaps.dwCaps2 = 0; 89 90 /* Declare we can handle textures wider than the primary */ 91 pHalInfo->ddCaps.dwCaps2 |= DDCAPS2_WIDESURFACES; 92 93 pHalInfo->ddCaps.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; 94 79 95 /* Create primary surface attributes */ 80 96 pHalInfo->vmiData.pvPrimary = pDev->pjScreen; … … 108 124 pHalInfo->vmiData.dwTextureAlign = 4; 109 125 } 110 memset(&pHalInfo->ddCaps, 0, sizeof(DDNTCORECAPS)); 111 pHalInfo->ddCaps.dwSize = sizeof(DDNTCORECAPS); 112 pHalInfo->ddCaps.dwVidMemTotal = pDev->cScreenSize; 113 pHalInfo->ddCaps.dwVidMemFree = pDev->cScreenSize; 114 115 pHalInfo->ddCaps.dwCaps = 0; 116 pHalInfo->ddCaps.dwCaps2 = 0; 117 118 /* Declare we can handle textures wider than the primary */ 119 pHalInfo->ddCaps.dwCaps2 |= DDCAPS2_WIDESURFACES; 120 121 pHalInfo->ddCaps.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; 126 127 cHeaps = 0; 128 129 /* Do we have sufficient videomemory to create an off-screen heap for DDraw? */ 130 if (pDev->cScreenSize > pDev->cFrameBufferSize) 131 { 132 bDefineDDrawHeap = TRUE; 133 cHeaps++; 134 } 135 136 pDev->cHeaps = cHeaps; 137 *pdwNumHeaps = cHeaps; 138 139 // If pvmList is not NULL then we can go ahead and fill out the VIDEOMEMORY 140 // structures which define our requested heaps. 141 142 if(pvmList) { 143 144 pVm=pvmList; 145 146 // 147 // Snag a pointer to the video-memory list so that we can use it to 148 // call back to DirectDraw to allocate video memory: 149 // 150 pDev->pvmList = pVm; 151 152 // 153 // Define the heap for DirectDraw 154 // 155 if ( bDefineDDrawHeap ) 156 { 157 pVm->dwFlags = VIDMEM_ISLINEAR ; 158 pVm->fpStart = pDev->cFrameBufferSize; 159 pVm->fpEnd = pDev->cScreenSize; 160 161 pVm->ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; 162 DISPDBG((0, "fpStart %ld fpEnd %ld\n", pVm->fpStart, pVm->fpEnd)); 163 164 pVm++; 165 } 166 } 122 167 123 168 #if 0 /* not mandatory */ … … 172 217 pCallBacks->dwFlags = 0; 173 218 174 /*175 219 pCallBacks->dwFlags = DDHAL_CB32_CREATESURFACE | DDHAL_CB32_CANCREATESURFACE; 176 220 pCallBacks->CreateSurface = DdCreateSurface; 177 221 pCallBacks->CanCreateSurface = DdCanCreateSurface; 178 pCallBacks->WaitForVerticalBlank = DdWaitForVerticalBlank; 179 pCallBacks->GetScanLine = DdGetScanLine; 180 pCallBacks->MapMemory = DdMapMemory; 181 DDHAL_CB32_WAITFORVERTICALBLANK | DDHAL_CB32_MAPMEMORY | DDHAL_CB32_GETSCANLINE 182 */ 222 // pCallBacks->WaitForVerticalBlank = DdWaitForVerticalBlank; 223 // pCallBacks->GetScanLine = DdGetScanLine; 224 // pCallBacks->MapMemory = DdMapMemory; 225 // DDHAL_CB32_WAITFORVERTICALBLANK | DDHAL_CB32_MAPMEMORY | DDHAL_CB32_GETSCANLINE 183 226 /* Note: pCallBacks->SetMode & pCallBacks->DestroyDriver are unused in Windows 2000 and up */ 184 227 … … 652 695 DISPDBG((0, "%s: %p\n", __FUNCTION__, pDev)); 653 696 654 // remember setting of exclusive mode in p pdev,697 // remember setting of exclusive mode in pDev, 655 698 // so GDI can stop to promote DeviceBitmaps into 656 699 // video memory -
TabularUnified trunk/src/VBox/Additions/WINNT/Graphics/Display/debug.c ¶
r3389 r4027 15 15 #include "driver.h" 16 16 17 #ifdef DEBUG17 #ifdef LOG_ENABLED 18 18 19 19 #ifdef VBOX -
TabularUnified trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h ¶
r3423 r4027 70 70 ULONG cScreenSize; // size of video memory, including 71 71 // offscreen memory. 72 ULONG cFrameBufferSize; // size of screen video memory 72 73 PVOID pOffscreenList; // linked list of DCI offscreen surfaces. 73 74 FLONG flRed; // For bitfields device, Red Mask … … 98 99 VBOXDISPLAYINFO *pInfo; 99 100 ULONG iDevice; 101 ULONG cbDisplayInformation; 100 102 #ifdef VBOX_WITH_DDRAW 101 103 BOOL bDdExclusiveMode; 102 104 DWORD dwNewDDSurfaceOffset; 105 DWORD cHeaps; 106 VIDEOMEMORY* pvmList; 103 107 #endif 104 108 }; -
TabularUnified trunk/src/VBox/Additions/WINNT/Graphics/Display/enable.c ¶
r3560 r4027 13 13 \**************************************************************************/ 14 14 #ifdef DEBUG 15 #define LOG_ENABLED 15 #define LOG_ENABLED 1 16 16 #endif 17 17 … … 1000 1000 { 1001 1001 PPDEV pDev = (PPDEV)pDirectDraw->dhpdev; 1002 HBITMAP hbmDevice;1002 // HBITMAP hbmDevice; 1003 1003 DD_SURFACE_GLOBAL* pSurfaceGlobal; 1004 SIZEL sizl;1004 // SIZEL sizl; 1005 1005 1006 1006 DISPDBG((0, "%s: %p\n", __FUNCTION__, pDev)); -
TabularUnified trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c ¶
r3380 r4027 66 66 DispInfo.u32DisplayInfoSize, pMemoryInformation->VideoRamLength)); 67 67 ppdev->pInfo = NULL; 68 ppdev->cbDisplayInformation = 0; 68 69 return; 69 70 } 70 71 71 72 ppdev->iDevice = DispInfo.iDevice; 73 ppdev->cbDisplayInformation = DispInfo.u32DisplayInfoSize; 72 74 73 75 pu8 = (uint8_t *)pMemoryInformation->VideoRamBase; … … 195 197 } 196 198 197 ppdev->cScreenSize = videoMemoryInformation.VideoRamLength;198 199 199 // 200 200 // Initialize the head of the offscreen list to NULL. … … 246 246 /* Setup the display information. */ 247 247 vboxSetupDisplayInfo (ppdev, &videoMemoryInformation); 248 249 ppdev->cScreenSize = videoMemoryInformation.VideoRamLength - ppdev->cbDisplayInformation; 250 ppdev->cFrameBufferSize = videoMemoryInformation.FrameBufferLength; 248 251 } 249 252
Note:
See TracChangeset
for help on using the changeset viewer.