Changeset 26874 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm
- Timestamp:
- Feb 26, 2010 5:24:48 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.cpp
r26833 r26874 201 201 return Status; 202 202 } 203 204 #if 0205 206 NTSTATUS vboxWddmGhInitPrimary(PDEVICE_EXTENSION pDevExt, D3DDDI_VIDEO_PRESENT_SOURCE_ID srcId, D3DKMDT_VIDPN_SOURCE_MODE *pVidPnSourceModeInfo)207 {208 NTSTATUS Status;209 PVBOXWDDM_SOURCE pSourceInfo = &pDevExt->aSources[srcId];210 memset(pSourceInfo, 0, sizeof (VBOXWDDM_SOURCE));211 pSourceInfo->VisScreenWidth = pVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cx;212 pSourceInfo->VisScreenHeight = pVidPnSourceModeInfo->Format.Graphics.PrimSurfSize.cy;213 pSourceInfo->BitsPerPlane = vboxWddmCalcBitsPerPixel(pVidPnSourceModeInfo->Format.Graphics.PixelFormat);214 Assert(pSourceInfo->BitsPerPlane);215 if (pSourceInfo->BitsPerPlane)216 {217 /*218 * Set the current mode into the hardware.219 */220 if (VBoxVideoSetCurrentMode(pDevExt, srcId, pSourceInfo))221 {222 223 224 }225 else226 {227 AssertBreakpoint();228 229 }230 }231 else232 {233 drprintf((__FUNCTION__":ERROR: failed to caltulate bpp from pixel format (%d)\n",234 pVidPnSourceModeInfo->Format.Graphics.PixelFormat));235 return STATUS_INVALID_PARAMETER;236 }237 238 return Status;239 240 241 242 // DWORD returnedDataLength;243 // DWORD MaxWidth, MaxHeight;244 // VIDEO_MEMORY videoMemory;245 // VIDEO_MEMORY_INFORMATION videoMemoryInformation;246 // ULONG RemappingNeeded = 0;247 248 249 /*250 * don't need to map anything here, we use one common HGSMI heap for all sources251 */252 253 // If this is the first time we enable the surface we need to map in the254 // memory also.255 //256 257 if (bFirst || RemappingNeeded)258 {259 // videoMemory.RequestedVirtualAddress = NULL;260 //261 // if (EngDeviceIoControl(ppdev->hDriver,262 // IOCTL_VIDEO_MAP_VIDEO_MEMORY,263 // &videoMemory,264 // sizeof(VIDEO_MEMORY),265 // &videoMemoryInformation,266 // sizeof(VIDEO_MEMORY_INFORMATION),267 // &returnedDataLength))268 // {269 // DISPDBG((1, "DISP bInitSURF failed IOCTL_VIDEO_MAP\n"));270 // return(FALSE);271 // }272 //273 // ppdev->pjScreen = (PBYTE)(videoMemoryInformation.FrameBufferBase);274 //275 // if (videoMemoryInformation.FrameBufferBase !=276 // videoMemoryInformation.VideoRamBase)277 // {278 // DISPDBG((0, "VideoRamBase does not correspond to FrameBufferBase\n"));279 // }280 //281 // //282 // // Make sure we can access this video memory283 // //284 //285 // *(PULONG)(ppdev->pjScreen) = 0xaa55aa55;286 //287 // if (*(PULONG)(ppdev->pjScreen) != 0xaa55aa55) {288 //289 // DISPDBG((1, "Frame buffer memory is not accessible.\n"));290 // return(FALSE);291 // }292 //293 // /* Clear VRAM to avoid distortions during the video mode change. */294 // RtlZeroMemory(ppdev->pjScreen,295 // ppdev->cyScreen * (ppdev->lDeltaScreen > 0? ppdev->lDeltaScreen: -ppdev->lDeltaScreen));296 //297 // //298 // // Initialize the head of the offscreen list to NULL.299 // //300 //301 // ppdev->pOffscreenList = NULL;302 //303 // // It's a hardware pointer; set up pointer attributes.304 //305 // MaxHeight = ppdev->PointerCapabilities.MaxHeight;306 //307 // // Allocate space for two DIBs (data/mask) for the pointer. If this308 // // device supports a color Pointer, we will allocate a larger bitmap.309 // // If this is a color bitmap we allocate for the largest possible310 // // bitmap because we have no idea of what the pixel depth might be.311 //312 // // Width rounded up to nearest byte multiple313 //314 // if (!(ppdev->PointerCapabilities.Flags & VIDEO_MODE_COLOR_POINTER))315 // {316 // MaxWidth = (ppdev->PointerCapabilities.MaxWidth + 7) / 8;317 // }318 // else319 // {320 // MaxWidth = ppdev->PointerCapabilities.MaxWidth * sizeof(DWORD);321 // }322 //323 // ppdev->cjPointerAttributes =324 // sizeof(VIDEO_POINTER_ATTRIBUTES) +325 // ((sizeof(UCHAR) * MaxWidth * MaxHeight) * 2);326 //327 // ppdev->pPointerAttributes = (PVIDEO_POINTER_ATTRIBUTES)328 // EngAllocMem(0, ppdev->cjPointerAttributes, ALLOC_TAG);329 //330 // if (ppdev->pPointerAttributes == NULL) {331 //332 // DISPDBG((0, "bInitPointer EngAllocMem failed\n"));333 // return(FALSE);334 // }335 //336 // ppdev->pPointerAttributes->Flags = ppdev->PointerCapabilities.Flags;337 // ppdev->pPointerAttributes->WidthInBytes = MaxWidth;338 // ppdev->pPointerAttributes->Width = ppdev->PointerCapabilities.MaxWidth;339 // ppdev->pPointerAttributes->Height = MaxHeight;340 // ppdev->pPointerAttributes->Column = 0;341 // ppdev->pPointerAttributes->Row = 0;342 // ppdev->pPointerAttributes->Enable = 0;343 344 vboxInitVBoxVideo (ppdev, &videoMemoryInformation);345 346 #ifndef VBOX_WITH_HGSMI347 if (ppdev->bVBoxVideoSupported)348 {349 /* Setup the display information. */350 vboxSetupDisplayInfo (ppdev, &videoMemoryInformation);351 }352 #endif /* !VBOX_WITH_HGSMI */353 }354 355 356 DISPDBG((1, "DISP bInitSURF: ppdev->ulBitCount %d\n", ppdev->ulBitCount));357 358 if ( ppdev->ulBitCount == 16359 || ppdev->ulBitCount == 24360 || ppdev->ulBitCount == 32)361 {362 #ifndef VBOX_WITH_HGSMI363 if (ppdev->pInfo) /* Do not use VBVA on old hosts. */364 {365 /* Enable VBVA for this video mode. */366 vboxVbvaEnable (ppdev);367 }368 #else369 if (ppdev->bHGSMISupported)370 {371 /* Enable VBVA for this video mode. */372 ppdev->bHGSMISupported = vboxVbvaEnable (ppdev);373 LogRel(("VBoxDisp[%d]: VBVA %senabled\n", ppdev->iDevice, ppdev->bHGSMISupported? "": "not "));374 }375 #endif /* VBOX_WITH_HGSMI */376 }377 378 DISPDBG((1, "DISP bInitSURF success\n"));379 380 #ifndef VBOX_WITH_HGSMI381 /* Update the display information. */382 vboxUpdateDisplayInfo (ppdev);383 #else384 /* Inform the host about this screen layout. */385 DISPDBG((1, "bInitSURF: %d,%d\n", ppdev->ptlDevOrg.x, ppdev->ptlDevOrg.y));386 VBoxProcessDisplayInfo (ppdev);387 #endif /* VBOX_WITH_HGSMI */388 389 #ifdef VBOX_WITH_VIDEOHWACCEL390 /* tells we can process host commands */391 vboxVHWAEnable(ppdev);392 #endif393 394 return(TRUE);395 }396 #endif397 203 398 204 HGSMIHEAP* vboxWddmHgsmiGetHeapFromCmdOffset(PDEVICE_EXTENSION pDevExt, HGSMIOFFSET offCmd) … … 849 655 ) 850 656 { 851 return STATUS_NOT_IMPLEMENTED; 657 /* The DxgkDdiStopDevice function should be made pageable. */ 658 PAGED_CODE(); 659 660 dfprintf(("==> "__FUNCTION__ ", context(0x%p)\n", MiniportDeviceContext)); 661 662 AssertBreakpoint(); 663 /* @todo: fixme: implement */ 664 665 dfprintf(("<== "__FUNCTION__ ", context(0x%p)\n", MiniportDeviceContext)); 666 667 return STATUS_SUCCESS; 852 668 } 853 669 … … 856 672 ) 857 673 { 858 return STATUS_NOT_IMPLEMENTED; 674 /* DxgkDdiRemoveDevice should be made pageable. */ 675 PAGED_CODE(); 676 677 dfprintf(("==> "__FUNCTION__ ", context(0x%p)\n", MiniportDeviceContext)); 678 679 vboxWddmMemFree(MiniportDeviceContext); 680 681 dfprintf(("<== "__FUNCTION__ ", context(0x%p)\n", MiniportDeviceContext)); 682 683 return STATUS_SUCCESS; 859 684 } 860 685 … … 865 690 ) 866 691 { 867 return STATUS_NOT_IMPLEMENTED; 692 dfprintf(("==> "__FUNCTION__ ", context(0x%p), ctl(0x%x)\n", MiniportDeviceContext, VideoRequestPacket->IoControlCode)); 693 694 AssertBreakpoint(); 695 #if 0 696 PDEVICE_EXTENSION pDevExt = (PDEVICE_EXTENSION)MiniportDeviceContext; 697 698 switch (VideoRequestPacket->IoControlCode) 699 { 700 case IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES: 701 { 702 if (VideoRequestPacket->OutputBufferLength < sizeof(VIDEO_COLOR_CAPABILITIES)) 703 { 704 AssertBreakpoint(); 705 VideoRequestPacket->StatusBlock->Status = ERROR_INSUFFICIENT_BUFFER; 706 return TRUE; 707 } 708 VIDEO_COLOR_CAPABILITIES *pCaps = (VIDEO_COLOR_CAPABILITIES*)VideoRequestPacket->OutputBuffer; 709 710 pCaps->Length = sizeof (VIDEO_COLOR_CAPABILITIES); 711 pCaps->AttributeFlags = VIDEO_DEVICE_COLOR; 712 pCaps->RedPhosphoreDecay = 0; 713 pCaps->GreenPhosphoreDecay = 0; 714 pCaps->BluePhosphoreDecay = 0; 715 pCaps->WhiteChromaticity_x = 3127; 716 pCaps->WhiteChromaticity_y = 3290; 717 pCaps->WhiteChromaticity_Y = 0; 718 pCaps->RedChromaticity_x = 6700; 719 pCaps->RedChromaticity_y = 3300; 720 pCaps->GreenChromaticity_x = 2100; 721 pCaps->GreenChromaticity_y = 7100; 722 pCaps->BlueChromaticity_x = 1400; 723 pCaps->BlueChromaticity_y = 800; 724 pCaps->WhiteGamma = 0; 725 pCaps->RedGamma = 20000; 726 pCaps->GreenGamma = 20000; 727 pCaps->BlueGamma = 20000; 728 729 VideoRequestPacket->StatusBlock->Status = NO_ERROR; 730 VideoRequestPacket->StatusBlock->Information = sizeof (VIDEO_COLOR_CAPABILITIES); 731 break; 732 } 733 #if 0 734 case IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS: 735 { 736 if (VideoRequestPacket->OutputBufferLength < sizeof(VIDEOPARAMETERS) 737 || VideoRequestPacket->InputBufferLength < sizeof(VIDEOPARAMETERS)) 738 { 739 AssertBreakpoint(); 740 VideoRequestPacket->StatusBlock->Status = ERROR_INSUFFICIENT_BUFFER; 741 return TRUE; 742 } 743 744 Result = VBoxVideoResetDevice((PDEVICE_EXTENSION)HwDeviceExtension, 745 RequestPacket->StatusBlock); 746 break; 747 } 748 #endif 749 default: 750 AssertBreakpoint(); 751 VideoRequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; 752 VideoRequestPacket->StatusBlock->Information = 0; 753 } 754 #endif 755 dfprintf(("<== "__FUNCTION__ ", context(0x%p), ctl(0x%x)\n", MiniportDeviceContext, VideoRequestPacket->IoControlCode)); 756 757 return STATUS_SUCCESS; 868 758 } 869 759 … … 1114 1004 ) 1115 1005 { 1116 return STATUS_NOT_IMPLEMENTED; 1006 dfprintf(("==> "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 1007 1008 AssertBreakpoint(); 1009 1010 dfprintf(("<== "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 1011 1012 return STATUS_SUCCESS; 1117 1013 } 1118 1014 … … 1133 1029 PAGED_CODE(); 1134 1030 dfprintf(("==> "__FUNCTION__ "\n")); 1031 1032 AssertBreakpoint(); 1033 1135 1034 dfprintf(("<== "__FUNCTION__ "\n")); 1136 1035 } … … 1141 1040 ) 1142 1041 { 1143 return STATUS_NOT_IMPLEMENTED; 1042 dfprintf(("==> "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 1043 1044 AssertBreakpoint(); 1045 1046 dfprintf(("<== "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 1047 1048 return STATUS_NOT_SUPPORTED; 1144 1049 } 1145 1050 … … 1150 1055 ) 1151 1056 { 1152 1057 dfprintf(("==> "__FUNCTION__ "\n")); 1058 1059 AssertBreakpoint(); 1060 1061 dfprintf(("<== "__FUNCTION__ "\n")); 1153 1062 } 1154 1063 … … 1482 1391 DXGKARG_DESCRIBEALLOCATION* pDescribeAllocation) 1483 1392 { 1484 return STATUS_NOT_IMPLEMENTED; 1393 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1394 1395 AssertBreakpoint(); 1396 /* @todo: fixme: implement */ 1397 1398 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1399 1400 return STATUS_SUCCESS; 1485 1401 } 1486 1402 … … 1602 1518 DXGKARG_ACQUIRESWIZZLINGRANGE* pAcquireSwizzlingRange) 1603 1519 { 1604 return STATUS_NOT_IMPLEMENTED; 1520 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1521 1522 AssertBreakpoint(); 1523 1524 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1525 1526 return STATUS_SUCCESS; 1605 1527 } 1606 1528 … … 1611 1533 CONST DXGKARG_RELEASESWIZZLINGRANGE* pReleaseSwizzlingRange) 1612 1534 { 1613 return STATUS_NOT_IMPLEMENTED; 1535 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1536 1537 AssertBreakpoint(); 1538 1539 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1540 1541 return STATUS_SUCCESS; 1614 1542 } 1615 1543 … … 1705 1633 CONST DXGKARG_PREEMPTCOMMAND* pPreemptCommand) 1706 1634 { 1707 return STATUS_NOT_IMPLEMENTED; 1635 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1636 1637 AssertBreakpoint(); 1638 /* @todo: fixme: implement */ 1639 1640 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1641 1642 return STATUS_SUCCESS; 1708 1643 } 1709 1644 … … 1752 1687 ) 1753 1688 { 1754 return STATUS_NOT_IMPLEMENTED; 1689 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1690 1691 AssertBreakpoint(); 1692 /* @todo: fixme: implement */ 1693 1694 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1695 1696 return STATUS_SUCCESS; 1755 1697 } 1756 1698 … … 1761 1703 CONST DXGKARG_SETPOINTERPOSITION* pSetPointerPosition) 1762 1704 { 1763 return STATUS_NOT_IMPLEMENTED; 1705 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1706 1707 AssertBreakpoint(); 1708 /* @todo: fixme: implement */ 1709 1710 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1711 1712 return STATUS_SUCCESS; 1764 1713 } 1765 1714 … … 1770 1719 CONST DXGKARG_SETPOINTERSHAPE* pSetPointerShape) 1771 1720 { 1772 return STATUS_NOT_IMPLEMENTED; 1721 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1722 1723 AssertBreakpoint(); 1724 /* @todo: fixme: implement */ 1725 1726 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1727 1728 return STATUS_SUCCESS; 1773 1729 } 1774 1730 … … 1778 1734 CONST HANDLE hAdapter) 1779 1735 { 1780 return STATUS_NOT_IMPLEMENTED; 1736 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1737 1738 AssertBreakpoint(); 1739 /* @todo: fixme: implement */ 1740 1741 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1742 1743 return STATUS_SUCCESS; 1781 1744 } 1782 1745 … … 1789 1752 PAGED_CODE(); 1790 1753 1754 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1755 1756 AssertBreakpoint(); 1757 1758 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1759 1791 1760 return STATUS_INVALID_PARAMETER; 1792 1761 } … … 1799 1768 ) 1800 1769 { 1801 return STATUS_NOT_IMPLEMENTED; 1770 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1771 1772 AssertBreakpoint(); 1773 1774 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1775 1776 return STATUS_SUCCESS; 1802 1777 } 1803 1778 … … 1808 1783 DXGKARG_QUERYCURRENTFENCE* pCurrentFence) 1809 1784 { 1810 return STATUS_NOT_IMPLEMENTED; 1785 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1786 1787 AssertBreakpoint(); 1788 /* @todo: fixme: implement */ 1789 1790 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 1791 1792 return STATUS_SUCCESS; 1811 1793 } 1812 1794 … … 2353 2335 ) 2354 2336 { 2355 return STATUS_NOT_IMPLEMENTED; 2337 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2338 2339 AssertBreakpoint(); 2340 2341 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2342 2343 return STATUS_SUCCESS; 2356 2344 } 2357 2345 … … 2363 2351 ) 2364 2352 { 2365 return STATUS_NOT_IMPLEMENTED; 2353 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2354 2355 AssertBreakpoint(); 2356 2357 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2358 2359 return STATUS_SUCCESS; 2366 2360 } 2367 2361 … … 2373 2367 ) 2374 2368 { 2375 return STATUS_NOT_IMPLEMENTED; 2369 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2370 2371 AssertBreakpoint(); 2372 2373 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2374 2375 return STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY; 2376 2376 } 2377 2377 … … 2382 2382 DXGKARG_GETSCANLINE* pGetScanLine) 2383 2383 { 2384 return STATUS_NOT_IMPLEMENTED; 2384 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2385 2386 AssertBreakpoint(); 2387 2388 pGetScanLine->InVerticalBlank = FALSE; 2389 pGetScanLine->ScanLine = 0; 2390 2391 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2392 2393 return STATUS_SUCCESS; 2385 2394 } 2386 2395 … … 2391 2400 CONST DXGKARG_STOPCAPTURE* pStopCapture) 2392 2401 { 2393 return STATUS_NOT_IMPLEMENTED; 2402 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2403 2404 AssertBreakpoint(); 2405 2406 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2407 2408 return STATUS_SUCCESS; 2394 2409 } 2395 2410 … … 2402 2417 ) 2403 2418 { 2404 return STATUS_NOT_IMPLEMENTED; 2419 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2420 2421 AssertBreakpoint(); 2422 2423 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2424 2425 /* @todo: STATUS_NOT_IMPLEMENTED ?? */ 2426 return STATUS_SUCCESS; 2405 2427 } 2406 2428 … … 2411 2433 DXGKARG_CREATEOVERLAY *pCreateOverlay) 2412 2434 { 2435 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2436 2437 AssertBreakpoint(); 2438 2439 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2440 2413 2441 return STATUS_NOT_IMPLEMENTED; 2414 2442 } … … 2428 2456 dfprintf(("<== "__FUNCTION__ ", \n")); 2429 2457 2430 return STATUS_ UNSUCCESSFUL;2458 return STATUS_SUCCESS; 2431 2459 } 2432 2460 … … 2439 2467 /* DxgkDdiOpenAllocation should be made pageable. */ 2440 2468 PAGED_CODE(); 2469 2470 dfprintf(("==> "__FUNCTION__ ", hDevice(0x%x)\n", hDevice)); 2441 2471 2442 2472 NTSTATUS Status = STATUS_SUCCESS; … … 2450 2480 } 2451 2481 2482 dfprintf(("<== "__FUNCTION__ ", hDevice(0x%x)\n", hDevice)); 2483 2452 2484 return Status; 2453 2485 } … … 2459 2491 CONST DXGKARG_CLOSEALLOCATION* pCloseAllocation) 2460 2492 { 2461 return STATUS_NOT_IMPLEMENTED; 2493 /* DxgkDdiCloseAllocation should be made pageable. */ 2494 PAGED_CODE(); 2495 2496 dfprintf(("==> "__FUNCTION__ ", hDevice(0x%x)\n", hDevice)); 2497 2498 for (UINT i = 0; i < pCloseAllocation->NumAllocations; ++i) 2499 { 2500 vboxWddmMemFree(pCloseAllocation->pOpenHandleList[i]); 2501 } 2502 2503 dfprintf(("<== "__FUNCTION__ ", hDevice(0x%x)\n", hDevice)); 2504 2505 return STATUS_SUCCESS; 2462 2506 } 2463 2507 … … 2675 2719 CONST DXGKARG_UPDATEOVERLAY *pUpdateOverlay) 2676 2720 { 2721 dfprintf(("==> "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2722 AssertBreakpoint(); 2723 dfprintf(("<== "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2677 2724 return STATUS_NOT_IMPLEMENTED; 2678 2725 } … … 2684 2731 CONST DXGKARG_FLIPOVERLAY *pFlipOverlay) 2685 2732 { 2733 dfprintf(("==> "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2734 AssertBreakpoint(); 2735 dfprintf(("<== "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2686 2736 return STATUS_NOT_IMPLEMENTED; 2687 2737 } … … 2692 2742 CONST HANDLE hOverlay) 2693 2743 { 2744 dfprintf(("==> "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2745 AssertBreakpoint(); 2746 dfprintf(("<== "__FUNCTION__ ", hOverlay(0x%x)\n", hOverlay)); 2694 2747 return STATUS_NOT_IMPLEMENTED; 2695 2748 } … … 2745 2798 CONST HANDLE hContext) 2746 2799 { 2747 return STATUS_NOT_IMPLEMENTED; 2800 dfprintf(("==> "__FUNCTION__ ", hContext(0x%x)\n", hContext)); 2801 vboxWddmMemFree(hContext); 2802 dfprintf(("<== "__FUNCTION__ ", hContext(0x%x)\n", hContext)); 2803 return STATUS_SUCCESS; 2748 2804 } 2749 2805 … … 2756 2812 ) 2757 2813 { 2814 drprintf(("==> "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 2815 AssertBreakpoint(); 2816 drprintf(("<== "__FUNCTION__ ", MiniportDeviceContext(0x%x)\n", MiniportDeviceContext)); 2758 2817 return STATUS_NOT_IMPLEMENTED; 2759 2818 } … … 2766 2825 ) 2767 2826 { 2768 return STATUS_NOT_IMPLEMENTED; 2827 dfprintf(("==> "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2828 AssertBreakpoint(); 2829 dfprintf(("<== "__FUNCTION__ ", hAdapter(0x%x)\n", hAdapter)); 2830 return STATUS_SUCCESS; 2769 2831 } 2770 2832 … … 2777 2839 PAGED_CODE(); 2778 2840 2779 d printf(("VBoxVideoWddm::DriverEntry. Built %s %s\n", __DATE__, __TIME__));2841 drprintf(("VBoxVideoWddm::DriverEntry. Built %s %s\n", __DATE__, __TIME__)); 2780 2842 2781 2843 DRIVER_INITIALIZATION_DATA DriverInitializationData = {'\0'}; … … 2870 2932 DriverInitializationData.DxgkDdiDestroyContext = DxgkDdiDestroyContext; 2871 2933 2872 DriverInitializationData.DxgkDdiLinkDevice = DxgkDdiLinkDevice; 2934 // DriverInitializationData.DxgkDdiLinkDevice = DxgkDdiLinkDevice; 2935 DriverInitializationData.DxgkDdiLinkDevice = NULL; /* not needed */ 2873 2936 DriverInitializationData.DxgkDdiSetDisplayPrivateDriverFormat = DxgkDdiSetDisplayPrivateDriverFormat; 2874 2937
Note:
See TracChangeset
for help on using the changeset viewer.