]> git.cworth.org Git - apitrace/commitdiff
Define GLhandleARB as unsigned long on MacOSX.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 27 Oct 2011 13:43:10 +0000 (14:43 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 27 Oct 2011 13:43:10 +0000 (14:43 +0100)
thirdparty/glext/Makefile
thirdparty/glext/glext.h
thirdparty/glext/glext.sed [new file with mode: 0644]

index 3223c3c2c795e97368ee2cc72d7c6cd4812d75e7..5a8000780d6a4eedbcb4a0dc56ebd5e698f95788 100644 (file)
@@ -3,6 +3,9 @@ update: glext.h glxext.h wglext.h
 %.h: FORCE
        wget -N "http://www.opengl.org/registry/api/$@"
 
+glext.h: glext.sed FORCE
+       wget -O - "http://www.opengl.org/registry/api/$@" | sed -f $*.sed > $@
+
 .PHONY: update
 
 FORCE:
index af58da28e802b87067917b37a96754e8ae261964..c640bb8772f4620b67257b0eb7217b720ea12d87 100644 (file)
@@ -5335,8 +5335,12 @@ typedef ptrdiff_t GLsizeiptrARB;
 #ifndef GL_ARB_shader_objects
 /* GL types for program/shader text and shader object handles */
 typedef char GLcharARB;
+#ifdef __APPLE__
+typedef unsigned long GLhandleARB;
+#else
 typedef unsigned int GLhandleARB;
 #endif
+#endif
 
 /* GL type for "half" precision (s10e5) float data in host memory */
 #ifndef GL_ARB_half_float_pixel
diff --git a/thirdparty/glext/glext.sed b/thirdparty/glext/glext.sed
new file mode 100644 (file)
index 0000000..bc4835d
--- /dev/null
@@ -0,0 +1,19 @@
+# MacOSX doesn't follow the official glext.h definition for GLhandleARB, and
+# instead defines it as:
+#
+#   typedef void *GLhandleARB;
+#
+# But to avoid integer to pointer conversion issues, we simply use 'unsigned
+# long' which should be the same size on all supported architectures.
+
+/^typedef unsigned int GLhandleARB;$/ {
+
+    i\
+#ifdef __APPLE__\
+typedef unsigned long GLhandleARB;\
+#else
+
+    a\
+#endif
+
+}