VirtualBox

Changeset 47116 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jul 12, 2013 12:35:16 PM (11 years ago)
Author:
vboxsync
Message:

crOpenGL: saved state and dummy mural/context fixes

Location:
trunk/src/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_version.h

    r46037 r47116  
    3535/* dirty bits are not needed for now, remove */
    3636#define SHCROGL_SSM_VERSION_WITHOUT_DIRTY_BITS                      38
    37 #define SHCROGL_SSM_VERSION                                         38
     37/* dummy windows and contexts have 0 external IDs, so never get stored to the state */
     38#define SHCROGL_SSM_VERSION_WITH_FIXED_DUMMYIDS                     39
     39#define SHCROGL_SSM_VERSION                                         39
    3840
    3941/* These define the Chromium release number.
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r46885 r47116  
    154154     * and generally this should be zeroed up */
    155155    cr_server.currentCtxInfo = NULL;
    156     cr_server.currentWindow = 0;
     156    cr_server.currentWindow = -1;
    157157    cr_server.currentNativeWindow = 0;
    158158    cr_server.currentMural = NULL;
     
    348348        cr_server.u32Caps = 0;
    349349#ifdef DEBUG_misha
    350         cr_server.u32Caps = CR_VBOX_CAP_TEX_PRESENT;
     350//        cr_server.u32Caps = CR_VBOX_CAP_TEX_PRESENT;
    351351#endif
    352352    }
     
    460460        cr_server.u32Caps = 0;
    461461#ifdef DEBUG_misha
    462         cr_server.u32Caps = CR_VBOX_CAP_TEX_PRESENT;
     462//        cr_server.u32Caps = CR_VBOX_CAP_TEX_PRESENT;
    463463#endif
    464464    }
     
    10111011            return NULL;
    10121012        }
    1013         id = crServerMuralInit(pMural, "", visualBits, -1, GL_TRUE);
     1013        id = crServerMuralInit(pMural, "", visualBits, 0, GL_TRUE);
    10141014        if (id < 0)
    10151015        {
     
    17071707            AssertRCReturn(rc, rc);
    17081708
    1709             if (pClient->currentCtxInfo && pClient->currentCtxInfo->pContext && pClient->currentContextNumber>=0)
     1709            if (pClient->currentCtxInfo && pClient->currentCtxInfo->pContext && pClient->currentContextNumber > 0)
    17101710            {
    17111711                b = crHashtableGetDataKey(cr_server.contextTable, pClient->currentCtxInfo, &key);
     
    17151715            }
    17161716
    1717             if (pClient->currentMural && pClient->currentWindow>=0)
     1717            if (pClient->currentMural && pClient->currentWindow > 0)
    17181718            {
    17191719                b = crHashtableGetDataKey(cr_server.muralTable, pClient->currentMural, &key);
     
    24602460        }
    24612461
    2462         CRASSERT(cr_server.currentCtxInfo == &cr_server.MainContextInfo);
     2462        CRASSERT(!uiNumElems || cr_server.currentCtxInfo == &cr_server.MainContextInfo);
    24632463
    24642464        cr_server.curClient = NULL;
     
    25202520            cr_server.curClient = pClient;
    25212521
    2522             if (client.currentCtxInfo && client.currentContextNumber>=0)
     2522            if (client.currentCtxInfo && client.currentContextNumber > 0)
    25232523            {
    25242524                rc = crServerLsrDataGetMem(&Reader, &ctxID, sizeof(ctxID));
     
    25312531            }
    25322532
    2533             if (client.currentMural && client.currentWindow>=0)
     2533            if (client.currentMural && client.currentWindow > 0)
    25342534            {
    25352535                rc = crServerLsrDataGetMem(&Reader, &winID, sizeof(winID));
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_muralfbo.c

    r46989 r47116  
    379379void crServerRedirMuralFBO(CRMuralInfo *mural, GLuint redir)
    380380{
    381     if (!mural->CreateInfo.externalID)
    382     {
    383         crWarning("trying to change redir setting for internal mural %d", mural->spuWindow);
    384         return;
    385     }
    386 
    387381    if (mural->fPresentMode == redir)
    388382    {
    389383//        if (redir)
    390384//            crWarning("crServerRedirMuralFBO called with the same redir status %d", redir);
     385        return;
     386    }
     387
     388    if (!mural->CreateInfo.externalID)
     389    {
     390        crWarning("trying to change redir setting for internal mural %d", mural->spuWindow);
    391391        return;
    392392    }
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp

    r46966 r47116  
    6363{
    6464    const GLint visBits = cr_server.MainContextInfo.CreateInfo.visualBits;
    65     if (crServerMuralInit(&pDisplay->Mural, "", visBits, -1, GL_FALSE) < 0)
     65    if (crServerMuralInit(&pDisplay->Mural, "", visBits, 0, GL_FALSE) < 0)
    6666    {
    6767        crWarning("crServerMuralInit failed!");
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