- Timestamp:
- Dec 6, 2010 11:54:46 AM (14 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/DisplayImpl.cpp
r34377 r34739 873 873 * @thread EMT 874 874 */ 875 void Display::handleDisplayUpdate (int x, int y, int w, int h) 875 void Display::handleDisplayUpdateLegacy (int x, int y, int w, int h) 876 { 877 unsigned uScreenId = mapCoordsToScreen(maFramebuffers, mcMonitors, &x, &y, &w, &h); 878 879 #ifdef DEBUG_sunlover 880 LogFlowFunc (("%d,%d %dx%d (checked)\n", x, y, w, h)); 881 #endif /* DEBUG_sunlover */ 882 883 handleDisplayUpdate (uScreenId, x, y, w, h); 884 } 885 886 void Display::handleDisplayUpdate (unsigned uScreenId, int x, int y, int w, int h) 876 887 { 877 888 #ifdef VBOX_WITH_OLD_VBVA_LOCK … … 883 894 884 895 #ifdef DEBUG_sunlover 885 LogFlowFunc (("%d,%d %dx%d (%d,%d)\n", 886 x, y, w, h, mpDrv->IConnector.cx, mpDrv->IConnector.cy)); 887 #endif /* DEBUG_sunlover */ 888 889 unsigned uScreenId = mapCoordsToScreen(maFramebuffers, mcMonitors, &x, &y, &w, &h); 890 891 #ifdef DEBUG_sunlover 892 LogFlowFunc (("%d,%d %dx%d (checked)\n", x, y, w, h)); 896 LogFlowFunc (("[%d] %d,%d %dx%d (%d,%d)\n", 897 uScreenId, x, y, w, h, mpDrv->IConnector.cx, mpDrv->IConnector.cy)); 893 898 #endif /* DEBUG_sunlover */ 894 899 … … 1143 1148 //@todo pfnUpdateDisplayRect must take the vram offset parameter for the framebuffer 1144 1149 prgn->pPort->pfnUpdateDisplayRect (prgn->pPort, phdr->x, phdr->y, phdr->w, phdr->h); 1145 prgn->pDisplay->handleDisplayUpdate (phdr->x + pFBInfo->xOrigin,1150 prgn->pDisplay->handleDisplayUpdateLegacy (phdr->x + pFBInfo->xOrigin, 1146 1151 phdr->y + pFBInfo->yOrigin, phdr->w, phdr->h); 1147 1152 } … … 1161 1166 //@todo pfnUpdateDisplayRect must take the vram offset parameter for the framebuffer 1162 1167 prgn->pPort->pfnUpdateDisplayRect (prgn->pPort, pFBInfo->dirtyRect.xLeft, pFBInfo->dirtyRect.yTop, w, h); 1163 prgn->pDisplay->handleDisplayUpdate (pFBInfo->dirtyRect.xLeft + pFBInfo->xOrigin,1168 prgn->pDisplay->handleDisplayUpdateLegacy (pFBInfo->dirtyRect.xLeft + pFBInfo->xOrigin, 1164 1169 pFBInfo->dirtyRect.yTop + pFBInfo->yOrigin, w, h); 1165 1170 } … … 2588 2593 } 2589 2594 2590 pDisplay->handleDisplayUpdate( x + pFBInfo->xOrigin, y + pFBInfo->yOrigin, width, height);2595 pDisplay->handleDisplayUpdate(aScreenId, x, y, width, height); 2591 2596 } 2592 2597 } … … 2724 2729 } 2725 2730 2726 pDisplay->handleDisplayUpdate ( pFBInfo->xOrigin, pFBInfo->yOrigin, pFBInfo->w, pFBInfo->h);2731 pDisplay->handleDisplayUpdate (uScreenId, 0, 0, pFBInfo->w, pFBInfo->h); 2727 2732 } 2728 2733 } … … 3011 3016 */ 3012 3017 3013 pDrv->pDisplay->handleDisplayUpdate( x, y, cx, cy);3018 pDrv->pDisplay->handleDisplayUpdate(VBOX_VIDEO_PRIMARY_SCREEN, x, y, cx, cy); 3014 3019 } 3015 3020 … … 3654 3659 */ 3655 3660 pFBInfo->cVBVASkipUpdate = 0; 3656 pThis->handleDisplayUpdate( pFBInfo->vbvaSkippedRect.xLeft,3657 pFBInfo->vbvaSkippedRect.yTop ,3661 pThis->handleDisplayUpdate(uScreenId, pFBInfo->vbvaSkippedRect.xLeft - pFBInfo->xOrigin, 3662 pFBInfo->vbvaSkippedRect.yTop - pFBInfo->yOrigin, 3658 3663 pFBInfo->vbvaSkippedRect.xRight - pFBInfo->vbvaSkippedRect.xLeft, 3659 3664 pFBInfo->vbvaSkippedRect.yBottom - pFBInfo->vbvaSkippedRect.yTop); … … 3753 3758 if (RT_LIKELY(pFBInfo->cVBVASkipUpdate == 0)) 3754 3759 { 3755 pThis->handleDisplayUpdate( x, y, cx, cy);3760 pThis->handleDisplayUpdate(uScreenId, x - pFBInfo->xOrigin, y - pFBInfo->yOrigin, cx, cy); 3756 3761 } 3757 3762 else -
trunk/src/VBox/Main/include/DisplayImpl.h
r33590 r34739 123 123 // public methods only for internal purposes 124 124 int handleDisplayResize (unsigned uScreenId, uint32_t bpp, void *pvVRAM, uint32_t cbLine, int w, int h); 125 void handleDisplayUpdate (int x, int y, int cx, int cy); 125 void handleDisplayUpdateLegacy (int x, int y, int cx, int cy); 126 void handleDisplayUpdate (unsigned uScreenId, int x, int y, int w, int h); 126 127 #ifdef VBOX_WITH_VIDEOHWACCEL 127 128 void handleVHWACommandProcess(PPDMIDISPLAYCONNECTOR pInterface, PVBOXVHWACMD pCommand);
Note:
See TracChangeset
for help on using the changeset viewer.