Changeset 106452 in vbox
- Timestamp:
- Oct 17, 2024 1:45:57 PM (4 months ago)
- svn:sync-xref-src-repo-rev:
- 165271
- Location:
- trunk/src/VBox/Additions
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/3D/win/VBoxGL/GaDrvEnvKMT.cpp
r106061 r106452 1274 1274 1275 1275 /* Figure out which adapter to use. */ 1276 NTSTATUS Status = vboxDispKmtOpenAdapter2(&mKmtCallbacks.hAdapter, &mKmtCallbacks.AdapterLuid);1276 NTSTATUS Status = VBoxWddmKmtOpenAdapter2(&mKmtCallbacks.hAdapter, &mKmtCallbacks.AdapterLuid); 1277 1277 Assert(Status == STATUS_SUCCESS); 1278 1278 if (Status == STATUS_SUCCESS) … … 1298 1298 } 1299 1299 1300 vboxDispKmtCloseAdapter(mKmtCallbacks.hAdapter);1300 VBoxWddmKmtCloseAdapter(mKmtCallbacks.hAdapter); 1301 1301 } 1302 1302 -
trunk/src/VBox/Additions/3D/win/VBoxICD/VBoxICD.c
r106061 r106452 84 84 D3DKMTLoad(); 85 85 86 Status = vboxDispKmtOpenAdapter(&hAdapter);86 Status = VBoxWddmKmtOpenAdapter(&hAdapter); 87 87 if (Status == STATUS_SUCCESS) 88 88 { … … 109 109 } 110 110 111 vboxDispKmtCloseAdapter(hAdapter);111 VBoxWddmKmtCloseAdapter(hAdapter); 112 112 } 113 113 } -
trunk/src/VBox/Additions/3D/win/VBoxWddmUmHlp/D3DKMT.cpp
r106061 r106452 228 228 } 229 229 230 NTSTATUS vboxDispKmtOpenAdapter2(D3DKMT_HANDLE *phAdapter, LUID *pLuid)230 NTSTATUS VBoxWddmKmtOpenAdapter2(D3DKMT_HANDLE *phAdapter, LUID *pLuid) 231 231 { 232 232 NTSTATUS Status = vboxDispKmtOpenAdapterFromLuid(phAdapter, pLuid); … … 240 240 } 241 241 242 NTSTATUS vboxDispKmtOpenAdapter(D3DKMT_HANDLE *phAdapter)243 { 244 return vboxDispKmtOpenAdapter2(phAdapter, NULL);245 } 246 247 NTSTATUS vboxDispKmtCloseAdapter(D3DKMT_HANDLE hAdapter)242 NTSTATUS VBoxWddmKmtOpenAdapter(D3DKMT_HANDLE *phAdapter) 243 { 244 return VBoxWddmKmtOpenAdapter2(phAdapter, NULL); 245 } 246 247 NTSTATUS VBoxWddmKmtCloseAdapter(D3DKMT_HANDLE hAdapter) 248 248 { 249 249 D3DKMTFUNCTIONS const *d3dkmt = D3DKMTFunctions(); -
trunk/src/VBox/Additions/3D/win/VBoxWddmUmHlp/VBoxMpLogger.cpp
r106061 r106452 53 53 54 54 D3DKMT_HANDLE hAdapter; 55 NTSTATUS Status = vboxDispKmtOpenAdapter(&hAdapter);55 NTSTATUS Status = VBoxWddmKmtOpenAdapter(&hAdapter); 56 56 Assert(Status == STATUS_SUCCESS); 57 57 if (Status == 0) … … 84 84 } 85 85 86 Status = vboxDispKmtCloseAdapter(hAdapter);86 Status = VBoxWddmKmtCloseAdapter(hAdapter); 87 87 Assert(Status == STATUS_SUCCESS); 88 88 } -
trunk/src/VBox/Additions/3D/win/VBoxWddmUmHlp/VBoxWddmUmHlp.h
r106061 r106452 107 107 DECLCALLBACK(void) VBoxWddmUmLog(const char *pszString); 108 108 109 /** @todo Rename to VBoxWddm* */ 110 NTSTATUS vboxDispKmtOpenAdapter2(D3DKMT_HANDLE *phAdapter, LUID *pLuid); 111 NTSTATUS vboxDispKmtOpenAdapter(D3DKMT_HANDLE *phAdapter); 112 NTSTATUS vboxDispKmtCloseAdapter(D3DKMT_HANDLE hAdapter); 109 NTSTATUS VBoxWddmKmtOpenAdapter2(D3DKMT_HANDLE *phAdapter, LUID *pLuid); 110 NTSTATUS VBoxWddmKmtOpenAdapter(D3DKMT_HANDLE *phAdapter); 111 NTSTATUS VBoxWddmKmtCloseAdapter(D3DKMT_HANDLE hAdapter); 113 112 114 113 RT_C_DECLS_END -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared/VBoxDispKmt.cpp
r106061 r106452 306 306 } 307 307 308 HRESULT vboxDispKmtOpenAdapter(const VBOXDISPKMT_CALLBACKS *pCallbacks, PVBOXDISPKMT_ADAPTER pAdapter)308 HRESULT VBoxWddmKmtOpenAdapter(const VBOXDISPKMT_CALLBACKS *pCallbacks, PVBOXDISPKMT_ADAPTER pAdapter) 309 309 { 310 310 HRESULT hr = vboxDispKmtOpenAdapterViaHdc(pCallbacks, pAdapter); … … 319 319 } 320 320 321 HRESULT vboxDispKmtCloseAdapter(PVBOXDISPKMT_ADAPTER pAdapter)321 HRESULT VBoxWddmKmtCloseAdapter(PVBOXDISPKMT_ADAPTER pAdapter) 322 322 { 323 323 D3DKMT_CLOSEADAPTER ClosaAdapterData = {0}; -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared/VBoxDispKmt.h
r106061 r106452 148 148 HRESULT vboxDispKmtCallbacksTerm(PVBOXDISPKMT_CALLBACKS pCallbacks); 149 149 150 HRESULT vboxDispKmtOpenAdapter(const VBOXDISPKMT_CALLBACKS *pCallbacks, PVBOXDISPKMT_ADAPTER pAdapter);151 HRESULT vboxDispKmtCloseAdapter(PVBOXDISPKMT_ADAPTER pAdapter);150 HRESULT VBoxWddmKmtOpenAdapter(const VBOXDISPKMT_CALLBACKS *pCallbacks, PVBOXDISPKMT_ADAPTER pAdapter); 151 HRESULT VBoxWddmKmtCloseAdapter(PVBOXDISPKMT_ADAPTER pAdapter); 152 152 HRESULT vboxDispKmtCreateDevice(PVBOXDISPKMT_ADAPTER pAdapter, PVBOXDISPKMT_DEVICE pDevice); 153 153 HRESULT vboxDispKmtDestroyDevice(PVBOXDISPKMT_DEVICE pDevice); -
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/shared/VBoxDispMpLogger.cpp
r106061 r106452 78 78 * check if we can Open Adapter, i.e. WDDM driver is installed */ 79 79 VBOXDISPKMT_ADAPTER Adapter; 80 hr = vboxDispKmtOpenAdapter(&g_VBoxDispMpLogger.KmtCallbacks, &Adapter);80 hr = VBoxWddmKmtOpenAdapter(&g_VBoxDispMpLogger.KmtCallbacks, &Adapter); 81 81 if (hr == S_OK) 82 82 { 83 83 ASMAtomicWriteU32((volatile uint32_t *)&g_VBoxDispMpLogger.enmState, VBOXDISPMPLOGGER_STATE_INITIALIZED); 84 vboxDispKmtCloseAdapter(&Adapter);84 VBoxWddmKmtCloseAdapter(&Adapter); 85 85 return &g_VBoxDispMpLogger; 86 86 } … … 125 125 126 126 VBOXDISPKMT_ADAPTER Adapter; 127 HRESULT hr = vboxDispKmtOpenAdapter(&pLogger->KmtCallbacks, &Adapter);127 HRESULT hr = VBoxWddmKmtOpenAdapter(&pLogger->KmtCallbacks, &Adapter); 128 128 if (hr == S_OK) 129 129 { … … 157 157 BP_WARN(); 158 158 } 159 hr = vboxDispKmtCloseAdapter(&Adapter);159 hr = VBoxWddmKmtCloseAdapter(&Adapter); 160 160 if(hr != S_OK) 161 161 { … … 193 193 194 194 VBOXDISPKMT_ADAPTER Adapter; 195 HRESULT hr = vboxDispKmtOpenAdapter(&pLogger->KmtCallbacks, &Adapter);195 HRESULT hr = VBoxWddmKmtOpenAdapter(&pLogger->KmtCallbacks, &Adapter); 196 196 if (hr == S_OK) 197 197 { … … 228 228 BP_WARN(); 229 229 } 230 hr = vboxDispKmtCloseAdapter(&Adapter);230 hr = VBoxWddmKmtCloseAdapter(&Adapter); 231 231 if(hr != S_OK) 232 232 { -
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp
r106061 r106452 73 73 { 74 74 PCVBOXDISPIF pIf; 75 VBOXDISPKMT_ADAPTER Adapter; 76 VBOXDISPKMT_DEVICE Device; 77 VBOXDISPKMT_CONTEXT Context; 75 #ifdef VBOX_WITH_WDDM 76 union 77 { 78 struct 79 { 80 VBOXDISPKMT_ADAPTER Adapter; 81 VBOXDISPKMT_DEVICE Device; 82 VBOXDISPKMT_CONTEXT Context; 83 } wddm; 84 } u; 85 #endif 78 86 } VBOXDISPIF_OP; 79 87 … … 118 126 DISPLAY_DEVICE *paDisplayDevices, DEVMODE *paDeviceModes, UINT cDevModes); 119 127 static DWORD vboxDispIfWddmEnableDisplaysTryingTopology(PCVBOXDISPIF const pIf, UINT cIds, UINT *pIds, BOOL fEnable); 120 static DWORD vboxDispIfResizeStarted WDDMOp(VBOXDISPIF_OP *pOp);128 static DWORD vboxDispIfResizeStartedOpWDDM(VBOXDISPIF_OP *pOp); 121 129 122 130 static void vboxDispIfWddmDcLogRel(VBOXDISPIF_WDDM_DISPCFG const *pCfg, UINT fFlags) … … 643 651 } 644 652 645 static DWORD vboxDispIfOpBegin(PCVBOXDISPIF pIf, VBOXDISPIF_OP *pOp) 653 #ifdef VBOX_WITH_WDDM 654 static DWORD vboxDispIfOpBeginWddm(PCVBOXDISPIF pIf, VBOXDISPIF_OP *pOp) 646 655 { 647 656 pOp->pIf = pIf; 648 657 649 HRESULT hr = vboxDispKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &pOp->Adapter);658 HRESULT hr = VBoxWddmKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &pOp->u.wddm.Adapter); 650 659 if (SUCCEEDED(hr)) 651 660 { 652 hr = vboxDispKmtCreateDevice(&pOp-> Adapter, &pOp->Device);661 hr = vboxDispKmtCreateDevice(&pOp->u.wddm.Adapter, &pOp->u.wddm.Device); 653 662 if (SUCCEEDED(hr)) 654 663 { 655 hr = vboxDispKmtCreateContext(&pOp-> Device, &pOp->Context, VBOXWDDM_CONTEXT_TYPE_CUSTOM_DISPIF_RESIZE,664 hr = vboxDispKmtCreateContext(&pOp->u.wddm.Device, &pOp->u.wddm.Context, VBOXWDDM_CONTEXT_TYPE_CUSTOM_DISPIF_RESIZE, 656 665 NULL, 0ULL); 657 666 if (SUCCEEDED(hr)) … … 660 669 WARN(("VBoxTray: vboxDispKmtCreateContext failed hr 0x%x", hr)); 661 670 662 vboxDispKmtDestroyDevice(&pOp-> Device);671 vboxDispKmtDestroyDevice(&pOp->u.wddm.Device); 663 672 } 664 673 else 665 674 WARN(("VBoxTray: vboxDispKmtCreateDevice failed hr 0x%x", hr)); 666 675 667 vboxDispKmtCloseAdapter(&pOp->Adapter);676 VBoxWddmKmtCloseAdapter(&pOp->u.wddm.Adapter); 668 677 } 669 678 … … 671 680 } 672 681 673 static VOID vboxDispIfOpEnd(VBOXDISPIF_OP *pOp) 674 { 675 vboxDispKmtDestroyContext(&pOp->Context); 676 vboxDispKmtDestroyDevice(&pOp->Device); 677 vboxDispKmtCloseAdapter(&pOp->Adapter); 678 } 682 static VOID vboxDispIfOpEndWddm(VBOXDISPIF_OP *pOp) 683 { 684 vboxDispKmtDestroyContext(&pOp->u.wddm.Context); 685 vboxDispKmtDestroyDevice(&pOp->u.wddm.Device); 686 VBoxWddmKmtCloseAdapter(&pOp->u.wddm.Adapter); 687 } 688 #endif /* VBOX_WITH_WDDM */ 679 689 680 690 /* display driver interface abstraction for XPDM & WDDM … … 844 854 DWORD winEr = ERROR_SUCCESS; 845 855 VBOXDISPKMT_ADAPTER Adapter; 846 HRESULT hr = vboxDispKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &Adapter);856 HRESULT hr = VBoxWddmKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &Adapter); 847 857 if (!SUCCEEDED(hr)) 848 858 { … … 870 880 } 871 881 872 vboxDispKmtCloseAdapter(&Adapter);882 VBoxWddmKmtCloseAdapter(&Adapter); 873 883 874 884 return winEr; … … 1395 1405 1396 1406 D3DKMT_POLLDISPLAYCHILDREN PollData = {0}; 1397 PollData.hAdapter = pOp-> Adapter.hAdapter;1407 PollData.hAdapter = pOp->u.wddm.Adapter.hAdapter; 1398 1408 PollData.NonDestructiveOnly = 1; 1399 1409 NTSTATUS Status = pOp->pIf->modeData.wddm.KmtCallbacks.pfnD3DKMTPollDisplayChildren(&PollData); … … 1443 1453 1444 1454 D3DKMT_ESCAPE EscapeData = {0}; 1445 EscapeData.hAdapter = pOp-> Adapter.hAdapter;1455 EscapeData.hAdapter = pOp->u.wddm.Adapter.hAdapter; 1446 1456 #ifdef VBOX_DISPIF_WITH_OPCONTEXT 1447 1457 /* win8.1 does not allow context-based escapes for display-only mode */ … … 1483 1493 D3DKMT_ESCAPE EscapeData; 1484 1494 RT_ZERO(EscapeData); 1485 EscapeData.hAdapter = pOp-> Adapter.hAdapter;1495 EscapeData.hAdapter = pOp->u.wddm.Adapter.hAdapter; 1486 1496 EscapeData.Type = D3DKMT_ESCAPE_DRIVERPRIVATE; 1487 1497 EscapeData.Flags.HardwareAccess = 1; … … 1564 1574 VBOXDISPIF_OP Op; 1565 1575 1566 winEr = vboxDispIfOpBegin (pIf, &Op);1576 winEr = vboxDispIfOpBeginWddm(pIf, &Op); 1567 1577 if (winEr != NO_ERROR) 1568 1578 { … … 1597 1607 } 1598 1608 1599 ddiArgInvalidateVidPN.hAdapter = Op. Adapter.hAdapter;1609 ddiArgInvalidateVidPN.hAdapter = Op.u.wddm.Adapter.hAdapter; 1600 1610 ddiArgInvalidateVidPN.pPrivateDriverData = &vboxRecommendVidPN; 1601 1611 ddiArgInvalidateVidPN.PrivateDriverDataSize = sizeof (vboxRecommendVidPN); … … 1631 1641 } 1632 1642 1633 vboxDispIfOpEnd (&Op);1643 vboxDispIfOpEndWddm(&Op); 1634 1644 1635 1645 return winEr; … … 1791 1801 } 1792 1802 1793 BOOL VBoxDispIfResizeDisplayWin7 (PCVBOXDISPIF const pIf, uint32_t cDispDef, const VMMDevDisplayDef *paDispDef)1803 BOOL VBoxDispIfResizeDisplayWin7Wddm(PCVBOXDISPIF const pIf, uint32_t cDispDef, const VMMDevDisplayDef *paDispDef) 1794 1804 { 1795 1805 const VMMDevDisplayDef *pDispDef; … … 1811 1821 1812 1822 VBOXDISPIF_OP Op; 1813 DWORD winEr = vboxDispIfOpBegin (pIf, &Op);1823 DWORD winEr = vboxDispIfOpBeginWddm(pIf, &Op); 1814 1824 if (winEr != ERROR_SUCCESS) 1815 1825 { … … 1838 1848 } 1839 1849 1840 vboxDispIfOpEnd (&Op);1850 vboxDispIfOpEndWddm(&Op); 1841 1851 1842 1852 if (winEr != ERROR_SUCCESS) … … 2363 2373 case VBOXDISPIF_MODE_WDDM_W7: 2364 2374 return vboxDispIfResizeModesWDDM(pIf, iChangedMode, fEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes); 2375 #else 2376 RT_NOREF(iChangedMode, fEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes); 2365 2377 #endif 2366 2378 default: … … 2389 2401 } 2390 2402 2403 #ifdef VBOX_WITH_WDDM 2391 2404 static DWORD vboxDispIfConfigureTargetsWDDM(VBOXDISPIF_OP *pOp, uint32_t *pcConnected) 2392 2405 { … … 2396 2409 2397 2410 D3DKMT_ESCAPE EscapeData = {0}; 2398 EscapeData.hAdapter = pOp-> Adapter.hAdapter;2411 EscapeData.hAdapter = pOp->u.wddm.Adapter.hAdapter; 2399 2412 #ifdef VBOX_DISPIF_WITH_OPCONTEXT 2400 2413 /* win8.1 does not allow context-based escapes for display-only mode */ … … 2418 2431 } 2419 2432 2420 static DWORD vboxDispIfResizeStarted WDDMOp(VBOXDISPIF_OP *pOp)2433 static DWORD vboxDispIfResizeStartedOpWDDM(VBOXDISPIF_OP *pOp) 2421 2434 { 2422 2435 DWORD NumDevices = VBoxDisplayGetCount(); 2423 2436 if (NumDevices == 0) 2424 2437 { 2425 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: Zero devices found\n"));2438 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: Zero devices found\n")); 2426 2439 return ERROR_GEN_FAILURE; 2427 2440 } … … 2435 2448 if (winEr != NO_ERROR) 2436 2449 { 2437 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: VBoxGetDisplayConfig failed, %d\n", winEr));2450 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: VBoxGetDisplayConfig failed, %d\n", winEr)); 2438 2451 return winEr; 2439 2452 } 2440 2453 2441 2454 if (NumDevices != DevNum) 2442 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: NumDevices(%d) != DevNum(%d)\n", NumDevices, DevNum));2455 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: NumDevices(%d) != DevNum(%d)\n", NumDevices, DevNum)); 2443 2456 2444 2457 … … 2447 2460 if (winEr != NO_ERROR) 2448 2461 { 2449 WARN(("VBoxTray: vboxDispIf ConfigureTargetsWDDM failed winEr 0x%x\n", winEr));2462 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM failed winEr 0x%x\n", winEr)); 2450 2463 return winEr; 2451 2464 } … … 2459 2472 winEr = vboxDispIfWaitDisplayDataInited(pOp); 2460 2473 if (winEr != NO_ERROR) 2461 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: vboxDispIfWaitDisplayDataInited failed winEr 0x%x\n", winEr));2474 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: vboxDispIfWaitDisplayDataInited failed winEr 0x%x\n", winEr)); 2462 2475 2463 2476 DWORD NewNumDevices = VBoxDisplayGetCount(); 2464 2477 if (NewNumDevices == 0) 2465 2478 { 2466 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: Zero devices found\n"));2479 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: Zero devices found\n")); 2467 2480 return ERROR_GEN_FAILURE; 2468 2481 } 2469 2482 2470 2483 if (NewNumDevices != NumDevices) 2471 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: NumDevices(%d) != NewNumDevices(%d)\n", NumDevices, NewNumDevices));2484 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: NumDevices(%d) != NewNumDevices(%d)\n", NumDevices, NewNumDevices)); 2472 2485 2473 2486 DISPLAY_DEVICE *paNewDisplayDevices = (DISPLAY_DEVICE *)alloca (sizeof (DISPLAY_DEVICE) * NewNumDevices); … … 2479 2492 if (winEr != NO_ERROR) 2480 2493 { 2481 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: VBoxGetDisplayConfig failed for new devices, %d\n", winEr));2494 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: VBoxGetDisplayConfig failed for new devices, %d\n", winEr)); 2482 2495 return winEr; 2483 2496 } 2484 2497 2485 2498 if (NewNumDevices != NewDevNum) 2486 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: NewNumDevices(%d) != NewDevNum(%d)\n", NewNumDevices, NewDevNum));2499 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: NewNumDevices(%d) != NewDevNum(%d)\n", NewNumDevices, NewDevNum)); 2487 2500 2488 2501 DWORD minDevNum = RT_MIN(DevNum, NewDevNum); … … 2518 2531 winEr = vboxDispIfWddmResizeDisplayVista(paNewDeviceModes, paNewDisplayDevices, NewDevNum, i, FALSE, TRUE); 2519 2532 if (winEr != NO_ERROR) 2520 WARN(("VBoxTray: vboxDispIfResizeStarted WDDMOp: vboxDispIfWddmResizeDisplayVista failed winEr 0x%x\n", winEr));2533 WARN(("VBoxTray: vboxDispIfResizeStartedOpWDDM: vboxDispIfWddmResizeDisplayVista failed winEr 0x%x\n", winEr)); 2521 2534 } 2522 2535 } … … 2525 2538 } 2526 2539 2527 2528 2540 static DWORD vboxDispIfResizeStartedWDDM(PCVBOXDISPIF const pIf) 2529 2541 { 2530 2542 VBOXDISPIF_OP Op; 2531 2543 2532 DWORD winEr = vboxDispIfOpBegin (pIf, &Op);2544 DWORD winEr = vboxDispIfOpBeginWddm(pIf, &Op); 2533 2545 if (winEr != NO_ERROR) 2534 2546 { … … 2537 2549 } 2538 2550 2539 winEr = vboxDispIfResizeStarted WDDMOp(&Op);2551 winEr = vboxDispIfResizeStartedOpWDDM(&Op); 2540 2552 if (winEr != NO_ERROR) 2541 2553 { … … 2543 2555 } 2544 2556 2545 vboxDispIfOpEnd (&Op);2557 vboxDispIfOpEndWddm(&Op); 2546 2558 2547 2559 return winEr; 2548 2560 } 2561 #endif /* VBOX_WITH_WDDM */ 2549 2562 2550 2563 DWORD VBoxDispIfResizeStarted(PCVBOXDISPIF const pIf) … … 2691 2704 } 2692 2705 2706 #ifdef VBOX_WITH_WDDM 2693 2707 static DWORD vboxDispIfSeamlessCreateWDDM(PCVBOXDISPIF const pIf, VBOXDISPIF_SEAMLESS *pSeamless, HANDLE hEvent) 2694 2708 { 2695 2709 RT_NOREF(hEvent); 2696 HRESULT hr = vboxDispKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &pSeamless->modeData.wddm.Adapter);2710 HRESULT hr = VBoxWddmKmtOpenAdapter(&pIf->modeData.wddm.KmtCallbacks, &pSeamless->modeData.wddm.Adapter); 2697 2711 if (SUCCEEDED(hr)) 2698 2712 { … … 2714 2728 WARN(("VBoxTray: vboxDispKmtCreateDevice failed hr 0x%x", hr)); 2715 2729 2716 vboxDispKmtCloseAdapter(&pSeamless->modeData.wddm.Adapter);2730 VBoxWddmKmtCloseAdapter(&pSeamless->modeData.wddm.Adapter); 2717 2731 #endif /* VBOX_DISPIF_WITH_OPCONTEXT */ 2718 2732 } … … 2727 2741 vboxDispKmtDestroyDevice(&pSeamless->modeData.wddm.Device); 2728 2742 #endif 2729 vboxDispKmtCloseAdapter(&pSeamless->modeData.wddm.Adapter);2743 VBoxWddmKmtCloseAdapter(&pSeamless->modeData.wddm.Adapter); 2730 2744 2731 2745 return NO_ERROR; … … 2752 2766 return Status; 2753 2767 } 2768 #endif /* VBOX_WITH_WDDM */ 2754 2769 2755 2770 DWORD VBoxDispIfSeamlessCreate(PCVBOXDISPIF const pIf, VBOXDISPIF_SEAMLESS *pSeamless, HANDLE hEvent) … … 2767 2782 case VBOXDISPIF_MODE_WDDM_W7: 2768 2783 return vboxDispIfSeamlessCreateWDDM(pIf, pSeamless, hEvent); 2784 #else 2785 RT_NOREF(hEvent); 2769 2786 #endif 2770 2787 default: -
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.h
r106061 r106452 101 101 DWORD VBoxDispIfResizeStarted(PCVBOXDISPIF const pIf); 102 102 103 BOOL VBoxDispIfResizeDisplayWin7 (PCVBOXDISPIF const pIf, uint32_t cDispDef, const VMMDevDisplayDef *paDispDef);103 BOOL VBoxDispIfResizeDisplayWin7Wddm(PCVBOXDISPIF const pIf, uint32_t cDispDef, const VMMDevDisplayDef *paDispDef); 104 104 105 105 typedef struct VBOXDISPIF_SEAMLESS -
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDisplay.cpp
r106449 r106452 162 162 else 163 163 rc = VINF_SUCCESS; 164 #endif 164 #else /* !VBOX_WITH_WDDM */ 165 rc = VINF_SUCCESS; 166 #endif /* VBOX_WITH_WDDM */ 165 167 } 166 168 else if (uNtVersion < RTSYSTEM_MAKE_NT_VERSION(5, 0, 0)) /* Windows NT 4.0. */ … … 850 852 static BOOL DisplayChangeRequestHandler(PVBOXDISPLAYCONTEXT pCtx) 851 853 { 854 int rc = VINF_SUCCESS; 855 856 #ifdef VBOX_WITH_WDDM 852 857 VMMDevDisplayDef aDisplays[64]; 853 uint32_t cDisplays = RT_ELEMENTS(aDisplays); 854 int rc = VINF_SUCCESS; 858 uint32_t cDisplays = RT_ELEMENTS(aDisplays); 855 859 856 860 /* Multidisplay resize is still implemented only for Win7 and newer guests. */ 857 if ( pCtx->pEnv->dispIf.enmMode >= VBOXDISPIF_MODE_WDDM_W7 &&858 RT_SUCCESS(rc = VbglR3GetDisplayChangeRequestMulti(cDisplays, &cDisplays, &aDisplays[0], true /* fAck */)))861 if ( pCtx->pEnv->dispIf.enmMode >= VBOXDISPIF_MODE_WDDM_W7 862 && RT_SUCCESS(rc = VbglR3GetDisplayChangeRequestMulti(cDisplays, &cDisplays, &aDisplays[0], true /* fAck */))) 859 863 { 860 864 uint32_t i; … … 874 878 } 875 879 876 return VBoxDispIfResizeDisplayWin7(&pCtx->pEnv->dispIf, cDisplays, &aDisplays[0]); 877 } 880 return VBoxDispIfResizeDisplayWin7Wddm(&pCtx->pEnv->dispIf, cDisplays, &aDisplays[0]); 881 } 882 #endif /* VBOX_WITH_WDDM */ 878 883 879 884 /* Fall back to the single monitor resize request. */ … … 981 986 if (ASMAtomicXchgU32(&g_fGuestDisplaysChanged, 0)) 982 987 { 988 #ifdef VBOX_WITH_WDDM 983 989 // XPDM driver has VBoxDispDrvNotify to receive such a notifications 984 990 if (pCtx->pEnv->dispIf.enmMode >= VBOXDISPIF_MODE_WDDM) … … 990 996 LogFlowFunc(("VBoxDispIfEscapeInOut returned %d\n", err)); NOREF(err); 991 997 } 998 #endif 992 999 } 993 1000
Note:
See TracChangeset
for help on using the changeset viewer.