Changeset 38995 in vbox
- Timestamp:
- Oct 14, 2011 10:23:22 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r38966 r38995 3769 3769 } 3770 3770 3771 #ifdef DEBUG_sunlover 3772 static void logVBVAResize(const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, const DISPLAYFBINFO *pFBInfo) 3773 { 3774 LogRel(("displayVBVAResize: [%d] %s\n" 3775 " pView->u32ViewIndex %d\n" 3776 " pView->u32ViewOffset 0x%08X\n" 3777 " pView->u32ViewSize 0x%08X\n" 3778 " pView->u32MaxScreenSize 0x%08X\n" 3779 " pScreen->i32OriginX %d\n" 3780 " pScreen->i32OriginY %d\n" 3781 " pScreen->u32StartOffset 0x%08X\n" 3782 " pScreen->u32LineSize 0x%08X\n" 3783 " pScreen->u32Width %d\n" 3784 " pScreen->u32Height %d\n" 3785 " pScreen->u16BitsPerPixel %d\n" 3786 " pScreen->u16Flags 0x%04X\n" 3787 " pFBInfo->u32Offset 0x%08X\n" 3788 " pFBInfo->u32MaxFramebufferSize 0x%08X\n" 3789 " pFBInfo->u32InformationSize 0x%08X\n" 3790 " pFBInfo->fDisabled %d\n" 3791 " xOrigin, yOrigin, w, h: %d,%d %dx%d\n" 3792 " pFBInfo->u16BitsPerPixel %d\n" 3793 " pFBInfo->pu8FramebufferVRAM %p\n" 3794 " pFBInfo->u32LineSize 0x%08X\n" 3795 " pFBInfo->flags 0x%04X\n" 3796 " pFBInfo->pHostEvents %p\n" 3797 " pFBInfo->u32ResizeStatus %d\n" 3798 " pFBInfo->fDefaultFormat %d\n" 3799 " dirtyRect %d-%d %d-%d\n" 3800 " pFBInfo->pendingResize.fPending %d\n" 3801 " pFBInfo->pendingResize.pixelFormat %d\n" 3802 " pFBInfo->pendingResize.pvVRAM %p\n" 3803 " pFBInfo->pendingResize.bpp %d\n" 3804 " pFBInfo->pendingResize.cbLine 0x%08X\n" 3805 " pFBInfo->pendingResize.w,h %dx%d\n" 3806 " pFBInfo->pendingResize.flags 0x%04X\n" 3807 " pFBInfo->fVBVAEnabled %d\n" 3808 " pFBInfo->cVBVASkipUpdate %d\n" 3809 " pFBInfo->vbvaSkippedRect %d-%d %d-%d\n" 3810 " pFBInfo->pVBVAHostFlags %p\n" 3811 "", 3812 pScreen->u32ViewIndex, 3813 (pScreen->u16Flags & VBVA_SCREEN_F_DISABLED)? "DISABLED": "ENABLED", 3814 pView->u32ViewIndex, 3815 pView->u32ViewOffset, 3816 pView->u32ViewSize, 3817 pView->u32MaxScreenSize, 3818 pScreen->i32OriginX, 3819 pScreen->i32OriginY, 3820 pScreen->u32StartOffset, 3821 pScreen->u32LineSize, 3822 pScreen->u32Width, 3823 pScreen->u32Height, 3824 pScreen->u16BitsPerPixel, 3825 pScreen->u16Flags, 3826 pFBInfo->u32Offset, 3827 pFBInfo->u32MaxFramebufferSize, 3828 pFBInfo->u32InformationSize, 3829 pFBInfo->fDisabled, 3830 pFBInfo->xOrigin, 3831 pFBInfo->yOrigin, 3832 pFBInfo->w, 3833 pFBInfo->h, 3834 pFBInfo->u16BitsPerPixel, 3835 pFBInfo->pu8FramebufferVRAM, 3836 pFBInfo->u32LineSize, 3837 pFBInfo->flags, 3838 pFBInfo->pHostEvents, 3839 pFBInfo->u32ResizeStatus, 3840 pFBInfo->fDefaultFormat, 3841 pFBInfo->dirtyRect.xLeft, 3842 pFBInfo->dirtyRect.xRight, 3843 pFBInfo->dirtyRect.yTop, 3844 pFBInfo->dirtyRect.yBottom, 3845 pFBInfo->pendingResize.fPending, 3846 pFBInfo->pendingResize.pixelFormat, 3847 pFBInfo->pendingResize.pvVRAM, 3848 pFBInfo->pendingResize.bpp, 3849 pFBInfo->pendingResize.cbLine, 3850 pFBInfo->pendingResize.w, 3851 pFBInfo->pendingResize.h, 3852 pFBInfo->pendingResize.flags, 3853 pFBInfo->fVBVAEnabled, 3854 pFBInfo->cVBVASkipUpdate, 3855 pFBInfo->vbvaSkippedRect.xLeft, 3856 pFBInfo->vbvaSkippedRect.yTop, 3857 pFBInfo->vbvaSkippedRect.xRight, 3858 pFBInfo->vbvaSkippedRect.yBottom, 3859 pFBInfo->pVBVAHostFlags 3860 )); 3861 } 3862 #endif /* DEBUG_sunlover */ 3863 3771 3864 DECLCALLBACK(int) Display::displayVBVAResize(PPDMIDISPLAYCONNECTOR pInterface, const PVBVAINFOVIEW pView, const PVBVAINFOSCREEN pScreen, void *pvVRAM) 3772 3865 { … … 3796 3889 } 3797 3890 3798 bool fResize = pFBInfo->fDisabled; /* If display was disabled, do a resize, because the framebuffer was changed. */ 3891 /* If display was disabled or there is no framebuffer, a resize will be required, 3892 * because the framebuffer was/will be changed. 3893 */ 3894 bool fResize = pFBInfo->fDisabled || pFBInfo->pFramebuffer.isNull(); 3799 3895 3800 3896 if (pFBInfo->fDisabled) … … 3806 3902 pScreen->i32OriginX, pScreen->i32OriginY, 3807 3903 pScreen->u32Width, pScreen->u32Height); 3808 if (pFBInfo->pFramebuffer.isNull()) 3809 { 3810 /* @todo If no framebuffer, remember the resize parameters to issue a requestResize later. */ 3811 return VINF_SUCCESS; 3812 } 3813 /* If the framebuffer already set for the screen, do a regular resize. */ 3904 /* Continue to update pFBInfo. */ 3814 3905 } 3815 3906 … … 3885 3976 } 3886 3977 3978 if (pFBInfo->pFramebuffer.isNull()) 3979 { 3980 /* If no framebuffer, the resize will be done later when a new framebuffer will be set in changeFramebuffer. */ 3981 return VINF_SUCCESS; 3982 } 3983 3984 /* If the framebuffer already set for the screen, do a regular resize. */ 3887 3985 return pThis->handleDisplayResize(pScreen->u32ViewIndex, pScreen->u16BitsPerPixel, 3888 3986 (uint8_t *)pvVRAM + pScreen->u32StartOffset,
Note:
See TracChangeset
for help on using the changeset viewer.