Index: /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp	(revision 53755)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp	(revision 53756)
@@ -2871,14 +2871,15 @@
  * @returns VBox status code.
  * @param   pThis           VGA device instance data.
- * @param   transfer        Transfer type (read/write)
- * @param   pDest           Host destination pointer
+ * @param   enmTransferType Transfer type (read/write)
+ * @param   pbDst           Host destination pointer
  * @param   cbDestPitch     Destination buffer pitch
  * @param   src             GMR description
- * @param   cbSrcOffset     Source buffer offset
+ * @param   offSrc          Source buffer offset
  * @param   cbSrcPitch      Source buffer pitch
  * @param   cbWidth         Source width in bytes
  * @param   cHeight         Source height
  */
-int vmsvgaGMRTransfer(PVGASTATE pThis, const SVGA3dTransferType transfer, uint8_t *pDest, int32_t cbDestPitch, SVGAGuestPtr src, uint32_t cbSrcOffset, int32_t cbSrcPitch, uint32_t cbWidth, uint32_t cHeight)
+int vmsvgaGMRTransfer(PVGASTATE pThis, const SVGA3dTransferType enmTransferType, uint8_t *pbDst, int32_t cbDestPitch,
+                      SVGAGuestPtr src, uint32_t offSrc, int32_t cbSrcPitch, uint32_t cbWidth, uint32_t cHeight)
 {
     PVMSVGASTATE            pSVGAState = (PVMSVGASTATE)pThis->svga.pSVGAState;
@@ -2886,7 +2887,8 @@
     int                     rc;
     PVMSVGAGMRDESCRIPTOR    pDesc;
-    unsigned                uDescOffset = 0;
-
-    Log(("vmsvgaGMRTransfer: gmr=%x offset=%x pitch=%d cbWidth=%d cHeight=%d; src offset=%d src pitch=%d\n", src.gmrId, src.offset, cbDestPitch, cbWidth, cHeight, cbSrcOffset, cbSrcPitch));
+    unsigned                offDesc = 0;
+
+    Log(("vmsvgaGMRTransfer: gmr=%x offset=%x pitch=%d cbWidth=%d cHeight=%d; src offset=%d src pitch=%d\n",
+         src.gmrId, src.offset, cbDestPitch, cbWidth, cHeight, offSrc, cbSrcPitch));
     Assert(cbWidth && cHeight);
 
@@ -2894,17 +2896,23 @@
     if (src.gmrId == SVGA_GMR_FRAMEBUFFER)
     {
-        cbSrcOffset += src.offset;
-        AssertReturn(src.offset < pThis->vram_size, VERR_INVALID_PARAMETER);
-        AssertReturn(cbSrcOffset + cbSrcPitch * (cHeight - 1) + cbWidth <= pThis->vram_size, VERR_INVALID_PARAMETER);
-
-        uint8_t *pSrc  = pThis->CTX_SUFF(vram_ptr) + cbSrcOffset;
-
-        if (transfer == SVGA3D_READ_HOST_VRAM)
+        offSrc += src.offset;
+        AssertMsgReturn(src.offset < pThis->vram_size,
+                        ("src.offset=%#x offSrc=%#x cbSrcPitch=%#x cHeight=%#x cbWidth=%#x cbTotal=%#x vram_size=%#x\n",
+                         src.offset, offSrc, cbSrcPitch, cHeight, cbWidth, pThis->vram_size),
+                        VERR_INVALID_PARAMETER);
+        AssertMsgReturn(offSrc + cbSrcPitch * (cHeight - 1) + cbWidth <= pThis->vram_size,
+                        ("src.offset=%#x offSrc=%#x cbSrcPitch=%#x cHeight=%#x cbWidth=%#x cbTotal=%#x vram_size=%#x\n",
+                         src.offset, offSrc, cbSrcPitch, cHeight, cbWidth, pThis->vram_size),
+                        VERR_INVALID_PARAMETER);
+
+        uint8_t *pSrc  = pThis->CTX_SUFF(vram_ptr) + offSrc;
+
+        if (enmTransferType == SVGA3D_READ_HOST_VRAM)
         {
             /* switch src & dest */
-            uint8_t *pTemp      = pDest;
+            uint8_t *pTemp      = pbDst;
             int32_t cbTempPitch = cbDestPitch;
 
-            pDest = pSrc;
+            pbDst = pSrc;
             pSrc  = pTemp;
 
@@ -2917,5 +2925,5 @@
             &&  cbSrcPitch == cbDestPitch)
         {
-            memcpy(pDest, pSrc, cbWidth * cHeight);
+            memcpy(pbDst, pSrc, cbWidth * cHeight);
         }
         else
@@ -2923,7 +2931,7 @@
             for(uint32_t i = 0; i < cHeight; i++)
             {
-                memcpy(pDest, pSrc, cbWidth);
-
-                pDest += cbDestPitch;
+                memcpy(pbDst, pSrc, cbWidth);
+
+                pbDst += cbDestPitch;
                 pSrc  += cbSrcPitch;
             }
@@ -2936,19 +2944,25 @@
     pDesc  = pGMR->paDesc;
 
-    cbSrcOffset += src.offset;
-    AssertReturn(src.offset < pGMR->cbTotal, VERR_INVALID_PARAMETER);
-    AssertReturn(cbSrcOffset + cbSrcPitch * (cHeight - 1) + cbWidth <= pGMR->cbTotal, VERR_INVALID_PARAMETER);
-
-    for (unsigned i = 0; i < cHeight; i++)
-    {
-        unsigned cbCurrentWidth = cbWidth;
-        unsigned uCurrentOffset = cbSrcOffset;
-        uint8_t *pCurrentDest   = pDest;
+    offSrc += src.offset;
+    AssertMsgReturn(src.offset < pGMR->cbTotal,
+                    ("src.gmrId=%#x src.offset=%#x offSrc=%#x cbSrcPitch=%#x cHeight=%#x cbWidth=%#x cbTotal=%#x\n",
+                     src.gmrId, src.offset, offSrc, cbSrcPitch, cHeight, cbWidth, pGMR->cbTotal),
+                    VERR_INVALID_PARAMETER);
+    AssertMsgReturn(offSrc + cbSrcPitch * (cHeight - 1) + cbWidth <= pGMR->cbTotal,
+                    ("src.gmrId=%#x src.offset=%#x offSrc=%#x cbSrcPitch=%#x cHeight=%#x cbWidth=%#x cbTotal=%#x\n",
+                     src.gmrId, src.offset, offSrc, cbSrcPitch, cHeight, cbWidth, pGMR->cbTotal),
+                    VERR_INVALID_PARAMETER);
+
+    for (uint32_t i = 0; i < cHeight; i++)
+    {
+        uint32_t cbCurrentWidth = cbWidth;
+        uint32_t offCurrent     = offSrc;
+        uint8_t *pCurrentDest   = pbDst;
 
         /* Find the right descriptor */
-        while (uDescOffset + pDesc->numPages * PAGE_SIZE <= uCurrentOffset)
-        {
-            uDescOffset += pDesc->numPages * PAGE_SIZE;
-            AssertReturn(uDescOffset < pGMR->cbTotal, VERR_INTERNAL_ERROR); /* overflow protection */
+        while (offDesc + pDesc->numPages * PAGE_SIZE <= offCurrent)
+        {
+            offDesc += pDesc->numPages * PAGE_SIZE;
+            AssertReturn(offDesc < pGMR->cbTotal, VERR_INTERNAL_ERROR); /* overflow protection */
             pDesc++;
         }
@@ -2956,7 +2970,7 @@
         while (cbCurrentWidth)
         {
-            unsigned cbToCopy;
-
-            if (uCurrentOffset + cbCurrentWidth <= uDescOffset + pDesc->numPages * PAGE_SIZE)
+            uint32_t cbToCopy;
+
+            if (offCurrent + cbCurrentWidth <= offDesc + pDesc->numPages * PAGE_SIZE)
             {
                 cbToCopy = cbCurrentWidth;
@@ -2964,18 +2978,18 @@
             else
             {
-                cbToCopy = (uDescOffset + pDesc->numPages * PAGE_SIZE - uCurrentOffset);
+                cbToCopy = (offDesc + pDesc->numPages * PAGE_SIZE - offCurrent);
                 AssertReturn(cbToCopy <= cbCurrentWidth, VERR_INVALID_PARAMETER);
             }
 
-            LogFlow(("vmsvgaGMRTransfer: %s phys=%RGp\n", (transfer == SVGA3D_WRITE_HOST_VRAM) ? "READ" : "WRITE", pDesc->GCPhys + uCurrentOffset - uDescOffset));
-
-            if (transfer == SVGA3D_WRITE_HOST_VRAM)
-                rc = PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), pDesc->GCPhys + uCurrentOffset - uDescOffset, pCurrentDest, cbToCopy);
+            LogFlow(("vmsvgaGMRTransfer: %s phys=%RGp\n", (enmTransferType == SVGA3D_WRITE_HOST_VRAM) ? "READ" : "WRITE", pDesc->GCPhys + offCurrent - offDesc));
+
+            if (enmTransferType == SVGA3D_WRITE_HOST_VRAM)
+                rc = PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns), pDesc->GCPhys + offCurrent - offDesc, pCurrentDest, cbToCopy);
             else
-                rc = PDMDevHlpPhysWrite(pThis->CTX_SUFF(pDevIns), pDesc->GCPhys + uCurrentOffset - uDescOffset, pCurrentDest, cbToCopy);
+                rc = PDMDevHlpPhysWrite(pThis->CTX_SUFF(pDevIns), pDesc->GCPhys + offCurrent - offDesc, pCurrentDest, cbToCopy);
             AssertRCBreak(rc);
 
             cbCurrentWidth -= cbToCopy;
-            uCurrentOffset += cbToCopy;
+            offCurrent     += cbToCopy;
             pCurrentDest   += cbToCopy;
 
@@ -2983,11 +2997,11 @@
             if (cbCurrentWidth)
             {
-                uDescOffset += pDesc->numPages * PAGE_SIZE;
+                offDesc += pDesc->numPages * PAGE_SIZE;
                 pDesc++;
             }
         }
 
-        cbSrcOffset += cbSrcPitch;
-        pDest       += cbDestPitch;
+        offSrc  += cbSrcPitch;
+        pbDst   += cbDestPitch;
     }
 
Index: /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp	(revision 53755)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp	(revision 53756)
@@ -2762,16 +2762,16 @@
 #endif
             rc = vmsvgaGMRTransfer(pThis,
-                                    transfer,
-                                    pBufferStart,
+                                   transfer,
+                                   pBufferStart,
 #ifdef MANUAL_FLIP_SURFACE_DATA
-                                    -(int32_t)pMipLevel->cbSurfacePitch,
+                                   -(int32_t)pMipLevel->cbSurfacePitch,
 #else
-                                    (int32_t)pMipLevel->cbSurfacePitch,
+                                   (int32_t)pMipLevel->cbSurfacePitch,
 #endif
-                                    guest.ptr,
-                                    pBoxes[i].srcx * pSurface->cbBlock + (pBoxes[i].srcy + pBoxes[i].srcz * pBoxes[i].h) * cbSrcPitch,
-                                    cbSrcPitch,
-                                    pBoxes[i].w * pSurface->cbBlock,
-                                    pBoxes[i].d * pBoxes[i].h);
+                                   guest.ptr,
+                                   pBoxes[i].srcx * pSurface->cbBlock + (pBoxes[i].srcy + pBoxes[i].srcz * pBoxes[i].h) * cbSrcPitch,
+                                   cbSrcPitch,
+                                   pBoxes[i].w * pSurface->cbBlock,
+                                   pBoxes[i].d * pBoxes[i].h);
 
             Log4(("first line:\n%.*Rhxd\n", pMipLevel->cbSurface, pMipLevel->pSurfaceData));
Index: /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h	(revision 53755)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.h	(revision 53756)
@@ -45,5 +45,6 @@
 
 void vmsvgaGMRFree(PVGASTATE pThis, uint32_t idGMR);
-int vmsvgaGMRTransfer(PVGASTATE pThis, const SVGA3dTransferType transfer, uint8_t *pDest, int32_t cbDestPitch, SVGAGuestPtr src, uint32_t cbSrcOffset, int32_t cbSrcPitch, uint32_t cbWidth, uint32_t cHeight);
+int vmsvgaGMRTransfer(PVGASTATE pThis, const SVGA3dTransferType enmTransferType, uint8_t *pDest, int32_t cbDestPitch,
+                      SVGAGuestPtr src, uint32_t offSrc, int32_t cbSrcPitch, uint32_t cbWidth, uint32_t cHeight);
 
 int vmsvga3dInit(PVGASTATE pThis);
