Changeset 30216 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Display
- Timestamp:
- Jun 15, 2010 10:42:46 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3D.cpp
r30215 r30216 3696 3696 static HRESULT APIENTRY vboxWddmDDevFlipOverlay(HANDLE hDevice, CONST D3DDDIARG_FLIPOVERLAY* pData) 3697 3697 { 3698 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3699 AssertBreakpoint(); 3700 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3701 return E_FAIL; 3698 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3699 PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice; 3700 PVBOXWDDMDISP_RESOURCE pRc = (PVBOXWDDMDISP_RESOURCE)pData->hSource; 3701 Assert(pRc); 3702 Assert(pRc->cAllocations > pData->SourceIndex); 3703 PVBOXWDDMDISP_ALLOCATION pAlloc = &pRc->aAllocations[pData->SourceIndex]; 3704 HRESULT hr = S_OK; 3705 PVBOXWDDMDISP_OVERLAY pOverlay = (PVBOXWDDMDISP_OVERLAY)pData->hOverlay; 3706 VBOXWDDM_OVERLAYFLIP_INFO OurInfo; 3707 vboxWddmDirtyRegionClear(&OurInfo.DirtyRegion); 3708 Assert(!pAlloc->LockInfo.cLocks); 3709 vboxWddmDirtyRegionUnite(&OurInfo.DirtyRegion, &pAlloc->DirtyRegion); 3710 D3DDDICB_FLIPOVERLAY OverInfo; 3711 OverInfo.hKernelOverlay = pOverlay->hOverlay; 3712 OverInfo.hSource = pAlloc->hAllocation; 3713 OverInfo.pPrivateDriverData = &OurInfo; 3714 OverInfo.PrivateDriverDataSize = sizeof (OurInfo); 3715 hr = pDevice->RtCallbacks.pfnFlipOverlayCb(pDevice->hDevice, &OverInfo); 3716 Assert(hr == S_OK); 3717 if (hr == S_OK) 3718 { 3719 Assert(!pAlloc->LockInfo.cLocks); 3720 if (!pAlloc->LockInfo.cLocks) 3721 { 3722 /* we have reported the dirty rect, may clear it if no locks are pending currently */ 3723 vboxWddmDirtyRegionClear(&pAlloc->DirtyRegion); 3724 } 3725 } 3726 3727 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3728 return hr; 3702 3729 } 3703 3730 static HRESULT APIENTRY vboxWddmDDevGetOverlayColorControls(HANDLE hDevice, D3DDDIARG_GETOVERLAYCOLORCONTROLS* pData) … … 3717 3744 static HRESULT APIENTRY vboxWddmDDevDestroyOverlay(HANDLE hDevice, CONST D3DDDIARG_DESTROYOVERLAY* pData) 3718 3745 { 3719 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3720 AssertBreakpoint(); 3721 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3722 return E_FAIL; 3746 vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3747 PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice; 3748 PVBOXWDDMDISP_OVERLAY pOverlay = (PVBOXWDDMDISP_OVERLAY)pData->hOverlay; 3749 D3DDDICB_DESTROYOVERLAY OverInfo; 3750 OverInfo.hKernelOverlay = pOverlay->hOverlay; 3751 HRESULT hr = pDevice->RtCallbacks.pfnDestroyOverlayCb(pDevice->hDevice, &OverInfo); 3752 Assert(hr == S_OK); 3753 if (hr == S_OK) 3754 { 3755 RTMemFree(pOverlay); 3756 } 3757 3758 vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice)); 3759 return hr; 3723 3760 } 3724 3761 static HRESULT APIENTRY vboxWddmDDevQueryResourceResidency(HANDLE hDevice, CONST D3DDDIARG_QUERYRESOURCERESIDENCY* pData)
Note:
See TracChangeset
for help on using the changeset viewer.