VirtualBox

Changeset 22509 in vbox


Ignore:
Timestamp:
Aug 27, 2009 11:46:29 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
51530
Message:

crOpenGL-OSX: Initial version for the Cocoa port.

Location:
trunk
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r22454 r22509  
    35923592TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.solaris   = SunOS=1 _GNU_SOURCE #GLEXT_64_TYPES_DEFINED
    35933593TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.darwin    = DARWIN=1 GL_GLEXT_LEGACY _GNU_SOURCE
     3594ifdef VBOX_WITH_COCOA_QT
     3595 TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.darwin  += VBOX_WITH_COCOA_QT
     3596endif
    35943597TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.freebsd   = FreeBSD=1 _GNU_SOURCE
    35953598TEMPLATE_VBOXCROGLR3HOSTDLL_INCS           = $(VBOX_PATH_CROGL_INCLUDE) $(VBOX_PATH_CROGL_GENFILES)
     
    36243627TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.solaris   = SunOS=1 _GNU_SOURCE #GLEXT_64_TYPES_DEFINED
    36253628TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.darwin    = DARWIN=1 GL_GLEXT_LEGACY _GNU_SOURCE
     3629ifdef VBOX_WITH_COCOA_QT
     3630 TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.darwin  += VBOX_WITH_COCOA_QT
     3631endif
    36263632TEMPLATE_VBOXCROGLR3GUESTDLL_DEFS.freebsd   = FreeBSD=1 _GNU_SOURCE
    36273633TEMPLATE_VBOXCROGLR3GUESTDLL_INCS           = $(VBOX_PATH_CROGL_INCLUDE) $(VBOX_PATH_CROGL_GENFILES)
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_spu.h

    r21954 r22509  
    2020
    2121#ifdef DARWIN
    22 #include <OpenGL/OpenGL.h>
    23 #include <AGL/agl.h>
     22# include <OpenGL/OpenGL.h>
     23# ifdef VBOX_WITH_COCOA_QT
     24# else
     25#  include <AGL/agl.h>
     26# endif
    2427#endif
    2528
     
    150153/*@}*/
    151154#elif defined(DARWIN)
     155# ifndef VBOX_WITH_COCOA_QT
    152156/**
    153157 * Apple/AGL
     
    190194typedef GLboolean (*aglUpdateContextFunc_t)( AGLContext );
    191195typedef GLboolean (*aglUseFontFunc_t)( AGLContext, GLint, Style, GLint, GLint, GLint, GLint );
     196# endif
    192197
    193198typedef const GLubyte *(*glGetStringFunc_t)( GLenum );
     
    321326    wglGetExtensionsStringEXTFunc_t wglGetExtensionsStringEXT;
    322327#elif defined(DARWIN)
     328# ifndef VBOX_WITH_COCOA_QT
    323329    aglCreateContextFunc_t          aglCreateContext;
    324330    aglDestroyContextFunc_t         aglDestroyContext;
     
    340346    aglEnableFunc_t                 aglEnable;
    341347    aglDisableFunc_t                aglDisable;
     348# endif
    342349
    343350    CGLChoosePixelFormatFunc_t      CGLChoosePixelFormat;
  • trunk/src/VBox/GuestHost/OpenGL/spu_loader/glloader.py

    r21312 r22509  
    3131#define SYSTEM_GL "libGL.dylib"
    3232#define SYSTEM_CGL "OpenGL"
    33 #define SYSTEM_AGL "AGL"
     33# ifndef VBOX_WITH_COCOA_QT
     34#  define SYSTEM_AGL "AGL"
     35# endif
    3436#elif defined(IRIX) || defined(IRIX64) || defined(Linux) || defined(FreeBSD) || defined(AIX) || defined(SunOS) || defined(OSF1)
    3537#if defined(Linux)
     
    5254#define SYSTEM_GL_LIB_DIR   "/System/Library/Frameworks/OpenGL.framework/Libraries"
    5355#define SYSTEM_CGL_DIR  "/System/Library/Frameworks/OpenGL.framework"
    54 #define SYSTEM_AGL_DIR  "/System/Library/Frameworks/AGL.framework"
    55 
    5656static CRDLL *cglDll = NULL;
     57# ifndef VBOX_WITH_COCOA_QT
     58#  define SYSTEM_AGL_DIR  "/System/Library/Frameworks/AGL.framework"
    5759static CRDLL *aglDll = NULL;
     60# endif
    5861#endif
    5962
     
    259262        cglDll = NULL;
    260263
     264# ifndef VBOX_WITH_COCOA_QT
    261265        crDLLClose( aglDll );
    262266        aglDll = NULL;
     267# endif
    263268#endif
    264269}
     
    290295#ifdef DARWIN
    291296        const char *env_cgl_syspath = crGetenv( "CR_SYSTEM_CGL_PATH" );
     297# ifndef VBOX_WITH_COCOA_QT
    292298        const char *env_agl_syspath = crGetenv( "CR_SYSTEM_AGL_PATH" );
     299# endif
    293300#endif
    294301       
     
    318325        crDebug( "Found it in %s.", !env_cgl_syspath ? "default path" : env_cgl_syspath );
    319326
     327# ifndef VBOX_WITH_COCOA_QT
    320328        crDebug( "Looking for the system's AGL library..." );
    321329        aglDll = __findSystemGL( env_agl_syspath, SYSTEM_AGL_DIR, SYSTEM_AGL );
     
    327335
    328336        crDebug( "Found it in %s.", !env_agl_syspath ? "default path" : env_agl_syspath );
     337# endif
    329338#endif
    330339"""
     
    454463
    455464print '#elif defined(DARWIN)'
     465print '# ifndef VBOX_WITH_COCOA_QT'
    456466for fun in useful_agl_functions:
    457467        print '\tinterface->%s = (%sFunc_t) crDLLGetNoError( aglDll, "%s" );' % (fun,fun,fun)
     468print '# endif'
    458469
    459470for fun in useful_cgl_functions:
  • trunk/src/VBox/HostServices/SharedOpenGL/Makefile.kmk

    r22335 r22509  
    234234VBoxOGLrenderspu_SOURCES.solaris = render/renderspu_glx.c
    235235VBoxOGLrenderspu_SOURCES.freebsd = render/renderspu_glx.c
    236 VBoxOGLrenderspu_SOURCES.darwin  = render/renderspu_agl.c
     236ifdef VBOX_WITH_COCOA_QT
     237 VBoxOGLrenderspu_SOURCES.darwin = \
     238    render/renderspu_cocoa.c \
     239    render/renderspu_cocoa_helper.m
     240 VBoxOGLrenderspu_LDFLAGS.darwin += -framework AppKit
     241else
     242 VBoxOGLrenderspu_SOURCES.darwin = render/renderspu_agl.c
     243endif
    237244VBoxOGLrenderspu_LDFLAGS.darwin += -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxOGLrenderspu.dylib
    238245VBoxOGLrenderspu_LIBS = \
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.c

    r20921 r22509  
    10151015
    10161016#if defined(DARWIN)
     1017# ifdef VBOX_WITH_COCOA_QT
    10171018void renderspuFlush()
    10181019{
    1019     glFlush();
     1020    renderspu_SystemFlush();
    10201021}
    10211022
    10221023void renderspuFinish()
    10231024{
    1024     glFinish();
    1025 }
     1025    renderspu_SystemFinish();
     1026}
     1027
     1028void renderspuBindFramebufferEXT(GLenum target, GLuint framebuffer)
     1029{
     1030    renderspu_SystemBindFramebufferEXT(target, framebuffer);
     1031}
     1032# endif
    10261033#endif
    10271034
     
    10631070    FILLIN( "GetString", renderspuGetString );
    10641071#if defined(DARWIN)
     1072# ifdef VBOX_WITH_COCOA_QT
     1073    FILLIN( "Flush", renderspuFlush );
    10651074    FILLIN( "Finish", renderspuFinish );
    1066     FILLIN( "Flush", renderspuFlush );
     1075    FILLIN( "BindFramebufferEXT", renderspuBindFramebufferEXT );
     1076# endif
    10671077#endif
    10681078    return i;
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.h

    r22502 r22509  
    1313#define RENDER_APIENTRY __stdcall
    1414#elif defined(DARWIN)
    15 #include <AGL/AGL.h>
     15# ifndef VBOX_WITH_COCOA_QT
     16#  include <AGL/AGL.h>
     17# else
     18#  include "renderspu_cocoa_helper.h"
     19# endif
    1620#define RENDER_APIENTRY
    1721#else
     
    2933
    3034#ifdef RT_OS_DARWIN
     35# ifndef VBOX_WITH_COCOA_QT
    3136enum
    3237{
     
    4449};
    4550pascal OSStatus windowEvtHndlr(EventHandlerCallRef myHandler, EventRef event, void* userData);
     51# endif
    4652#endif /* RT_OS_DARWIN */
    4753
     
    5561    HDC device_context;
    5662#elif defined(DARWIN)
     63# ifndef VBOX_WITH_COCOA_QT
    5764    WindowRef window;
     65# endif
    5866#elif defined(GLX)
    5967    Display *dpy;
     
    8290    HDC device_context;
    8391#elif defined(DARWIN)
     92# ifndef VBOX_WITH_COCOA_QT
    8493    WindowRef window;
    8594    WindowRef nativeWindow; /**< for render_to_app_window */
     
    9099    RgnHandle hVisibleRegion;
    91100    /* unsigned long context_ptr; */
     101# else
     102    NativeViewRef window;
     103    NativeViewRef nativeWindow; /**< for render_to_app_window */
     104    NativeGLCtxRef *currentCtx;
     105# endif
    92106#elif defined(GLX)
    93107    Window window;
     
    117131    HGLRC hRC;
    118132#elif defined(DARWIN)
     133# ifndef VBOX_WITH_COCOA_QT
    119134    AGLContext context;
     135# else
     136    NativeGLCtxRef context;
     137# endif
    120138#elif defined(GLX)
    121139    GLXContext context;
     
    217235
    218236#ifdef RT_OS_DARWIN
     237# ifndef VBOX_WITH_COCOA_QT
    219238    RgnHandle hRootVisibleRegion;
    220239    RTSEMFASTMUTEX syncMutex;
     
    225244    uint64_t uiDockUpdateTS;
    226245    bool fInit;
     246# endif
    227247#endif /* RT_OS_DARWIN */
    228248} RenderSPU;
     
    278298#ifdef RT_OS_DARWIN
    279299extern void renderspu_SystemSetRootVisibleRegion(GLint cRects, GLint *pRects);
     300# ifdef VBOX_WITH_COCOA_QT
     301extern void renderspu_SystemFlush();
     302extern void renderspu_SystemFinish();
     303extern void renderspu_SystemBindFramebufferEXT(GLenum target, GLuint framebuffer);
     304# endif
    280305#endif
    281306extern void renderspu_SystemShowWindow( WindowInfo *window, GLboolean showIt );
  • trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_init.c

    r22502 r22509  
    214214
    215215#ifdef DARWIN
    216 # ifndef __LP64__ /** @todo port to 64-bit darwin. */
     216# ifdef VBOX_WITH_COCOA_QT
     217# else /* VBOX_WITH_COCOA_QT */
    217218    render_spu.hRootVisibleRegion = 0;
    218219    render_spu.currentBufferName = 1;
     
    240241                                    NULL, NULL);
    241242    render_spu.fInit = true;
    242 # endif /* !__LP64__ */
     243# endif /* VBOX_WITH_COCOA_QT */
    243244#endif /* DARWIN */
    244245
     
    386387
    387388#ifdef RT_OS_DARWIN
    388 # ifndef __LP64__ /** @todo port to 64-bit darwin. */
     389# ifndef VBOX_WITH_COCOA_QT
    389390    render_spu.fInit = false;
    390391    DisposeEventHandlerUPP(render_spu.hParentEventHandler);
     
    399400    render_spu.uiDockUpdateTS = 0;
    400401    RTSemFastMutexDestroy(render_spu.syncMutex);
    401 # endif /* __LP64__ */
     402# else /* VBOX_WITH_COCOA_QT */
     403# endif /* VBOX_WITH_COCOA_QT */
    402404#endif /* RT_OS_DARWIN */
    403405
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