VirtualBox

Changeset 50898 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 26, 2014 5:16:04 PM (11 years ago)
Author:
vboxsync
Message:

wddm/win8.x: fix DisplayOnly+2D, some new command submission cleanup and fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r50859 r50898  
    16471647{
    16481648    PVBOXWDDM_GETDPCDATA_CONTEXT pdc = (PVBOXWDDM_GETDPCDATA_CONTEXT)Context;
    1649 
    1650     vboxVtListDetach2List(&pdc->pDevExt->CtlList, &pdc->data.CtlList);
     1649    PVBOXMP_DEVEXT pDevExt = pdc->pDevExt;
     1650    vboxVtListDetach2List(&pDevExt->CtlList, &pdc->data.CtlList);
    16511651#ifdef VBOX_WITH_VDMA
    1652     vboxVtListDetach2List(&pdc->pDevExt->DmaCmdList, &pdc->data.DmaCmdList);
     1652    vboxVtListDetach2List(&pDevExt->DmaCmdList, &pdc->data.DmaCmdList);
    16531653#endif
    16541654#ifdef VBOX_WITH_VIDEOHWACCEL
    1655     vboxVtListDetach2List(&pdc->pDevExt->VhwaCmdList, &pdc->data.VhwaCmdList);
    1656 #endif
    1657     vboxVdmaDdiCmdGetCompletedListIsr(pdc->pDevExt, &pdc->data.CompletedDdiCmdQueue);
    1658 
    1659     pdc->data.bNotifyDpc = pdc->pDevExt->bNotifyDxDpc;
    1660     pdc->pDevExt->bNotifyDxDpc = FALSE;
    1661 
    1662     ASMAtomicWriteU32(&pdc->pDevExt->fCompletingCommands, 0);
     1655    vboxVtListDetach2List(&pDevExt->VhwaCmdList, &pdc->data.VhwaCmdList);
     1656#endif
     1657    if (!pDevExt->fCmdVbvaEnabled)
     1658        vboxVdmaDdiCmdGetCompletedListIsr(pDevExt, &pdc->data.CompletedDdiCmdQueue);
     1659
     1660    pdc->data.bNotifyDpc = pDevExt->bNotifyDxDpc;
     1661    pDevExt->bNotifyDxDpc = FALSE;
     1662
     1663    ASMAtomicWriteU32(&pDevExt->fCompletingCommands, 0);
    16631664
    16641665    return TRUE;
     
    17011702            AssertRC(rc);
    17021703        }
    1703     #ifdef VBOX_WITH_VIDEOHWACCEL
     1704#ifdef VBOX_WITH_VIDEOHWACCEL
    17041705        if (!vboxVtListIsEmpty(&context.data.VhwaCmdList))
    17051706        {
    17061707            vboxVhwaCompletionListProcess(pDevExt, &context.data.VhwaCmdList);
    17071708        }
    1708     #endif
    1709 
    1710         vboxVdmaDdiCmdHandleCompletedList(pDevExt, &context.data.CompletedDdiCmdQueue);
     1709#endif
    17111710    }
    17121711//    LOGF(("LEAVE, context(0x%p)", MiniportDeviceContext));
     
    30343033{
    30353034    PVBOXWDDM_CALL_ISR pdc = (PVBOXWDDM_CALL_ISR)Context;
    3036     if (pdc->pDevExt->fCmdVbvaEnabled)
    3037         return DxgkDdiInterruptRoutineNew(pdc->pDevExt, pdc->MessageNumber);
    3038     return DxgkDdiInterruptRoutineLegacy(pdc->pDevExt, pdc->MessageNumber);
     3035    PVBOXMP_DEVEXT pDevExt = pdc->pDevExt;
     3036    if (pDevExt->fCmdVbvaEnabled)
     3037        return DxgkDdiInterruptRoutineNew(pDevExt, pdc->MessageNumber);
     3038    return DxgkDdiInterruptRoutineLegacy(pDevExt, pdc->MessageNumber);
    30393039}
    30403040
     
    47464746{
    47474747    PVBOXWDDM_QUERYCURFENCE_CB pdc = (PVBOXWDDM_QUERYCURFENCE_CB)Context;
    4748     BOOL bRc = DxgkDdiInterruptRoutineLegacy(pdc->pDevExt, pdc->MessageNumber);
    4749     pdc->uLastCompletedCmdFenceId = pdc->pDevExt->u.primary.Vdma.uLastCompletedPagingBufferCmdFenceId;
     4748    PVBOXMP_DEVEXT pDevExt = pdc->pDevExt;
     4749    BOOL bRc = DxgkDdiInterruptRoutineLegacy(pDevExt, pdc->MessageNumber);
     4750    pdc->uLastCompletedCmdFenceId = pDevExt->u.primary.Vdma.uLastCompletedPagingBufferCmdFenceId;
    47504751    return bRc;
    47514752}
     
    71447145    DriverInitializationData.DxgkDdiRemoveDevice = DxgkDdiRemoveDevice;
    71457146    DriverInitializationData.DxgkDdiDispatchIoRequest = DxgkDdiDispatchIoRequest;
    7146     DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutineNew;
    7147     DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutineNew;
     7147    DriverInitializationData.DxgkDdiInterruptRoutine = DxgkDdiInterruptRoutineLegacy;
     7148    DriverInitializationData.DxgkDdiDpcRoutine = DxgkDdiDpcRoutineLegacy;
    71487149    DriverInitializationData.DxgkDdiQueryChildRelations = DxgkDdiQueryChildRelations;
    71497150    DriverInitializationData.DxgkDdiQueryChildStatus = DxgkDdiQueryChildStatus;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette