VirtualBox

Ignore:
Timestamp:
Apr 25, 2014 3:24:57 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
93469
Message:

crOpenGL: blitter fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp

    r51141 r51146  
    306306    uint32_t width = 0, height = 0;
    307307    RTPOINT ScaledEntryPoint = {0};
     308    RTRECT ScaledSrcRect = {0};
    308309
    309310    VBOXVR_SCR_COMPOSITOR_CONST_ITERATOR Iter;
     
    424425                    ScaledEntryPoint.x = CR_FLOAT_RCAST(int32_t, strX * CrVrScrCompositorEntryRectGet(pEntry)->xLeft) + pDstRect->xLeft;
    425426                    ScaledEntryPoint.y = CR_FLOAT_RCAST(int32_t, strY * CrVrScrCompositorEntryRectGet(pEntry)->yTop) + pDstRect->yTop;
     427                    ScaledSrcRect.xLeft = ScaledEntryPoint.x;
     428                    ScaledSrcRect.yTop = ScaledEntryPoint.y;
     429                    ScaledSrcRect.xRight = width + ScaledEntryPoint.x;
     430                    ScaledSrcRect.yBottom = height + ScaledEntryPoint.y;
    426431                }
     432
     433                VBoxRectIntersect(&Intersection, &ScaledSrcRect);
     434                if (VBoxRectIsZero(&Intersection))
     435                    continue;
    427436
    428437                rc = CrTdBltDataAcquireScaled(pTex, GL_BGRA, false, width, height, &pSrcImg);
     
    475484
    476485        crFbImgFromFb(hFb, &FbImg);
     486
     487        for (uint32_t i = 0; i < c2DRects; ++i)
     488        {
     489            VBoxRectScale(&p2DRects[i], strX, strY);
     490        }
    477491
    478492        CrMBltImgScaled(&FbImg, pSrcRectSize, pDstRect, c2DRects, p2DRects, pDst);
     
    50075021
    50085022    const VBOXVR_TEXTURE *pVrTex = CrTdTexGet(pTex);
    5009     RTRECT SrcRect, DstRect;
    50105023    if (!width)
    50115024    {
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette