Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 64735)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 64736)
@@ -6599,5 +6599,4 @@
         Assert(pPresent->SubRectCnt > pPresent->MultipassOffset);
         UINT cbRects = (pPresent->SubRectCnt - pPresent->MultipassOffset) * sizeof (RECT);
-        pPresent->pDmaBufferPrivateData = (uint8_t*)pPresent->pDmaBufferPrivateData + cbHead + cbRects;
         pPresent->pDmaBuffer = ((uint8_t*)pPresent->pDmaBuffer) + VBOXWDDM_DUMMY_DMABUFFER_SIZE;
         Assert(pPresent->DmaSize >= VBOXWDDM_DUMMY_DMABUFFER_SIZE);
@@ -6608,6 +6607,8 @@
         {
             cbCmd -= cbRects;
-            memcpy(&pBlt->Blt.DstRects.UpdateRects.aRects[pPresent->MultipassOffset], &pPresent->pDstSubRects[pPresent->MultipassOffset], cbRects);
+            memcpy(&pBlt->Blt.DstRects.UpdateRects.aRects[0], &pPresent->pDstSubRects[pPresent->MultipassOffset], cbRects);
             pBlt->Blt.DstRects.UpdateRects.cRects += cbRects/sizeof (RECT);
+
+            pPresent->pDmaBufferPrivateData = (uint8_t*)pPresent->pDmaBufferPrivateData + cbHead + cbRects;
         }
         else
@@ -6615,9 +6616,11 @@
             UINT cbFitingRects = (cbCmd/sizeof (RECT)) * sizeof (RECT);
             Assert(cbFitingRects);
-            memcpy(&pBlt->Blt.DstRects.UpdateRects.aRects[pPresent->MultipassOffset], &pPresent->pDstSubRects[pPresent->MultipassOffset], cbFitingRects);
+            memcpy(&pBlt->Blt.DstRects.UpdateRects.aRects[0], &pPresent->pDstSubRects[pPresent->MultipassOffset], cbFitingRects);
             cbCmd -= cbFitingRects;
             pPresent->MultipassOffset += cbFitingRects/sizeof (RECT);
             pBlt->Blt.DstRects.UpdateRects.cRects += cbFitingRects/sizeof (RECT);
             Assert(pPresent->SubRectCnt > pPresent->MultipassOffset);
+
+            pPresent->pDmaBufferPrivateData = (uint8_t*)pPresent->pDmaBufferPrivateData + cbHead + cbFitingRects;
             Status = STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER;
         }
