VirtualBox

Ignore:
Timestamp:
Apr 14, 2014 2:21:37 PM (11 years ago)
Author:
vboxsync
Message:

crOpenGL: fix to switch on/off new command submission

File:
1 edited

Legend:

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

    r50405 r51064  
    599599}
    600600
     601void renderspuWindowTermBase( WindowInfo *window )
     602{
     603    renderspuVBoxCompositorSet(window, NULL);
     604    renderspuVBoxPresentBlitterCleanup(window);
     605    renderspu_SystemDestroyWindow( window );
     606    RTCritSectDelete(&window->CompositorLock);
     607}
     608
    601609void renderspuWindowTerm( WindowInfo *window )
    602610{
     
    605613    CRASSERT(!pOldCtx == !pOldWindow);
    606614    /* ensure no concurrent draws can take place */
    607     renderspuVBoxCompositorSet(window, NULL);
    608     renderspuVBoxPresentBlitterCleanup(window);
    609     renderspu_SystemDestroyWindow( window );
    610     RTCritSectDelete(&window->CompositorLock);
     615    renderspuWindowTermBase(window);
    611616    /* check if this window is bound to some ctx. Note: window pointer is already freed here */
    612617    crHashtableWalk(render_spu.contextTable, renderspuCheckCurrentCtxWindowCB, window);
     
    13671372}
    13681373
    1369 
    13701374static void RENDER_APIENTRY renderspuChromiumParameteriCR(GLenum target, GLint value)
    13711375{
    1372 
    13731376    switch (target)
    13741377    {
     
    13821385
    13831386            renderspuSetDefaultSharedContext(pCtx);
     1387            break;
     1388        }
     1389        case GL_HH_RENDERTHREAD_INFORM:
     1390        {
     1391            if (value)
     1392            {
     1393                int rc = renderspuDefaultCtxInit();
     1394                if (RT_FAILURE(rc))
     1395                {
     1396                    WARN(("renderspuDefaultCtxInit failed"));
     1397                    break;
     1398                }
     1399            }
     1400            else
     1401            {
     1402                renderspuCleanupBase(false);
     1403            }
    13841404            break;
    13851405        }
     
    17531773{
    17541774    WindowInfo *pWindow = (WindowInfo *)data1;
    1755 
    1756     renderspu_SystemReparentWindow(pWindow);
     1775    CRHashTable *pTable = (CRHashTable*)data2;
     1776
     1777    crHashtableDelete(pTable, key, NULL);
     1778
     1779    renderspuWindowTerm(pWindow);
     1780
     1781    crFree(pWindow);
    17571782}
    17581783
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