diff --git a/config/Makefile.darwin b/config/Makefile.darwin index 56fd584..8dd6262 100644 --- a/config/Makefile.darwin +++ b/config/Makefile.darwin @@ -9,7 +9,7 @@ ifneq (undefined, $(origin GLEW_APPLE_GLX)) CFLAGS.EXTRA += -I/usr/X11R6/include -D'GLEW_APPLE_GLX' LDFLAGS.GL = -L/usr/X11R6/lib -lGL -lX11 else -LDFLAGS.GL = -framework AGL -framework OpenGL +LDFLAGS.GL = -framework OpenGL endif LDFLAGS.STATIC = LDFLAGS.DYNAMIC = diff --git a/config/Makefile.darwin-ppc b/config/Makefile.darwin-ppc index 46c8b73..60ae3fd 100644 --- a/config/Makefile.darwin-ppc +++ b/config/Makefile.darwin-ppc @@ -8,7 +8,7 @@ ifneq (undefined, $(origin GLEW_APPLE_GLX)) CFLAGS.EXTRA += -I/usr/X11R6/include -D'GLEW_APPLE_GLX' LDFLAGS.GL = -L/usr/X11R6/lib -lGL -lX11 else -LDFLAGS.GL = -framework AGL -framework OpenGL +LDFLAGS.GL = -framework OpenGL endif LDFLAGS.STATIC = LDFLAGS.DYNAMIC = diff --git a/config/Makefile.darwin-universal b/config/Makefile.darwin-universal index 5f3f278..2b3156b 100644 --- a/config/Makefile.darwin-universal +++ b/config/Makefile.darwin-universal @@ -12,7 +12,7 @@ ifneq (undefined, $(origin GLEW_APPLE_GLX)) CFLAGS.EXTRA += -I/usr/X11R6/include -D'GLEW_APPLE_GLX' LDFLAGS.GL = -L/usr/X11R6/lib -lGL -lX11 else -LDFLAGS.GL = -framework AGL -framework OpenGL +LDFLAGS.GL = -framework OpenGL endif LDFLAGS.DYNAMIC = WARN = -Wall -W diff --git a/config/Makefile.darwin-x86_64 b/config/Makefile.darwin-x86_64 index e6eb050..5e8156b 100644 --- a/config/Makefile.darwin-x86_64 +++ b/config/Makefile.darwin-x86_64 @@ -8,7 +8,7 @@ ifneq (undefined, $(origin GLEW_APPLE_GLX)) CFLAGS.EXTRA += -I/usr/X11R6/include -D'GLEW_APPLE_GLX' LDFLAGS.GL = -L/usr/X11R6/lib -lGL -lX11 else -LDFLAGS.GL = -framework AGL -framework OpenGL +LDFLAGS.GL = -framework OpenGL endif LDFLAGS.STATIC = LDFLAGS.DYNAMIC = diff --git a/src/visualinfo.c b/src/visualinfo.c index 23a8499..fd27c7b 100644 --- a/src/visualinfo.c +++ b/src/visualinfo.c @@ -37,7 +37,8 @@ #if defined(_WIN32) #include #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) -#include +#include +#include #elif !defined(__HAIKU__) #include #endif @@ -61,7 +62,7 @@ typedef struct GLContextStruct HDC dc; HGLRC rc; #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) - AGLContext ctx, octx; + CGLContextObj ctx, octx; #elif !defined(__HAIKU__) Display* dpy; XVisualInfo* vi; @@ -1072,30 +1073,28 @@ void InitContext (GLContext* ctx) GLboolean CreateContext (GLContext* ctx) { - int attrib[] = { AGL_RGBA, AGL_NONE }; - AGLPixelFormat pf; + CGLPixelFormatAttribute attrib[] = { kCGLPFAAccelerated, 0 }; + CGLPixelFormatObj pf; + GLint npix; + CGLError error; /* check input */ if (NULL == ctx) return GL_TRUE; - /*int major, minor; - SetPortWindowPort(wnd); - aglGetVersion(&major, &minor); - fprintf(stderr, "GL %d.%d\n", major, minor);*/ - pf = aglChoosePixelFormat(NULL, 0, attrib); - if (NULL == pf) return GL_TRUE; - ctx->ctx = aglCreateContext(pf, NULL); - if (NULL == ctx->ctx || AGL_NO_ERROR != aglGetError()) return GL_TRUE; - aglDestroyPixelFormat(pf); - /*aglSetDrawable(ctx, GetWindowPort(wnd));*/ - ctx->octx = aglGetCurrentContext(); - if (GL_FALSE == aglSetCurrentContext(ctx->ctx)) return GL_TRUE; + error = CGLChoosePixelFormat(attrib, &pf, &npix); + if (error) return GL_TRUE; + error = CGLCreateContext(pf, NULL, &ctx->ctx); + if (error) return GL_TRUE; + CGLReleasePixelFormat(pf); + ctx->octx = CGLGetCurrentContext(); + error = CGLSetCurrentContext(ctx->ctx); + if (error) return GL_TRUE; return GL_FALSE; } void DestroyContext (GLContext* ctx) { if (NULL == ctx) return; - aglSetCurrentContext(ctx->octx); - if (NULL != ctx->ctx) aglDestroyContext(ctx->ctx); + CGLSetCurrentContext(ctx->octx); + if (NULL != ctx->ctx) CGLReleaseContext(ctx->ctx); } /* ------------------------------------------------------------------------ */