Revision
290
Author
gstaplin@apple.com
Date
2009-03-07 01:10:09 -0800 (Sat, 07 Mar 2009)

Log Message

Add some detection and stderr output for when the CGL major 
version changes.

Modified Paths

Diff

Modified: AppleSGLX/trunk/apple_cgl.c (289 => 290)


--- AppleSGLX/trunk/apple_cgl.c	2009-03-07 08:55:38 UTC (rev 289)
+++ AppleSGLX/trunk/apple_cgl.c	2009-03-07 09:10:09 UTC (rev 290)
@@ -33,6 +33,7 @@
 #include <dlfcn.h>
 
 #include "apple_cgl.h"
+#include "apple_glx.h"
 
 #ifndef OPENGL_FRAMEWORK_PATH
 #define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/OpenGL"
@@ -59,6 +60,7 @@
 
 void apple_cgl_init(void) {
     void *h;
+    GLint major = 0, minor = 0;
     
     if(initialized)
 	return;
@@ -74,6 +76,17 @@
 
     dl_handle = h;
 
+    apple_cgl.get_version = sym(h, "CGLGetVersion");
+
+    apple_cgl.get_version(&major, &minor);
+
+    apple_glx_diagnostic("CGL major %d minor %d\n", major, minor);
+
+    if(1 != major) {
+	fprintf(stderr, "WARNING: the CGL major version has changed!\n"
+		"libGL may be incompatible!\n");
+    }
+
     apple_cgl.choose_pixel_format = sym(h, "CGLChoosePixelFormat");
     apple_cgl.destroy_pixel_format = sym(h, "CGLDestroyPixelFormat");
 

Modified: AppleSGLX/trunk/apple_cgl.h (289 => 290)


--- AppleSGLX/trunk/apple_cgl.h	2009-03-07 08:55:38 UTC (rev 289)
+++ AppleSGLX/trunk/apple_cgl.h	2009-03-07 09:10:09 UTC (rev 290)
@@ -39,6 +39,8 @@
 #include <OpenGL/gl.h>
 
 struct apple_cgl_api {
+    void (*get_version)(GLint *majorvers, GLint *minorvers);
+    
     CGLError (*choose_pixel_format)(const CGLPixelFormatAttribute *attribs, 
 				    CGLPixelFormatObj *pix, GLint *npix);
     CGLError (*destroy_pixel_format)(CGLPixelFormatObj pix);