Lines Matching refs:pDev

321 int VBoxDispVBVAInit(PVBOXDISPDEV pDev)
332 rc = VBoxDispMPQueryHGSMIInfo(pDev->hDriver, &info);
335 rc = VBoxDispMPQueryHGSMICallbacks(pDev->hDriver, &callbacks);
338 rc = VBoxDispMPHGSMIQueryPortProcs(pDev->hDriver, &portProcs);
343 pDev->hgsmi.bSupported = TRUE;
345 pDev->hgsmi.mp = callbacks;
346 pDev->vpAPI = portProcs;
349 if (pDev->hgsmi.bSupported)
355 dwrc = EngDeviceIoControl(pDev->hDriver, IOCTL_VIDEO_HGSMI_HANDLER_ENABLE, &HandlerReg, sizeof(HandlerReg),
362 VBoxDispVHWAInit(pDev);
370 if (pDev->hgsmi.bSupported)
373 VBOXDISPVRAMLAYOUT *vram = &pDev->layout;
375 pDev->iDevice = info.iDevice;
377 vram->cbVRAM = pDev->memInfo.VideoRamLength;
380 vram->cbFramebuffer = RT_ALIGN_32(pDev->memInfo.FrameBufferLength, 0x1000);
385 pDev->hgsmi.bSupported = FALSE;
405 pDev->hgsmi.bSupported = FALSE;
422 if (pDev->hgsmi.bSupported)
426 rc = HGSMIHeapSetup(&pDev->hgsmi.ctx.heapCtx,
428 (uint8_t *)pDev->memInfo.VideoRamBase+pDev->layout.offDisplayInfo+sizeof(HGSMIHOSTFLAGS),
429 pDev->layout.cbDisplayInfo-sizeof(HGSMIHOSTFLAGS),
430 info.areaDisplay.offBase+pDev->layout.offDisplayInfo+sizeof(HGSMIHOSTFLAGS),
435 pDev->hgsmi.ctx.port = info.IOPortGuestCommand;
440 pDev->hgsmi.bSupported = FALSE;
445 if (!pDev->hgsmi.bSupported)
447 VBOXDISPVRAMLAYOUT *vram = &pDev->layout;
449 pDev->iDevice = 0;
452 vram->cbVRAM = pDev->memInfo.VideoRamLength;
455 vram->cbFramebuffer = RT_ALIGN_32(pDev->memInfo.FrameBufferLength, 0x1000);
468 VBoxVBVASetupBufferContext(&pDev->vbvaCtx, pDev->layout.offVBVABuffer, pDev->layout.cbVBVABuffer);
476 pDev->layout.cbVRAM,
477 pDev->layout.offFramebuffer, pDev->layout.cbFramebuffer,
478 pDev->layout.offDDrawHeap, pDev->layout.cbDDrawHeap,
479 pDev->layout.offVBVABuffer, pDev->layout.cbVBVABuffer,
480 pDev->layout.offDisplayInfo, pDev->layout.cbDisplayInfo
487 void VBoxDispVBVAHostCommandComplete(PVBOXDISPDEV pDev, VBVAHOSTCMD *pCmd)
489 pDev->hgsmi.mp.pfnCompletionHandler(pDev->hgsmi.mp.hContext, pCmd);
492 void vbvaReportDirtyRect(PVBOXDISPDEV pDev, RECTL *pRectOrig)
494 if (pDev && pRectOrig)
528 rect.left = RT_CLAMP(rect.left, 0, (LONG)pDev->mode.ulWidth);
529 rect.top = RT_CLAMP(rect.top, 0, (LONG)pDev->mode.ulHeight);
530 rect.right = RT_CLAMP(rect.right, 0, (LONG)pDev->mode.ulWidth);
531 rect.bottom = RT_CLAMP(rect.bottom, 0, (LONG)pDev->mode.ulHeight);
543 hdr.x = (int16_t)(rect.left + pDev->orgDev.x);
544 hdr.y = (int16_t)(rect.top + pDev->orgDev.y);
548 VBoxVBVAWrite(&pDev->vbvaCtx, &pDev->hgsmi.ctx, &hdr, sizeof(hdr));
552 static void vbvaReportDirtyPath(PVBOXDISPDEV pDev, PATHOBJ *ppo)
564 vbvaReportDirtyRect(pDev, &rclBounds);
567 static void vbvaReportDirtyClip(PVBOXDISPDEV pDev, CLIPOBJ *pco, RECTL *prcl)
571 vbvaReportDirtyRect(pDev, prcl);
575 vbvaReportDirtyRect(pDev, &pco->rclBounds);
586 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
587 vbvaReportDirtyClip(pDev, pco, prclBounds);
593 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
594 vbvaReportDirtyPath(pDev, ppo);
600 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
601 vbvaReportDirtyPath(pDev, ppo);
606 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
607 vbvaReportDirtyClip(pDev, pco, NULL);
614 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
615 vbvaReportDirtyClip(pDev, pco, prclOpaque? prclOpaque: &pstro->rclBkGround);
620 PVBOXDISPDEV pDev = (PVBOXDISPDEV)pso->dhpdev;
623 vbvaReportDirtyRect(pDev, prcl);
630 PVBOXDISPDEV pDev = (PVBOXDISPDEV)psoTrg->dhpdev;
631 vbvaReportDirtyClip(pDev, pco, prclTrg);
638 PVBOXDISPDEV pDev = (PVBOXDISPDEV)psoDest->dhpdev;
639 vbvaReportDirtyClip(pDev, pco, prclDest);
645 PVBOXDISPDEV pDev = (PVBOXDISPDEV)psoDest->dhpdev;
646 vbvaReportDirtyClip(pDev, pco, prclDest);