aboutsummaryrefslogtreecommitdiffstats
path: root/make/stub_includes/opengl/GL3/glplatform.h
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-08-24 02:39:14 +0200
committerSven Gothel <[email protected]>2010-08-24 02:39:14 +0200
commitca119c97340caf325cd682c5fdbe8f794a35ac0e (patch)
tree3ad60aff37fe6e6167db14c3f3f4fcbf36e6a535 /make/stub_includes/opengl/GL3/glplatform.h
parent8d55c437547a697b7d0bd4dd81b6669209cf912f (diff)
Add OpenGL 3.3, 4.0 and 4.1 language mapping.
- Update header: - GL/glext.h to khronos 2010-08-03 - GL3/gl3.h to khronos 2010-08-03 - Move platform code to GL/glplatform.h GL3/glplatform.h - Unify 64bit typedefs: gl-64bit-types.h - Move GL 3.[123] and 4.[01] complete subsumed extension enums and functions into their extension spec and just reference them. This ensures proper extension availability via lower OpenGL profiles, hence a proper GL2GL3 interface. - GL3/GL4 cleanup: - make-glextension-depignore.sh: determine required GL version for extensions for proper positioning, ie GL2GL3 or GL3 or GL4 via gluegen IgnoreExtension commands. - use ARB_ES2_compatibility for common GL2ES2 methods, if available - consolidated gl2-gl4 subsumed extension to gl-common.cfg - Missing GL3/GL4 Functions: glMultiDrawElementsBaseVertex glDebugMessageCallbackARB glDebugMessageCallbackAMD - TODO (new feature integration): - ARB_ES2_compatibility / ARB_get_program_binary for com/jogamp/opengl/util/glsl, ie - store binaries com/jogamp/opengl/util/glsl/sdk/CompileShader* - query supported binary formats (enums ?) - optional prio binaries - ARB_ES2_compatibility, if available GLES2/GL2ES12 would be available - ARB_separate_shader_objects for com/jogamp/opengl/util/glsl, ie - swizzle vertex/fragment shader in programs - ..
Diffstat (limited to 'make/stub_includes/opengl/GL3/glplatform.h')
-rw-r--r--make/stub_includes/opengl/GL3/glplatform.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/make/stub_includes/opengl/GL3/glplatform.h b/make/stub_includes/opengl/GL3/glplatform.h
new file mode 100644
index 000000000..d1ffba5fa
--- /dev/null
+++ b/make/stub_includes/opengl/GL3/glplatform.h
@@ -0,0 +1,61 @@
+#ifndef __glplatform_h_
+#define __glplatform_h_
+
+#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
+#define OPENSTEP
+#endif
+
+#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
+#define __WIN32__
+#endif
+
+#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
+# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
+# define GLAPI __declspec(dllexport)
+# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+# define GLAPI __declspec(dllimport)
+# else /* for use with static link lib build of Win32 edition only */
+# define GLAPI extern
+# endif /* _STATIC_MESA support */
+# define APIENTRY __stdcall
+#else
+/* non-Windows compilation */
+# define GLAPI extern
+# define APIENTRY
+#endif /* WIN32 / CYGWIN bracket */
+
+#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
+# define PRAGMA_EXPORT_SUPPORTED 1
+#endif
+
+/*
+ * WINDOWS: Include windows.h here to define APIENTRY.
+ * It is also useful when applications include this file by
+ * including only glut.h, since glut.h depends on windows.h.
+ * Applications needing to include windows.h with parms other
+ * than "WIN32_LEAN_AND_MEAN" may include windows.h before
+ * glut.h or gl.h.
+ */
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
+#endif
+
+#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__)
+#include <gl/mesa_wgl.h>
+#endif
+
+#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
+#pragma import on
+#endif
+
+#ifdef CENTERLINE_CLPP
+#define signed
+#endif
+
+#if defined(PRAGMA_EXPORT_SUPPORTED)
+#pragma export on
+#endif
+
+#endif /* __glplatform_h_ */
+