summaryrefslogtreecommitdiff
path: root/src/oglfunc.h
diff options
context:
space:
mode:
authorSteven Fuller <relnev@icculus.org>2015-02-14 12:00:00 +0100
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-20 03:51:33 +0200
commit0de664d0a886bcda45a0cd05551b6896c5c46ed0 (patch)
tree50127b6ec478d76bc714dbfda69602610334ed0c /src/oglfunc.h
parent22475d6d94e96056d1550dca00b32d00e3821649 (diff)
Import icculus.org release (2015-02-14)
Diffstat (limited to 'src/oglfunc.h')
-rw-r--r--src/oglfunc.h158
1 files changed, 21 insertions, 137 deletions
diff --git a/src/oglfunc.h b/src/oglfunc.h
index a55fc1f..93490d2 100644
--- a/src/oglfunc.h
+++ b/src/oglfunc.h
@@ -5,25 +5,32 @@
#include <windows.h>
#endif
+#if defined(USE_OPENGL_ES)
+#include "SDL_opengles.h"
+
+// OpenGL compatibility
+typedef GLclampf GLclampd;
+typedef GLfloat GLdouble;
+
+#else
#include "SDL_opengl.h"
-//#include <GL/gl.h>
-//#include <GL/glext.h>
+#endif
+
+#if !defined(GL_CLAMP_TO_EDGE)
+// Originally added by GL_SGIS_texture_edge_clamp; part of OpenGL 1.2 core.
+#define GL_CLAMP_TO_EDGE 0x812F
+#endif
+
+#if !defined(APIENTRY)
+#define APIENTRY
+#endif
typedef void (APIENTRY *PFNGLALPHAFUNCPROC)(GLenum, GLclampf);
-typedef void (APIENTRY *PFNGLARRAYELEMENTPROC)(GLint);
-typedef void (APIENTRY *PFNGLBEGINPROC)(GLenum);
typedef void (APIENTRY *PFNGLBINDTEXTUREPROC)(GLenum, GLuint);
typedef void (APIENTRY *PFNGLBLENDFUNCPROC)(GLenum, GLenum);
typedef void (APIENTRY *PFNGLCLEARPROC)(GLbitfield);
typedef void (APIENTRY *PFNGLCLEARCOLORPROC)(GLclampf, GLclampf, GLclampf, GLclampf);
-typedef void (APIENTRY *PFNGLCOLOR3FPROC)(GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLCOLOR3FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLCOLOR3UBPROC)(GLubyte, GLubyte, GLubyte);
-typedef void (APIENTRY *PFNGLCOLOR3UBVPROC)(const GLubyte *);
typedef void (APIENTRY *PFNGLCOLOR4FPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLCOLOR4FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLCOLOR4UBPROC)(GLubyte, GLubyte, GLubyte, GLubyte);
-typedef void (APIENTRY *PFNGLCOLOR4UBVPROC)(const GLubyte *);
typedef void (APIENTRY *PFNGLCOLORPOINTERPROC)(GLint, GLenum, GLsizei, const GLvoid *);
typedef void (APIENTRY *PFNGLCULLFACEPROC)(GLenum);
typedef void (APIENTRY *PFNGLDELETETEXTURESPROC)(GLsizei,const GLuint*);
@@ -32,15 +39,10 @@ typedef void (APIENTRY *PFNGLDEPTHMASKPROC)(GLboolean);
typedef void (APIENTRY *PFNGLDEPTHRANGEPROC)(GLclampd, GLclampd);
typedef void (APIENTRY *PFNGLDISABLEPROC)(GLenum);
typedef void (APIENTRY *PFNGLDISABLECLIENTSTATEPROC)(GLenum);
-typedef void (APIENTRY *PFNGLDRAWBUFFERPROC)(GLenum);
typedef void (APIENTRY *PFNGLDRAWELEMENTSPROC)(GLenum, GLsizei, GLenum, const GLvoid *);
-typedef void (APIENTRY *PFNGLDRAWPIXELSPROC)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-typedef void (APIENTRY *PFNGLDRAWRANGEELEMENTSPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
typedef void (APIENTRY *PFNGLENABLEPROC)(GLenum);
typedef void (APIENTRY *PFNGLENABLECLIENTSTATEPROC)(GLenum);
-typedef void (APIENTRY *PFNGLENDPROC)(GLvoid);
typedef void (APIENTRY *PFNGLFRONTFACEPROC)(GLenum);
-typedef void (APIENTRY *PFNGLFRUSTUMPROC)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
typedef void (APIENTRY *PFNGLGENTEXTURESPROC)(GLsizei,GLuint*);
typedef GLenum (APIENTRY *PFNGLGETERRORPROC)(void);
typedef void (APIENTRY *PFNGLGETFLOATVPROC)(GLenum, GLfloat *);
@@ -48,34 +50,10 @@ typedef void (APIENTRY *PFNGLGETINTEGERVPROC)(GLenum, GLint *);
typedef const GLubyte* (APIENTRY *PFNGLGETSTRINGPROC)(GLenum);
typedef void (APIENTRY *PFNGLGETTEXPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
typedef void (APIENTRY *PFNGLHINTPROC)(GLenum, GLenum);
-typedef void (APIENTRY *PFNGLLOADIDENTITYPROC)(void);
-typedef void (APIENTRY *PFNGLLOADMATRIXFPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLMATRIXMODEPROC)(GLenum);
-typedef void (APIENTRY *PFNGLMULTMATRIXFPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLNORMALPOINTERPROC)(GLenum, GLsizei, const GLvoid *);
-typedef void (APIENTRY *PFNGLORTHOPROC)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
typedef void (APIENTRY *PFNGLPIXELSTOREIPROC)(GLenum, GLint);
-typedef void (APIENTRY *PFNGLPIXELZOOMPROC)(GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLPOLYGONMODEPROC)(GLenum, GLenum);
typedef void (APIENTRY *PFNGLPOLYGONOFFSETPROC)(GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLPOPATTRIBPROC)(void);
-typedef void (APIENTRY *PFNGLPOPCLIENTATTRIBPROC)(void);
-typedef void (APIENTRY *PFNGLPOPMATRIXPROC)(void);
-typedef void (APIENTRY *PFNGLPUSHATTRIBPROC)(GLbitfield);
-typedef void (APIENTRY *PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield);
-typedef void (APIENTRY *PFNGLPUSHMATRIXPROC)(void);
-typedef void (APIENTRY *PFNGLRASTERPOS2IPROC)(GLint, GLint);
-typedef void (APIENTRY *PFNGLREADBUFFERPROC)(GLenum);
typedef void (APIENTRY *PFNGLREADPIXELSPROC)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
-typedef void (APIENTRY *PFNGLROTATEFPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLSCALEFPROC)(GLfloat,GLfloat,GLfloat);
typedef void (APIENTRY *PFNGLSHADEMODELPROC)(GLenum);
-typedef void (APIENTRY *PFNGLTEXCOORD2FPROC)(GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLTEXCOORD2FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLTEXCOORD3FPROC)(GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLTEXCOORD3FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLTEXCOORD4FPROC)(GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLTEXCOORD4FVPROC)(const GLfloat *);
typedef void (APIENTRY *PFNGLTEXCOORDPOINTERPROC)(GLint, GLenum, GLsizei, const GLvoid *);
typedef void (APIENTRY *PFNGLTEXENVFPROC)(GLenum, GLenum, GLfloat);
typedef void (APIENTRY *PFNGLTEXENVFVPROC)(GLenum, GLenum, const GLfloat *);
@@ -84,60 +62,15 @@ typedef void (APIENTRY *PFNGLTEXIMAGE2DPROC)(GLenum,GLint,GLint,GLsizei,GLsizei,
typedef void (APIENTRY *PFNGLTEXPARAMETERFPROC)(GLenum, GLenum, GLfloat);
typedef void (APIENTRY *PFNGLTEXPARAMETERIPROC)(GLenum, GLenum, GLint);
typedef void (APIENTRY *PFNGLTEXSUBIMAGE2DPROC)(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,const GLvoid*);
-typedef void (APIENTRY *PFNGLTRANSLATEFPROC)(GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLVERTEX2FPROC)(GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLVERTEX2FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLVERTEX3FPROC)(GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLVERTEX3FVPROC)(const GLfloat *);
-typedef void (APIENTRY *PFNGLVERTEX4FPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
-typedef void (APIENTRY *PFNGLVERTEX4FVPROC)(const GLfloat *);
typedef void (APIENTRY *PFNGLVERTEXPOINTERPROC)(GLint, GLenum, GLsizei, const GLvoid *);
typedef void (APIENTRY *PFNGLVIEWPORTPROC)(GLint, GLint, GLsizei, GLsizei);
-/*
-typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-*/
-
-#if defined(_MSC_VER)
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-typedef void (APIENTRY *PFNGLXSWAPINTERVALSGIPROC)(int interval);
-
extern PFNGLALPHAFUNCPROC pglAlphaFunc;
-extern PFNGLARRAYELEMENTPROC pglArrayElement;
-extern PFNGLBEGINPROC pglBegin;
extern PFNGLBINDTEXTUREPROC pglBindTexture;
extern PFNGLBLENDFUNCPROC pglBlendFunc;
extern PFNGLCLEARPROC pglClear;
extern PFNGLCLEARCOLORPROC pglClearColor;
-extern PFNGLCOLOR3FPROC pglColor3f;
-extern PFNGLCOLOR3FVPROC pglColor3fv;
-extern PFNGLCOLOR3UBPROC pglColor3ub;
-extern PFNGLCOLOR3UBVPROC pglColor3ubv;
extern PFNGLCOLOR4FPROC pglColor4f;
-extern PFNGLCOLOR4FVPROC pglColor4fv;
-extern PFNGLCOLOR4UBPROC pglColor4ub;
-extern PFNGLCOLOR4UBVPROC pglColor4ubv;
extern PFNGLCOLORPOINTERPROC pglColorPointer;
extern PFNGLCULLFACEPROC pglCullFace;
extern PFNGLDELETETEXTURESPROC pglDeleteTextures;
@@ -146,15 +79,10 @@ extern PFNGLDEPTHMASKPROC pglDepthMask;
extern PFNGLDEPTHRANGEPROC pglDepthRange;
extern PFNGLDISABLEPROC pglDisable;
extern PFNGLDISABLECLIENTSTATEPROC pglDisableClientState;
-extern PFNGLDRAWBUFFERPROC pglDrawBuffer;
extern PFNGLDRAWELEMENTSPROC pglDrawElements;
-extern PFNGLDRAWPIXELSPROC pglDrawPixels;
-extern PFNGLDRAWRANGEELEMENTSPROC pglDrawRangeElements;
extern PFNGLENABLEPROC pglEnable;
extern PFNGLENABLECLIENTSTATEPROC pglEnableClientState;
-extern PFNGLENDPROC pglEnd;
extern PFNGLFRONTFACEPROC pglFrontFace;
-extern PFNGLFRUSTUMPROC pglFrustum;
extern PFNGLGENTEXTURESPROC pglGenTextures;
extern PFNGLGETERRORPROC pglGetError;
extern PFNGLGETFLOATVPROC pglGetFloatv;
@@ -162,34 +90,10 @@ extern PFNGLGETINTEGERVPROC pglGetIntegerv;
extern PFNGLGETSTRINGPROC pglGetString;
extern PFNGLGETTEXPARAMETERFVPROC pglGetTexParameterfv;
extern PFNGLHINTPROC pglHint;
-extern PFNGLLOADIDENTITYPROC pglLoadIdentity;
-extern PFNGLLOADMATRIXFPROC pglLoadMatrixf;
-extern PFNGLMATRIXMODEPROC pglMatrixMode;
-extern PFNGLMULTMATRIXFPROC pglMultMatrixf;
-extern PFNGLNORMALPOINTERPROC pglNormalPointer;
-extern PFNGLORTHOPROC pglOrtho;
extern PFNGLPIXELSTOREIPROC pglPixelStorei;
-extern PFNGLPIXELZOOMPROC pglPixelZoom;
-extern PFNGLPOLYGONMODEPROC pglPolygonMode;
extern PFNGLPOLYGONOFFSETPROC pglPolygonOffset;
-extern PFNGLPOPATTRIBPROC pglPopAttrib;
-extern PFNGLPOPCLIENTATTRIBPROC pglPopClientAttrib;
-extern PFNGLPOPMATRIXPROC pglPopMatrix;
-extern PFNGLPUSHATTRIBPROC pglPushAttrib;
-extern PFNGLPUSHCLIENTATTRIBPROC pglPushClientAttrib;
-extern PFNGLPUSHMATRIXPROC pglPushMatrix;
-extern PFNGLRASTERPOS2IPROC pglRasterPos2i;
-extern PFNGLREADBUFFERPROC pglReadBuffer;
extern PFNGLREADPIXELSPROC pglReadPixels;
-extern PFNGLROTATEFPROC pglRotatef;
-extern PFNGLSCALEFPROC pglScalef;
extern PFNGLSHADEMODELPROC pglShadeModel;
-extern PFNGLTEXCOORD2FPROC pglTexCoord2f;
-extern PFNGLTEXCOORD2FVPROC pglTexCoord2fv;
-extern PFNGLTEXCOORD3FPROC pglTexCoord3f;
-extern PFNGLTEXCOORD3FVPROC pglTexCoord3fv;
-extern PFNGLTEXCOORD4FPROC pglTexCoord4f;
-extern PFNGLTEXCOORD4FVPROC pglTexCoord4fv;
extern PFNGLTEXCOORDPOINTERPROC pglTexCoordPointer;
extern PFNGLTEXENVFPROC pglTexEnvf;
extern PFNGLTEXENVFVPROC pglTexEnvfv;
@@ -198,38 +102,18 @@ extern PFNGLTEXIMAGE2DPROC pglTexImage2D;
extern PFNGLTEXPARAMETERFPROC pglTexParameterf;
extern PFNGLTEXPARAMETERIPROC pglTexParameteri;
extern PFNGLTEXSUBIMAGE2DPROC pglTexSubImage2D;
-extern PFNGLTRANSLATEFPROC pglTranslatef;
-extern PFNGLVERTEX2FPROC pglVertex2f;
-extern PFNGLVERTEX2FVPROC pglVertex2fv;
-extern PFNGLVERTEX3FPROC pglVertex3f;
-extern PFNGLVERTEX3FVPROC pglVertex3fv;
-extern PFNGLVERTEX4FPROC pglVertex4f;
-extern PFNGLVERTEX4FVPROC pglVertex4fv;
extern PFNGLVERTEXPOINTERPROC pglVertexPointer;
extern PFNGLVIEWPORTPROC pglViewport;
-// GL_EXT_paletted_texture
-extern PFNGLCOLORTABLEEXTPROC pglColorTableEXT;
-extern PFNGLGETCOLORTABLEPARAMETERIVEXTPROC pglGetColorTableParameterivEXT;
-
-// GL_EXT_secondary_color
-extern PFNGLSECONDARYCOLOR3FEXTPROC pglSecondaryColor3fEXT;
-extern PFNGLSECONDARYCOLOR3FVEXTPROC pglSecondaryColor3fvEXT;
-extern PFNGLSECONDARYCOLOR3UBEXTPROC pglSecondaryColor3ubEXT;
-extern PFNGLSECONDARYCOLOR3UBVEXTPROC pglSecondaryColor3ubvEXT;
-extern PFNGLSECONDARYCOLORPOINTEREXTPROC pglSecondaryColorPointerEXT;
-
extern int ogl_have_multisample_filter_hint;
-extern int ogl_have_paletted_texture;
-extern int ogl_have_secondary_color;
extern int ogl_have_texture_filter_anisotropic;
extern int ogl_use_multisample_filter_hint;
-extern int ogl_use_paletted_texture;
-extern int ogl_use_secondary_color;
extern int ogl_use_texture_filter_anisotropic;
extern void load_ogl_functions(int mode);
-extern int check_for_errors(const char *file, int line);
+
+extern int check_for_errors_(const char *file, int line);
+#define check_for_errors() check_for_errors_(__FILE__, __LINE__)
#endif