Changeset 37423 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm
- Timestamp:
- Jun 12, 2011 6:37:56 PM (14 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDisp.h
r36867 r37423 102 102 HANDLE hDriver; /* Display device handle which was passed to VBoxDispDrvEnablePDEV */ 103 103 HDEV hDevGDI; /* GDI's handle for PDEV created in VBoxDispDrvEnablePDEV */ 104 104 105 105 VBOXDISPCURRENTMODE mode; /* Current device mode */ 106 106 ULONG iDevice; /* Miniport's device index */ … … 152 152 VOID APIENTRY VBoxDispDrvDisableSurface(DHPDEV dhpdev); 153 153 154 BOOL APIENTRY VBoxDispDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 154 BOOL APIENTRY VBoxDispDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 155 155 LONG x1, LONG y1, LONG x2, LONG y2, RECTL *prclBounds, MIX mix); 156 156 BOOL APIENTRY VBoxDispDrvStrokePath(SURFOBJ *pso, PATHOBJ *ppo, CLIPOBJ *pco, XFORMOBJ *pxo, … … 171 171 COLORADJUSTMENT *pca, POINTL *pptlHTOrg, RECTL *prclDest, RECTL *prclSrc, 172 172 POINTL *pptlMask, ULONG iMode); 173 BOOL APIENTRY VBoxDispDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 173 BOOL APIENTRY VBoxDispDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 174 174 RECTL *prclDest, POINTL *pptlSrc); 175 175 … … 192 192 193 193 #ifdef VBOX_WITH_DDRAW 194 BOOL APIENTRY VBoxDispDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, 194 BOOL APIENTRY VBoxDispDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, 195 195 VIDEOMEMORY *pvmList, DWORD *pdwNumFourCCCodes, DWORD *pdwFourCC); 196 BOOL APIENTRY VBoxDispDrvEnableDirectDraw(DHPDEV dhpdev, DD_CALLBACKS *pCallBacks, 196 BOOL APIENTRY VBoxDispDrvEnableDirectDraw(DHPDEV dhpdev, DD_CALLBACKS *pCallBacks, 197 197 DD_SURFACECALLBACKS *pSurfaceCallBacks, 198 198 DD_PALETTECALLBACKS *pPaletteCallBacks); … … 217 217 return pso; 218 218 } 219 219 220 220 #endif /*VBOXDISP_H*/ -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispDDraw.cpp
r36867 r37423 248 248 } 249 249 250 /* Called to destroy DirectDraw surface, 250 /* Called to destroy DirectDraw surface, 251 251 * in particular we should free vhwa resources allocated on VBoxDispDDCreateSurface. 252 252 * Note: we're always returning DDHAL_DRIVER_NOTHANDLED because we rely on DirectDraw memory manager. … … 499 499 VBoxVBVABufferEndUpdate(&pDev->vbvaCtx); 500 500 } 501 else if ((pSurf->ddsCaps.dwCaps & DDSCAPS_VISIBLE) 501 else if ((pSurf->ddsCaps.dwCaps & DDSCAPS_VISIBLE) 502 502 || ((pSurf->ddsCaps.dwCaps & DDSCAPS_OVERLAY) && pDesc->bVisible)) 503 503 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispDDrawVHWA.cpp
r36867 r37423 59 59 if (VBOXVHWA_CAP(pDev, VBOXVHWA_CAPS_BLT)) 60 60 { 61 /* we only support simple dst=src copy 61 /* we only support simple dst=src copy 62 62 * Note: search "ternary raster operations" on msdn for more info 63 63 */ … … 540 540 { 541 541 PVBOXVHWASURFDESC pDstDesc = (PVBOXVHWASURFDESC) pDstSurf->lpGbl->dwReserved1; 542 542 543 543 if (!pDstDesc) 544 544 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispDrawCmd.cpp
r36867 r37423 285 285 */ 286 286 287 BOOL APIENTRY 287 BOOL APIENTRY 288 288 VBoxDispDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, LONG x1, LONG y1, LONG x2, LONG y2, 289 289 RECTL *prclBounds, MIX mix) … … 300 300 } 301 301 302 BOOL APIENTRY 302 BOOL APIENTRY 303 303 VBoxDispDrvStrokePath(SURFOBJ *pso, PATHOBJ *ppo, CLIPOBJ *pco, XFORMOBJ *pxo, 304 304 BRUSHOBJ *pbo, POINTL *pptlBrushOrg, LINEATTRS *plineattrs, MIX mix) … … 315 315 } 316 316 317 BOOL APIENTRY 317 BOOL APIENTRY 318 318 VBoxDispDrvFillPath(SURFOBJ *pso, PATHOBJ *ppo, CLIPOBJ *pco, BRUSHOBJ *pbo, POINTL *pptlBrushOrg, 319 319 MIX mix, FLONG flOptions) … … 343 343 } 344 344 345 BOOL APIENTRY 345 BOOL APIENTRY 346 346 VBoxDispDrvTextOut(SURFOBJ *pso, STROBJ *pstro, FONTOBJ *pfo, CLIPOBJ *pco, 347 347 RECTL *prclExtra, RECTL *prclOpaque, BRUSHOBJ *pboFore, … … 498 498 } 499 499 500 BOOL APIENTRY 500 BOOL APIENTRY 501 501 VBoxDispDrvBitBlt(SURFOBJ *psoTrg, SURFOBJ *psoSrc, SURFOBJ *psoMask, CLIPOBJ *pco, XLATEOBJ *pxlo, 502 502 RECTL *prclTrg, POINTL *pptlSrc, POINTL *pptlMask, BRUSHOBJ *pbo, POINTL *pptlBrush, ROP4 rop4) … … 509 509 "pptlMask = %p, pbo = %p, pptlBrush = %p, rop4 = %08X", 510 510 psoTrg, psoSrc, psoMask, pco, pxlo, prclTrg, pptlSrc, pptlMask, pbo, pptlBrush, rop4)); 511 511 512 512 bRc = EngBitBlt(getSurfObj(psoTrg), getSurfObj(psoSrc), psoMask, pco, pxlo, prclTrg, pptlSrc, pptlMask, pbo, pptlBrush, rop4); 513 513 VBVA_OPERATION(psoTrg, BitBlt, … … 537 537 538 538 BOOL APIENTRY 539 VBoxDispDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 539 VBoxDispDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 540 540 RECTL *prclDest, POINTL *pptlSrc) 541 541 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispDriverDDraw.cpp
r36867 r37423 63 63 /* Called to get supported DirectDraw caps */ 64 64 BOOL APIENTRY 65 VBoxDispDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, 65 VBoxDispDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, 66 66 VIDEOMEMORY *pvmList, DWORD *pdwNumFourCCCodes, DWORD *pdwFourCC) 67 67 { … … 181 181 pSurfaceCallBacks->dwFlags |= DDHAL_SURFCB32_UPDATEOVERLAY|DDHAL_SURFCB32_SETOVERLAYPOSITION; 182 182 } 183 } 183 } 184 184 #endif 185 185 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispMini.cpp
r36867 r37423 58 58 59 59 /* Allocate temp buffer */ 60 pMiniportModes = (PVIDEO_MODE_INFORMATION) 60 pMiniportModes = (PVIDEO_MODE_INFORMATION) 61 61 EngAllocMem(0, numModes.NumModes*numModes.ModeInformationLength, MEM_ALLOC_TAG); 62 62 … … 75 75 VBOX_CHECK_WINERR_RETRC(dwrc, VERR_DEV_IO_ERROR); 76 76 } 77 77 78 78 /* Check which of miniport modes are supprted by display driver. 79 79 * Note: size of VIDEO_MODE_INFORMATION is returned by miniport driver in numModes.ModeInformationLength, … … 111 111 112 112 /* Allocate and zero output buffer */ 113 *ppModesTable = (PVIDEO_MODE_INFORMATION) 113 *ppModesTable = (PVIDEO_MODE_INFORMATION) 114 114 EngAllocMem(FL_ZERO_MEMORY, cSupportedModes*sizeof(VIDEO_MODE_INFORMATION), MEM_ALLOC_TAG); 115 115 … … 121 121 } 122 122 123 /* Copy supported modes to output buffer */ 123 /* Copy supported modes to output buffer */ 124 124 pMode = pMiniportModes; 125 125 for (j=0, i=0; i<numModes.NumModes; ++i) … … 238 238 239 239 memset(pInfo, 0, sizeof(QUERYHGSMIRESULT)); 240 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_QUERY_HGSMI_INFO, NULL, 0, 240 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_QUERY_HGSMI_INFO, NULL, 0, 241 241 pInfo, sizeof(QUERYHGSMIRESULT), &cbReturned); 242 242 VBOX_CHECK_WINERR_RETRC(dwrc, VERR_DEV_IO_ERROR); … … 343 343 Assert(pDev->pointer.pAttrs); 344 344 345 dwrc = EngDeviceIoControl(pDev->hDriver, IOCTL_VIDEO_SET_POINTER_ATTR, pDev->pointer.pAttrs, pDev->pointer.cbAttrs, 345 dwrc = EngDeviceIoControl(pDev->hDriver, IOCTL_VIDEO_SET_POINTER_ATTR, pDev->pointer.pAttrs, pDev->pointer.cbAttrs, 346 346 NULL, 0, &cbReturned); 347 347 VBOX_CHECK_WINERR_RETRC(dwrc, VERR_DEV_IO_ERROR); … … 384 384 LOGF_ENTER(); 385 385 386 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_SHARE_VIDEO_MEMORY, pSMem, sizeof(VIDEO_SHARE_MEMORY), 386 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_SHARE_VIDEO_MEMORY, pSMem, sizeof(VIDEO_SHARE_MEMORY), 387 387 pSMemInfo, sizeof(VIDEO_SHARE_MEMORY_INFORMATION), &cbReturned); 388 388 VBOX_CHECK_WINERR_RETRC(dwrc, VERR_DEV_IO_ERROR); 389 VBOX_WARN_IOCTLCB_RETRC("IOCTL_VIDEO_SHARE_VIDEO_MEMORY", cbReturned, 389 VBOX_WARN_IOCTLCB_RETRC("IOCTL_VIDEO_SHARE_VIDEO_MEMORY", cbReturned, 390 390 sizeof(VIDEO_SHARE_MEMORY_INFORMATION), VERR_DEV_IO_ERROR); 391 391 … … 400 400 LOGF_ENTER(); 401 401 402 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY, pSMem, sizeof(VIDEO_SHARE_MEMORY), 402 dwrc = EngDeviceIoControl(hDriver, IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY, pSMem, sizeof(VIDEO_SHARE_MEMORY), 403 403 NULL, 0, &cbReturned); 404 404 VBOX_CHECK_WINERR_RETRC(dwrc, VERR_DEV_IO_ERROR); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispMouse.cpp
r36867 r37423 206 206 { 207 207 LOG(("BMF_32BPP")); 208 memcpy(psoRes->pvBits, psoBitmap->pvBits, min(psoRes->cjBits, psoBitmap->cjBits)); 208 memcpy(psoRes->pvBits, psoBitmap->pvBits, min(psoRes->cjBits, psoBitmap->cjBits)); 209 209 } 210 210 else … … 495 495 pDev->pointer.pAttrs->Enable |= VBOX_MOUSE_POINTER_VISIBLE; 496 496 } 497 497 498 498 if (fl & SPS_ALPHA) 499 499 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispVBVA.cpp
r36867 r37423 323 323 { 324 324 pDev->hgsmi.bSupported = TRUE; 325 325 326 326 pDev->hgsmi.mp = callbacks; 327 327 pDev->vpAPI = portProcs; … … 398 398 } 399 399 400 /* Setup HGSMI heap in the display information area. 400 /* Setup HGSMI heap in the display information area. 401 401 * The area has some space reserved for HGSMI event flags in the beginning. 402 402 */ … … 561 561 */ 562 562 563 void vbvaDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 563 void vbvaDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 564 564 LONG x1, LONG y1, LONG x2, LONG y2, RECTL *prclBounds, MIX mix) 565 565 { … … 620 620 } 621 621 622 void vbvaDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 622 void vbvaDrvCopyBits(SURFOBJ *psoDest, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, 623 623 RECTL *prclDest, POINTL *pptlSrc) 624 624 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/xpdm/VBoxDispVRDP.cpp
r36867 r37423 929 929 */ 930 930 931 void vrdpDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 931 void vrdpDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, 932 932 LONG x1, LONG y1, LONG x2, LONG y2, RECTL *prclBounds, MIX mix) 933 933 { … … 1231 1231 WARN(("unsupported: pstro->pwszOrg=%p, prclExtra=%p, pfo->flFontType & FO_TYPE_RASTER = 0x%08X, " 1232 1232 "pstro->cGlyphs = %d, pboOpaque->iSolidColor %p, pfo->iUniq = %p", 1233 pstro->pwszOrg, prclExtra, pfo->flFontType & FO_TYPE_RASTER, pstro->cGlyphs, 1233 pstro->pwszOrg, prclExtra, pfo->flFontType & FO_TYPE_RASTER, pstro->cGlyphs, 1234 1234 pboOpaque? pboOpaque->iSolidColor: 0, pfo->iUniq)); 1235 1235 vrdpReportDirtyRects(pDev, &clipRects);
Note:
See TracChangeset
for help on using the changeset viewer.