VirtualBox

Ignore:
Timestamp:
Jun 29, 2010 2:15:34 PM (14 years ago)
Author:
vboxsync
Message:

wddm/3d: visible regions working (more debug still needed)

Location:
trunk/src/VBox/Additions/WINNT/Graphics
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3D.cpp

    r30483 r30505  
    31713171#endif
    31723172    }
    3173 #if 1
     3173#if 0
    31743174    else
    31753175#endif
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispMp.cpp

    r30483 r30505  
    4141    if (pIter->cbRemain)
    4242    {
     43        PVBOXVIDEOCM_CMD_HDR pCur = pIter->pCur;
    4344        Assert(pIter->cbRemain  >= pIter->pCur->cbCmd);
    4445        pIter->cbRemain -= pIter->pCur->cbCmd;
    4546        pIter->pCur = (PVBOXVIDEOCM_CMD_HDR)(((uint8_t*)pIter->pCur) + pIter->pCur->cbCmd);
    46         return pIter->pCur;
     47        return pCur;
    4748    }
    4849    return NULL;
     
    100101                if (g_VBoxDispMp.pEscapeCmd->Hdr.cbCmdsReturned)
    101102                {
    102                     PVBOXVIDEOCM_CMD_HDR pHdr = (PVBOXVIDEOCM_CMD_HDR)(((uint8_t*)g_VBoxDispMp.pEscapeCmd) + sizeof (VBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD));
     103                    pHdr = (PVBOXVIDEOCM_CMD_HDR)(((uint8_t*)g_VBoxDispMp.pEscapeCmd) + sizeof (VBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD));
    103104                    vboxVideoCmIterInit(&g_VBoxDispMp.Iterator, pHdr, g_VBoxDispMp.pEscapeCmd->Hdr.cbCmdsReturned);
    104105                    pHdr = vboxVideoCmIterNext(&g_VBoxDispMp.Iterator);
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoCm.cpp

    r30484 r30505  
    367367    PVBOXVIDEOCM_CMD_DR pHdr;
    368368    LIST_ENTRY DetachedList;
    369     PLIST_ENTRY pCurEntry;
     369    PLIST_ENTRY pCurEntry = NULL;
    370370    uint32_t cbCmdsReturned = 0;
    371371    uint32_t cbRemainingCmds = 0;
     
    386386            if (!IsListEmpty(&pSession->CommandsList))
    387387            {
    388                 Assert(pCurEntry == &pSession->CommandsList);
     388                Assert(!pCurEntry);
    389389                pHdr = VBOXCMENTRY_2_CMD(pSession->CommandsList.Blink);
    390390                Assert(pHdr->CmdHdr.cbCmd);
     
    411411        else
    412412        {
     413            Assert(pCurEntry);
    413414            if (pCurEntry != &pSession->CommandsList)
    414415            {
     
    429430
    430431    pCmd->Hdr.cbCmdsReturned = 0;
    431     for (pCurEntry = DetachedList.Blink; DetachedList.Blink != &DetachedList; pCurEntry = pCurEntry->Blink)
    432     {
     432    for (pCurEntry = DetachedList.Blink; pCurEntry != &DetachedList; pCurEntry = DetachedList.Blink)
     433    {
     434        pHdr = VBOXCMENTRY_2_CMD(pCurEntry);
    433435        memcpy(pvData, &pHdr->CmdHdr, pHdr->CmdHdr.cbCmd);
    434436        pvData += pHdr->CmdHdr.cbCmd;
    435437        pCmd->Hdr.cbCmdsReturned += pHdr->CmdHdr.cbCmd;
     438        RemoveEntryList(pCurEntry);
    436439        vboxVideoCmCmdReleaseByHdr(pHdr);
    437440    }
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoVdma.cpp

    r30484 r30505  
    301301            }
    302302
    303             vboxVdmaDirtyRectsCalcIntersection(&pContext->ViewRect, pRects, &pCmd->RectsInfo);
     303            vboxVdmaDirtyRectsCalcIntersection(&pCurContext->ViewRect, pRects, &pCmd->RectsInfo);
    304304            if (pCmd->RectsInfo.cRects)
    305305            {
     
    357357                pDrCmd->RectsInfo.aRects[0] = *pContextRect;
    358358                pDirtyRect = &pDrCmd->RectsInfo.aRects[1];
     359                pContext->ViewRect = *pContextRect;
    359360            }
    360361            else
    361362                pDirtyRect = &pDrCmd->RectsInfo.aRects[0];
    362363
     364            Assert(pRects->cRects);
    363365            pDrCmd->fFlags.bAddVisibleRects = 1;
    364366            memcpy (pDirtyRect, pRects->aRects, sizeof (RECT) * pRects->cRects);
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