Path: blob/master/libmupen64plus/mupen64plus-video-rice/src/OGLExtensions.h
2 views
/* OGLExtensions.h1Copyright (C) 2009 Richard Goedeken23This program is free software; you can redistribute it and/or4modify it under the terms of the GNU General Public License5as published by the Free Software Foundation; either version 26of the License, or (at your option) any later version.78This program is distributed in the hope that it will be useful,9but WITHOUT ANY WARRANTY; without even the implied warranty of10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11GNU General Public License for more details.1213You should have received a copy of the GNU General Public License14along with this program; if not, write to the Free Software15Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.16*/1718/* This header file contains function pointers to some OpenGL functions */19/* This is only necessary because Windows does not contain development support for OpenGL versions beyond 1.1 */2021#if !defined(OGL_EXTENSIONS_H)22#define OGL_EXTENSIONS_H2324#include <SDL_opengl.h>2526/* Just call this one function to load up the function pointers. */27void OGLExtensions_Init(void);2829/* The function pointer types are defined here because as of 2009 some OpenGL drivers under Linux do 'incorrect' things which30mess up the SDL_opengl.h header, resulting in no function pointer typedefs at all, and thus compilation errors.31*/32typedef void (APIENTRYP PFUNCGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);33typedef void (APIENTRYP PFUNCGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);34typedef void (APIENTRYP PFUNCGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);35typedef void (APIENTRYP PFUNCGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);36typedef void (APIENTRYP PFUNCGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);3738typedef void (APIENTRYP PFUNCGLACTIVETEXTUREPROC) (GLenum texture);39typedef void (APIENTRYP PFUNCGLACTIVETEXTUREARBPROC) (GLenum texture);40typedef void (APIENTRYP PFUNCGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);41typedef void (APIENTRYP PFUNCGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);42typedef void (APIENTRYP PFUNCGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);43typedef void (APIENTRYP PFUNCGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);44typedef void (APIENTRYP PFUNCGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);45typedef void (APIENTRYP PFUNCGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);46typedef void (APIENTRYP PFUNCGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);47typedef void (APIENTRYP PFUNCGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);48typedef void (APIENTRYP PFUNCGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);4950extern bool bNvidiaExtensionsSupported;51extern PFUNCGLCOMBINERPARAMETERFVNVPROC pglCombinerParameterfvNV;52extern PFUNCGLFINALCOMBINERINPUTNVPROC pglFinalCombinerInputNV;53extern PFUNCGLCOMBINEROUTPUTNVPROC pglCombinerOutputNV;54extern PFUNCGLCOMBINERINPUTNVPROC pglCombinerInputNV;55extern PFUNCGLCOMBINERPARAMETERINVPROC pglCombinerParameteriNV;5657extern PFUNCGLACTIVETEXTUREPROC pglActiveTexture;58extern PFUNCGLACTIVETEXTUREARBPROC pglActiveTextureARB;59extern PFUNCGLMULTITEXCOORD2FPROC pglMultiTexCoord2f;60extern PFUNCGLMULTITEXCOORD2FVPROC pglMultiTexCoord2fv;61extern PFUNCGLDELETEPROGRAMSARBPROC pglDeleteProgramsARB;62extern PFUNCGLPROGRAMSTRINGARBPROC pglProgramStringARB;63extern PFUNCGLBINDPROGRAMARBPROC pglBindProgramARB;64extern PFUNCGLGENPROGRAMSARBPROC pglGenProgramsARB;65extern PFUNCGLPROGRAMENVPARAMETER4FVARBPROC pglProgramEnvParameter4fvARB;66extern PFUNCGLFOGCOORDPOINTEREXTPROC pglFogCoordPointerEXT;67extern PFUNCGLCLIENTACTIVETEXTUREARBPROC pglClientActiveTextureARB;6869#endif // OGL_EXTENSIONS_H70717273