VirtualBox

Ignore:
Timestamp:
May 20, 2013 12:15:50 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
85878
Message:

crOpenGL: proper support for GL_NONE,AUX,etc. for offscreen rendering

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_framebuffer.c

    r44529 r46173  
    8282    if (0==framebuffer && crServerIsRedirectedToFBO())
    8383    {
     84        CRMuralInfo *mural = cr_server.curClient->currentMural;
    8485        if (target == GL_FRAMEBUFFER)
    8586        {
    86             GLuint idDrawFBO = cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurDrawBuffer];
    87             GLuint idReadFBO = cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurReadBuffer];
     87            GLuint idDrawFBO = CR_SERVER_FBO_FOR_IDX(mural, mural->iCurDrawBuffer);
     88            GLuint idReadFBO = CR_SERVER_FBO_FOR_IDX(mural, mural->iCurReadBuffer);
    8889            if (idDrawFBO == idReadFBO)
    8990                cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_FRAMEBUFFER, idDrawFBO);
     
    9697        else if (target == GL_READ_FRAMEBUFFER)
    9798        {
    98             GLuint idReadFBO = cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurReadBuffer];
     99            GLuint idReadFBO = CR_SERVER_FBO_FOR_IDX(mural, mural->iCurReadBuffer);
    99100            cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_READ_FRAMEBUFFER, idReadFBO);
    100101        }
    101102        else if (target == GL_DRAW_FRAMEBUFFER)
    102103        {
    103             GLuint idDrawFBO = cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurDrawBuffer];
     104            GLuint idDrawFBO = CR_SERVER_FBO_FOR_IDX(mural, mural->iCurDrawBuffer);
    104105            cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, idDrawFBO);
    105106        }
     
    113114        if (GL_FRAMEBUFFER_EXT == target)
    114115        {
    115             Assert(rfb == cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurReadBuffer]);
    116             Assert(dfb == cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurDrawBuffer]);
     116            Assert(rfb == CR_SERVER_FBO_FOR_IDX(mural, mural->iCurReadBuffer));
     117            Assert(dfb == CR_SERVER_FBO_FOR_IDX(mural, mural->iCurDrawBuffer));
    117118        }
    118119        else if (GL_READ_FRAMEBUFFER_EXT == target)
    119120        {
    120             Assert(rfb == cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurReadBuffer]);
     121            Assert(rfb == CR_SERVER_FBO_FOR_IDX(mural, mural->iCurReadBuffer));
    121122        }
    122123        else if (GL_DRAW_FRAMEBUFFER_EXT == target)
    123124        {
    124             Assert(dfb == cr_server.curClient->currentMural->aidFBOs[cr_server.curClient->currentMural->iCurDrawBuffer]);
     125            Assert(dfb == CR_SERVER_FBO_FOR_IDX(mural, mural->iCurDrawBuffer));
    125126        }
    126127        else
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