VirtualBox

Ignore:
Timestamp:
Oct 31, 2014 10:44:30 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
96707
Message:

Host 3D: Presentation framework: do not re-create 3D window on framebuffer sync (restored behavior prior to r96693); create 3D window on CrFbWindow class instance creation.

Location:
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter
Files:
3 edited

Legend:

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

    r53157 r53167  
    7777    }
    7878
    79     if (mpWindow && mpWindow->GetParentId())
    80     {
    81         if (!mpWindow->IsCreated())
    82         {
    83             rc = mpWindow->Create();
    84             if (!RT_SUCCESS(rc))
    85             {
    86                 WARN(("err"));
    87                 return rc;
    88             }
    89         }
    90     }
    91 
    9279    return VINF_SUCCESS;
    9380}
     
    10390    }
    10491
    105     if (mpWindow && mpWindow->GetParentId())
    106     {
    107         if (!mpWindow->IsCreated())
    108         {
    109             rc = mpWindow->Create();
    110             if (!RT_SUCCESS(rc))
    111             {
    112                 WARN(("err"));
    113                 return rc;
    114             }
    115         }
    116     }
    117 
    11892    return VINF_SUCCESS;
    11993}
     
    129103    }
    130104
    131     if (mpWindow && mpWindow->GetParentId())
    132     {
    133         if (!mpWindow->IsCreated())
    134         {
    135             rc = mpWindow->Create();
    136             if (!RT_SUCCESS(rc))
    137             {
    138                 WARN(("err"));
    139                 return rc;
    140             }
    141         }
    142     }
    143 
    144105    return VINF_SUCCESS;
    145106}
     
    153114        WARN(("err"));
    154115        return rc;
    155     }
    156 
    157     if (mpWindow && mpWindow->GetParentId())
    158     {
    159         if (!mpWindow->IsCreated())
    160         {
    161             rc = mpWindow->Create();
    162             if (!RT_SUCCESS(rc))
    163             {
    164                 WARN(("err"));
    165             return rc;
    166             }
    167         }
    168116    }
    169117
     
    561509    }
    562510
    563     if (CrFbHas3DData(hFb))
    564     {
    565         if (mpWindow && mpWindow->GetParentId())
    566         {
    567             if (mpWindow->IsCreated())
    568                 mpWindow->Destroy();
    569 
    570             rc = mpWindow->Create();
    571             if (!RT_SUCCESS(rc))
    572             {
    573                 WARN(("err"));
    574                 return rc;
    575             }
    576         }
    577     }
    578 
    579511    return VINF_SUCCESS;
    580512}
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.h

    r53153 r53167  
    218218        void UpdateEnd();
    219219        uint64_t GetParentId();
     220        ~CrFbWindow();
     221
     222    protected:
     223
    220224        int Create();
    221         ~CrFbWindow();
    222 
    223     protected:
    224 
    225225        void checkRegions();
    226226        bool isPresentNeeded();
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/window.cpp

    r53158 r53167  
    3131{
    3232    mFlags.Value = 0;
     33    Create();
    3334}
    3435
     
    3839    return !!mSpuWindow;
    3940}
     41
    4042
    4143bool CrFbWindow::IsVisivle() const
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