Changeset 81686 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- Nov 5, 2019 8:06:17 PM (5 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPLegacy.cpp
r81650 r81686 1716 1716 AssertNtStatusSuccess(Status); NOREF(Status); 1717 1717 1718 // if (context.data.bNotifyDpc)1719 pDevExt->u.primary.DxgkInterface.DxgkCbNotifyDpc(pDevExt->u.primary.DxgkInterface.DeviceHandle);1720 1721 1718 if (!vboxVtListIsEmpty(&context.data.CtlList)) 1722 1719 { -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r81651 r81686 1033 1033 // Must be removed eventually. 1034 1034 pDevExt->fCmdVbvaEnabled = TRUE; 1035 pDevExt->fComplexTopologiesEnabled = FALSE; /** @todo Enable after implementing multimonitorsupport. */1035 pDevExt->fComplexTopologiesEnabled = TRUE; /** @todo Implement clones support. */ 1036 1036 } 1037 1037 } … … 4611 4611 } 4612 4612 4613 static NTSTATUS vboxWddmInitDisplayOnlyDriver(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath, VBOXVIDEO_HWTYPE enmHwType) 4613 static BOOLEAN DxgkDdiInterruptRoutine(const PVOID MiniportDeviceContext, 4614 ULONG MessageNumber) 4615 { 4616 BOOLEAN const fVMSVGA = GaDxgkDdiInterruptRoutine(MiniportDeviceContext, MessageNumber); 4617 BOOLEAN const fHGSMI = DxgkDdiInterruptRoutineLegacy(MiniportDeviceContext, MessageNumber); 4618 return fVMSVGA || fHGSMI; 4619 } 4620 4621 static VOID DxgkDdiDpcRoutine(const PVOID MiniportDeviceContext) 4622 { 4623 PVBOXMP_DEVEXT pDevExt = (PVBOXMP_DEVEXT)MiniportDeviceContext; 4624 4625 GaDxgkDdiDpcRoutine(MiniportDeviceContext); 4626 DxgkDdiDpcRoutineLegacy(MiniportDeviceContext); 4627 4628 pDevExt->u.primary.DxgkInterface.DxgkCbNotifyDpc(pDevExt->u.primary.DxgkInterface.DeviceHandle); 4629 } 4630 4631 static NTSTATUS vboxWddmInitDisplayOnlyDriver(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath) 4614 4632 { 4615 4633 KMDDOD_INITIALIZATION_DATA DriverInitializationData = {'\0'}; … … 4622 4640 DriverInitializationData.DxgkDdiRemoveDevice = DxgkDdiRemoveDevice; 4623 4641 DriverInitializationData.DxgkDdiDispatchIoRequest = DxgkDdiDispatchIoRequest; 4624 #ifdef VBOX_WITH_MESA3D 4625 if (enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 4626 { 4627 DriverInitializationData.DxgkDdiInterruptRoutine = GaDxgkDdiInterruptRoutine; 4628 DriverInitializationData.DxgkDdiDpcRoutine = GaDxgkDdiDpcRoutine; 4629 } 4630 else 4631 #endif 4632 { 4633 DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutineLegacy; 4634 DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutineLegacy; 4635 } 4642 DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutine; 4643 DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutine; 4636 4644 DriverInitializationData.DxgkDdiQueryChildRelations = DxgkDdiQueryChildRelations; 4637 4645 DriverInitializationData.DxgkDdiQueryChildStatus = DxgkDdiQueryChildStatus; … … 4698 4706 DriverInitializationData.DxgkDdiRemoveDevice = DxgkDdiRemoveDevice; 4699 4707 DriverInitializationData.DxgkDdiDispatchIoRequest = DxgkDdiDispatchIoRequest; 4708 DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutine; 4709 DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutine; 4700 4710 4701 4711 #ifdef VBOX_WITH_MESA3D 4702 4712 if (enmHwType == VBOXVIDEO_HWTYPE_VMSVGA) 4703 4713 { 4704 DriverInitializationData.DxgkDdiInterruptRoutine = GaDxgkDdiInterruptRoutine;4705 DriverInitializationData.DxgkDdiDpcRoutine = GaDxgkDdiDpcRoutine;4706 4714 DriverInitializationData.DxgkDdiPatch = GaDxgkDdiPatch; 4707 4715 DriverInitializationData.DxgkDdiSubmitCommand = GaDxgkDdiSubmitCommand; … … 4715 4723 #endif 4716 4724 { 4717 DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutineLegacy;4718 DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutineLegacy;4719 4725 DriverInitializationData.DxgkDdiPatch = DxgkDdiPatchLegacy; 4720 4726 DriverInitializationData.DxgkDdiSubmitCommand = DxgkDdiSubmitCommandLegacy; … … 4948 4954 if (g_VBoxDisplayOnly) 4949 4955 { 4950 Status = vboxWddmInitDisplayOnlyDriver(DriverObject, RegistryPath , enmHwType);4956 Status = vboxWddmInitDisplayOnlyDriver(DriverObject, RegistryPath); 4951 4957 } 4952 4958 else -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/gallium/VBoxMPGaWddm.cpp
r81594 r81686 1468 1468 } 1469 1469 1470 pDevExt->u.primary.DxgkInterface.DxgkCbNotifyDpc(pDevExt->u.primary.DxgkInterface.DeviceHandle);1471 1472 1470 /* Scan fence objects and mark all with u32FenceId < u32LastCompletedFenceId as SIGNALED */ 1473 1471 const uint32_t u32LastCompletedFenceId = ASMAtomicReadU32(&pGaDevExt->u32LastCompletedFenceId);
Note:
See TracChangeset
for help on using the changeset viewer.