VirtualBox

Ignore:
Timestamp:
May 3, 2019 9:51:02 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130368
Message:

Additions/common/crOpengl,GuestHost/OpenGL,HostServices/SharedOpenGL: Eliminate all global variables from the state tracker library (state_tracker) in preparation of the SPU DLL merging, bugref:9435

File:
1 edited

Legend:

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

    r78263 r78375  
    477477        if (cr_server.curClient && cr_server.curClient->currentMural == mural)
    478478        {
    479             if (!crStateGetCurrent()->framebufferobject.drawFB)
     479            CRContext *ctx = crStateGetCurrent(&cr_server.StateTracker);
     480
     481            if (!ctx->framebufferobject.drawFB)
    480482            {
    481483                cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, CR_SERVER_FBO_FOR_IDX(mural, mural->iCurDrawBuffer));
    482484            }
    483             if (!crStateGetCurrent()->framebufferobject.readFB)
     485            if (!ctx->framebufferobject.readFB)
    484486            {
    485487                cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_READ_FRAMEBUFFER, CR_SERVER_FBO_FOR_IDX(mural, mural->iCurReadBuffer));
    486488            }
    487489
    488             crStateGetCurrent()->buffer.width = 0;
    489             crStateGetCurrent()->buffer.height = 0;
     490            ctx->buffer.width = 0;
     491            ctx->buffer.height = 0;
    490492        }
    491493    }
     
    494496        if (cr_server.curClient && cr_server.curClient->currentMural == mural)
    495497        {
    496             if (!crStateGetCurrent()->framebufferobject.drawFB)
     498            CRContext *ctx = crStateGetCurrent(&cr_server.StateTracker);
     499
     500            if (!ctx->framebufferobject.drawFB)
    497501            {
    498502                cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_DRAW_FRAMEBUFFER, 0);
    499503            }
    500             if (!crStateGetCurrent()->framebufferobject.readFB)
     504            if (!ctx->framebufferobject.readFB)
    501505            {
    502506                cr_server.head_spu->dispatch_table.BindFramebufferEXT(GL_READ_FRAMEBUFFER, 0);
    503507            }
    504508
    505             crStateGetCurrent()->buffer.width = mural->width;
    506             crStateGetCurrent()->buffer.height = mural->height;
     509            ctx->buffer.width = mural->width;
     510            ctx->buffer.height = mural->height;
    507511        }
    508512    }
     
    513517static void crServerCreateMuralFBO(CRMuralInfo *mural)
    514518{
    515     CRContext *ctx = crStateGetCurrent();
     519    CRContext *ctx = crStateGetCurrent(&cr_server.StateTracker);
    516520    GLuint uid, i;
    517521    GLenum status;
     
    540544    /*Color texture*/
    541545
    542     if (crStateIsBufferBound(GL_PIXEL_UNPACK_BUFFER_ARB))
     546    if (crStateIsBufferBound(&cr_server.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB))
    543547    {
    544548        gl->BindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0);
     
    605609    gl->BindFramebufferEXT(GL_READ_FRAMEBUFFER, uid);
    606610
    607     if (crStateIsBufferBound(GL_PIXEL_UNPACK_BUFFER_ARB))
     611    if (crStateIsBufferBound(&cr_server.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB))
    608612    {
    609613        gl->BindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, ctx->bufferobject.unpackBuffer->hwid);
    610614    }
    611615
    612     if (crStateIsBufferBound(GL_PIXEL_PACK_BUFFER_ARB))
     616    if (crStateIsBufferBound(&cr_server.StateTracker, GL_PIXEL_PACK_BUFFER_ARB))
    613617    {
    614618        gl->BindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, ctx->bufferobject.packBuffer->hwid);
     
    825829void crServerMuralFBOSwapBuffers(CRMuralInfo *mural)
    826830{
    827     CRContext *ctx = crStateGetCurrent();
     831    CRContext *ctx = crStateGetCurrent(&cr_server.StateTracker);
    828832    GLint iOldCurDrawBuffer = mural->iCurDrawBuffer;
    829833    GLint iOldCurReadBuffer = mural->iCurReadBuffer;
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