VirtualBox

Ignore:
Timestamp:
Sep 1, 2014 6:44:22 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
95823
Message:

crOpenGL: window reference

File:
1 edited

Legend:

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

    r52429 r52560  
    9898
    9999    VisualInfo *visual;
     100
     101    volatile uint32_t cRefs;
     102
    100103    GLboolean mapPending;
    101104    GLboolean visible;
     
    432435extern PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData, bool fRedraw );
    433436extern PCR_BLITTER renderspuVBoxPresentBlitterEnsureCreated( WindowInfo *window, int32_t i32MakeCurrentUserData );
    434 void renderspuWindowTermBase( WindowInfo *window );
    435 extern void renderspuWindowTerm( WindowInfo *window );
     437WindowInfo* renderspuWinCreate(GLint visBits, GLint id);
     438void renderspuWinTermOnShutdown(WindowInfo *window);
     439void renderspuWinTerm( WindowInfo *window );
     440void renderspuWinCleanup(WindowInfo *window);
     441void renderspuWinDestroy(WindowInfo *window);
     442GLboolean renderspuWinInitWithVisual( WindowInfo *window, VisualInfo *visual, GLboolean showIt, GLint id );
     443GLboolean renderspuWinInit(WindowInfo *pWindow, const char *dpyName, GLint visBits, GLint id);
     444
     445DECLINLINE(void) renderspuWinRetain(WindowInfo *window)
     446{
     447    ASMAtomicIncU32(&window->cRefs);
     448}
     449
     450DECLINLINE(bool) renderspuWinIsTermed(WindowInfo *window)
     451{
     452    return window->BltInfo.Base.id < 0;
     453}
     454
     455DECLINLINE(void) renderspuWinRelease(WindowInfo *window)
     456{
     457    uint32_t cRefs = ASMAtomicDecU32(&window->cRefs);
     458    if (!cRefs)
     459    {
     460        renderspuWinDestroy(window);
     461    }
     462}
     463
    436464extern WindowInfo* renderspuGetDummyWindow(GLint visBits);
    437465extern void renderspuPerformMakeCurrent(WindowInfo *window, GLint nativeWindow, ContextInfo *context);
    438 extern GLboolean renderspuWindowInit(WindowInfo *pWindow, const char *dpyName, GLint visBits, GLint id);
    439 extern GLboolean renderspuWindowInitWithVisual( WindowInfo *window, VisualInfo *visual, GLboolean showIt, GLint id );
    440466extern GLboolean renderspuInitVisual(VisualInfo *pVisInfo, const char *displayName, GLbitfield visAttribs);
    441467extern void renderspuVBoxCompositorBlit ( const struct VBOXVR_SCR_COMPOSITOR * pCompositor, PCR_BLITTER pBlitter);
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