Changeset 75715 in vbox for trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.cpp
- Timestamp:
- Nov 25, 2018 3:59:10 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 126914
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d.cpp
r74261 r75715 816 816 } 817 817 818 /** @todo Only screen 0 for now. */ 819 AssertReturn(idDstScreen == 0, VERR_INTERNAL_ERROR); 818 VMSVGASCREENOBJECT *pScreen = vmsvgaGetScreenObject(pThis, idDstScreen); 819 AssertReturn(pScreen, VERR_INTERNAL_ERROR); 820 820 821 AssertReturn(src.mipmap == 0 && src.face == 0, VERR_INVALID_PARAMETER); 821 822 /** @todo scaling */ … … 829 830 box.d = 1; 830 831 831 /** @todo SVGA_GMR_FRAMEBUFFER is not the screen object832 * and might not point to the start of VRAM as assumed here.833 */834 832 dest.ptr.gmrId = SVGA_GMR_FRAMEBUFFER; 835 dest.ptr.offset = p This->svga.uScreenOffset;836 dest.pitch = p This->svga.cbScanline;833 dest.ptr.offset = pScreen->offVRAM; 834 dest.pitch = pScreen->cbPitch; 837 835 838 836 if (cRects == 0) … … 861 859 862 860 /* Update the guest image, which is at box.src. */ 863 v gaR3UpdateDisplay(pThis, box.srcx, box.srcy, box.w, box.h);861 vmsvgaUpdateScreen(pThis, pScreen, box.srcx, box.srcy, box.w, box.h); 864 862 } 865 863 else … … 886 884 887 885 /* Update the guest image, which is at box.src. */ 888 v gaR3UpdateDisplay(pThis, box.srcx, box.srcy, box.w, box.h);886 vmsvgaUpdateScreen(pThis, pScreen, box.srcx, box.srcy, box.w, box.h); 889 887 } 890 888 } … … 902 900 int rc = vmsvga3dSurfaceFromSid(pState, sid, &pSurface); 903 901 AssertRCReturn(rc, rc); 902 903 /** @todo Detect screen from coords? Or split rect to screens? */ 904 VMSVGASCREENOBJECT *pScreen = vmsvgaGetScreenObject(pThis, 0); 905 AssertReturn(pScreen, VERR_INTERNAL_ERROR); 904 906 905 907 /* If there are no recangles specified, just grab a screenful. */ … … 915 917 DummyRect.x = DummyRect.srcx = 0; 916 918 DummyRect.y = DummyRect.srcy = 0; 917 DummyRect.w = p This->svga.uWidth;918 DummyRect.h = p This->svga.uHeight;919 DummyRect.w = pScreen->cWidth; 920 DummyRect.h = pScreen->cHeight; 919 921 cRects = 1; 920 922 pRect = &DummyRect;
Note:
See TracChangeset
for help on using the changeset viewer.