VirtualBox

Ignore:
Timestamp:
May 22, 2014 11:42:21 AM (11 years ago)
Author:
vboxsync
Message:

crOpenGL: saved state fixes, misc fixes

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

Legend:

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

    r51082 r51349  
    946946}
    947947
    948 PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData )
    949 {
    950     PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGet(window);
     948PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData, bool fRedraw )
     949{
     950    PCR_BLITTER pBlitter = fRedraw ? window->pBlitter : renderspuVBoxPresentBlitterGet(window);
    951951    if (pBlitter)
    952952    {
     
    10011001}
    10021002
    1003 void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData )
    1004 {
    1005     PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGetAndEnter(window, i32MakeCurrentUserData);
     1003void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor,
     1004        const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData,
     1005        bool fRedraw )
     1006{
     1007    PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGetAndEnter(window, i32MakeCurrentUserData, fRedraw);
    10061008    if (!pBlitter)
    10071009        return;
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.h

    r51064 r51349  
    418418extern int renderspuVBoxCompositorTryAcquire(WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR **ppCompositor);
    419419extern void renderspuVBoxCompositorRelease( WindowInfo *window);
    420 extern void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData );
     420extern void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor,
     421        const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData,
     422        bool fRedraw);
    421423extern PCR_BLITTER renderspuVBoxPresentBlitterGet( WindowInfo *window );
    422424void renderspuVBoxPresentBlitterCleanup( WindowInfo *window );
    423425extern int renderspuVBoxPresentBlitterEnter( PCR_BLITTER pBlitter, int32_t i32MakeCurrentUserData );
    424 extern PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData );
     426extern PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData, bool fRedraw );
    425427extern PCR_BLITTER renderspuVBoxPresentBlitterEnsureCreated( WindowInfo *window, int32_t i32MakeCurrentUserData );
    426428void renderspuWindowTermBase( WindowInfo *window );
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_agl.c

    r50095 r51349  
    610610void renderspu_SystemVBoxPresentComposition( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry )
    611611{
    612     renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0);
     612    renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false);
    613613}
    614614
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_glx.c

    r51064 r51349  
    584584                        if (pCompositor)
    585585                        {
    586                             renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 0);
     586                            renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 0, true);
    587587                            renderspuVBoxCompositorRelease(pWindow);
    588588                        }
     
    19811981    if (RT_SUCCESS(rc))
    19821982    {
    1983         renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0);
     1983        renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false);
    19841984        renderspuVBoxCompositorRelease(window);
    19851985    }
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_wgl.c

    r50626 r51349  
    446446                        pWindow->redraw_device_context = hDC;
    447447
    448                         renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 1);
     448                        renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 1, true);
    449449
    450450                        bRc = EndPaint(pWindow->hWnd, &Paint);
     
    12951295    if (RT_SUCCESS(rc))
    12961296    {
    1297         renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0);
     1297        renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false);
    12981298        renderspuVBoxCompositorRelease(window);
    12991299    }
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