VirtualBox

Ignore:
Timestamp:
Mar 15, 2013 9:54:00 AM (12 years ago)
Author:
vboxsync
Message:

crOpenGL/osx: fix visible regions handling

Location:
trunk/src/VBox/HostServices/SharedOpenGL/render
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.c

    r45041 r45048  
    668668        {
    669669            uint32_t i;
    670             for (i = 0; i < pEntry->cRects; ++i)
     670            for (i = 0; i < cRegions; ++i)
    671671            {
    672672                RTRECT DstRect;
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_cocoa_helper.m

    r44922 r45048  
    10961096- (void)vboxPresentCS
    10971097{
    1098         NSRect r = [self frame];
    1099         DEBUG_MSG(("OVIW(%p): rF2V frame: [%i, %i, %i, %i]\n", (void*)self, (int)r.origin.x, (int)r.origin.y, (int)r.size.width, (int)r.size.height));
    1100 
    11011098        {
    11021099            if ([m_pSharedGLCtx view] != self)
     
    11221119- (void)vboxPresentToViewCS
    11231120{
     1121    NSRect r = [self frame];
     1122    DEBUG_MSG(("OVIW(%p): rF2V frame: [%i, %i, %i, %i]\n", (void*)self, (int)r.origin.x, (int)r.origin.y, (int)r.size.width, (int)r.size.height));
     1123
    11241124#if 1 /* Set to 0 to see the docktile instead of the real output */
    11251125    VBOXVR_SCR_COMPOSITOR_ITERATOR CIter;
     
    11471147            glReadBuffer(GL_COLOR_ATTACHMENT0);
    11481148                   
    1149             for (i = 0; i < pEntry->cRects; ++i)
     1149            for (i = 0; i < cRegions; ++i)
    11501150            {
    11511151                const RTRECT * pSrcRect = &paSrcRegions[i];
    11521152                const RTRECT * pDstRect = &paDstRegions[i];
     1153                GLint srcY1 = r.size.height - pSrcRect->yTop;
     1154                GLint srcY2 = r.size.height - pSrcRect->yBottom;
     1155                GLint dstY1 = r.size.height - pDstRect->yTop;
     1156                GLint dstY2 = r.size.height - pDstRect->yBottom;
    11531157                       
    1154                 glBlitFramebufferEXT(pSrcRect->xLeft, pSrcRect->yTop + m_RootShift.y,
    1155                                                                  pSrcRect->xRight, pSrcRect->yBottom + m_RootShift.y,
    1156                                          pDstRect->xLeft - m_RootShift.x, pDstRect->yTop,
    1157                                          pDstRect->xRight - m_RootShift.x, pDstRect->yBottom,
     1158                glBlitFramebufferEXT(pSrcRect->xLeft, srcY1 + m_RootShift.y,
     1159                                                                 pSrcRect->xRight, srcY2 + m_RootShift.y,
     1160                                         pDstRect->xLeft - m_RootShift.x, dstY1,
     1161                                         pDstRect->xRight - m_RootShift.x, dstY2,
    11581162                                            GL_COLOR_BUFFER_BIT, GL_LINEAR);
    11591163            }
     
    12821286                    glReadBuffer(GL_COLOR_ATTACHMENT0);
    12831287                   
    1284                     for (i = 0; i < pEntry->cRects; ++i)
     1288                    for (i = 0; i < cRegions; ++i)
    12851289                    {
    12861290                        const RTRECT * pSrcRect = &paSrcRegions[i];
    12871291                        const RTRECT * pDstRect = &paDstRegions[i];
     1292                        GLint srcY1 = r.size.height - pSrcRect->yTop;
     1293                        GLint srcY2 = r.size.height - pSrcRect->yBottom;
     1294                        GLint dstY1 = r.size.height - pDstRect->yTop;
     1295                        GLint dstY2 = r.size.height - pDstRect->yBottom;
     1296                       
    12881297                       
    1289                         glBlitFramebufferEXT(pSrcRect->xLeft, pSrcRect->yTop + m_RootShift.y,
    1290                                                                         pSrcRect->xRight, pSrcRect->yBottom + m_RootShift.y,
    1291                                                 pDstRect->xLeft * m_FBOThumbScaleX, pDstRect->yTop * m_FBOThumbScaleY,
    1292                                                 pDstRect->xRight * m_FBOThumbScaleX, pDstRect->yBottom * m_FBOThumbScaleY,
     1298                        glBlitFramebufferEXT(pSrcRect->xLeft, srcY1 + m_RootShift.y,
     1299                                                                        pSrcRect->xRight, srcY2 + m_RootShift.y,
     1300                                                pDstRect->xLeft * m_FBOThumbScaleX, dstY1 * m_FBOThumbScaleY,
     1301                                                pDstRect->xRight * m_FBOThumbScaleX, dstY2 * m_FBOThumbScaleY,
    12931302                                                GL_COLOR_BUFFER_BIT, GL_LINEAR);
    12941303                    }
Note: See TracChangeset for help on using the changeset viewer.

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