/*
 * This document is licensed under the SGI Free Software B License Version
 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
 */

#ifndef QFGL_DONT_NEED
#define QFGL_DONT_NEED(ret, func, params)
#define UNDEF_QFGL_DONT_NEED
#endif

#ifndef QFGL_WANT
#define QFGL_WANT(ret, func, params)
#define UNDEF_QFGL_WANT
#endif

#ifndef QFGL_NEED
#define QFGL_NEED(ret, func, params)
#define UNDEF_QFGL_NEED
#endif

QFGL_NEED (void, glActiveTexture, (GLenum texture))
QFGL_NEED (void, glAttachShader, (GLuint program, GLuint shader))
QFGL_NEED (void, glBindAttribLocation, (GLuint program, GLuint index, const GLchar* name))
QFGL_NEED (void, glBindBuffer, (GLenum target, GLuint buffer))
QFGL_NEED (void, glBindFramebuffer, (GLenum target, GLuint framebuffer))
QFGL_NEED (void, glBindRenderbuffer, (GLenum target, GLuint renderbuffer))
QFGL_NEED (void, glBindTexture, (GLenum target, GLuint texture))
QFGL_NEED (void, glBlendColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
QFGL_NEED (void, glBlendEquation, ( GLenum mode ))
QFGL_NEED (void, glBlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha))
QFGL_NEED (void, glBlendFunc, (GLenum sfactor, GLenum dfactor))
QFGL_NEED (void, glBlendFuncSeparate, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha))
QFGL_NEED (void, glBufferData, (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage))
QFGL_NEED (void, glBufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data))
QFGL_NEED (GLenum, glCheckFramebufferStatus, (GLenum target))
QFGL_NEED (void, glClear, (GLbitfield mask))
QFGL_NEED (void, glClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
QFGL_NEED (void, glClearDepthf, (GLclampf depth))
QFGL_NEED (void, glClearStencil, (GLint s))
QFGL_NEED (void, glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha))
QFGL_NEED (void, glCompileShader, (GLuint shader))
QFGL_NEED (void, glCompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data))
QFGL_NEED (void, glCompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data))
QFGL_NEED (void, glCopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border))
QFGL_NEED (void, glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height))
QFGL_NEED (GLuint, glCreateProgram, (void))
QFGL_NEED (GLuint, glCreateShader, (GLenum type))
QFGL_NEED (void, glCullFace, (GLenum mode))
QFGL_NEED (void, glDeleteBuffers, (GLsizei n, const GLuint* buffers))
QFGL_NEED (void, glDeleteFramebuffers, (GLsizei n, const GLuint* framebuffers))
QFGL_NEED (void, glDeleteProgram, (GLuint program))
QFGL_NEED (void, glDeleteRenderbuffers, (GLsizei n, const GLuint* renderbuffers))
QFGL_NEED (void, glDeleteShader, (GLuint shader))
QFGL_NEED (void, glDeleteTextures, (GLsizei n, const GLuint* textures))
QFGL_NEED (void, glDepthFunc, (GLenum func))
QFGL_NEED (void, glDepthMask, (GLboolean flag))
QFGL_NEED (void, glDepthRangef, (GLclampf zNear, GLclampf zFar))
QFGL_NEED (void, glDetachShader, (GLuint program, GLuint shader))
QFGL_NEED (void, glDisable, (GLenum cap))
QFGL_NEED (void, glDisableVertexAttribArray, (GLuint index))
QFGL_NEED (void, glDrawArrays, (GLenum mode, GLint first, GLsizei count))
QFGL_NEED (void, glDrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices))
QFGL_NEED (void, glEnable, (GLenum cap))
QFGL_NEED (void, glEnableVertexAttribArray, (GLuint index))
QFGL_NEED (void, glFinish, (void))
QFGL_NEED (void, glFlush, (void))
QFGL_NEED (void, glFramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer))
QFGL_NEED (void, glFramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level))
QFGL_NEED (void, glFrontFace, (GLenum mode))
QFGL_NEED (void, glGenBuffers, (GLsizei n, GLuint* buffers))
QFGL_NEED (void, glGenerateMipmap, (GLenum target))
QFGL_NEED (void, glGenFramebuffers, (GLsizei n, GLuint* framebuffers))
QFGL_NEED (void, glGenRenderbuffers, (GLsizei n, GLuint* renderbuffers))
QFGL_NEED (void, glGenTextures, (GLsizei n, GLuint* textures))
QFGL_NEED (void, glGetActiveAttrib, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name))
QFGL_NEED (void, glGetActiveUniform, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name))
QFGL_NEED (void, glGetAttachedShaders, (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders))
QFGL_NEED (int, glGetAttribLocation, (GLuint program, const GLchar* name))
QFGL_NEED (void, glGetBooleanv, (GLenum pname, GLboolean* params))
QFGL_NEED (void, glGetBufferParameteriv, (GLenum target, GLenum pname, GLint* params))
QFGL_NEED (GLenum, glGetError, (void))
QFGL_NEED (void, glGetFloatv, (GLenum pname, GLfloat* params))
QFGL_NEED (void, glGetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint* params))
QFGL_NEED (void, glGetIntegerv, (GLenum pname, GLint* params))
QFGL_NEED (void, glGetProgramiv, (GLuint program, GLenum pname, GLint* params))
QFGL_NEED (void, glGetProgramInfoLog, (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog))
QFGL_NEED (void, glGetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint* params))
QFGL_NEED (void, glGetShaderiv, (GLuint shader, GLenum pname, GLint* params))
QFGL_NEED (void, glGetShaderInfoLog, (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog))
QFGL_NEED (void, glGetShaderPrecisionFormat, (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision))
QFGL_NEED (void, glGetShaderSource, (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source))
QFGL_NEED (const GLubyte*, glGetString, (GLenum name))
QFGL_NEED (void, glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat* params))
QFGL_NEED (void, glGetTexParameteriv, (GLenum target, GLenum pname, GLint* params))
QFGL_NEED (void, glGetUniformfv, (GLuint program, GLint location, GLfloat* params))
QFGL_NEED (void, glGetUniformiv, (GLuint program, GLint location, GLint* params))
QFGL_NEED (int, glGetUniformLocation, (GLuint program, const GLchar* name))
QFGL_NEED (void, glGetVertexAttribfv, (GLuint index, GLenum pname, GLfloat* params))
QFGL_NEED (void, glGetVertexAttribiv, (GLuint index, GLenum pname, GLint* params))
QFGL_NEED (void, glGetVertexAttribPointerv, (GLuint index, GLenum pname, GLvoid** pointer))
QFGL_NEED (void, glHint, (GLenum target, GLenum mode))
QFGL_NEED (GLboolean, glIsBuffer, (GLuint buffer))
QFGL_NEED (GLboolean, glIsEnabled, (GLenum cap))
QFGL_NEED (GLboolean, glIsFramebuffer, (GLuint framebuffer))
QFGL_NEED (GLboolean, glIsProgram, (GLuint program))
QFGL_NEED (GLboolean, glIsRenderbuffer, (GLuint renderbuffer))
QFGL_NEED (GLboolean, glIsShader, (GLuint shader))
QFGL_NEED (GLboolean, glIsTexture, (GLuint texture))
QFGL_NEED (void, glLineWidth, (GLfloat width))
QFGL_NEED (void, glLinkProgram, (GLuint program))
QFGL_NEED (void, glPixelStorei, (GLenum pname, GLint param))
QFGL_NEED (void, glPolygonOffset, (GLfloat factor, GLfloat units))
QFGL_NEED (void, glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels))
QFGL_NEED (void, glReleaseShaderCompiler, (void))
QFGL_NEED (void, glRenderbufferStorage, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height))
QFGL_NEED (void, glSampleCoverage, (GLclampf value, GLboolean invert))
QFGL_NEED (void, glScissor, (GLint x, GLint y, GLsizei width, GLsizei height))
QFGL_NEED (void, glShaderBinary, (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length))
QFGL_NEED (void, glShaderSource, (GLuint shader, GLsizei count, const GLchar** string, const GLint* length))
QFGL_NEED (void, glStencilFunc, (GLenum func, GLint ref, GLuint mask))
QFGL_NEED (void, glStencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask))
QFGL_NEED (void, glStencilMask, (GLuint mask))
QFGL_NEED (void, glStencilMaskSeparate, (GLenum face, GLuint mask))
QFGL_NEED (void, glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass))
QFGL_NEED (void, glStencilOpSeparate, (GLenum face, GLenum fail, GLenum zfail, GLenum zpass))
QFGL_NEED (void, glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels))
QFGL_NEED (void, glTexParameterf, (GLenum target, GLenum pname, GLfloat param))
QFGL_NEED (void, glTexParameterfv, (GLenum target, GLenum pname, const GLfloat* params))
QFGL_NEED (void, glTexParameteri, (GLenum target, GLenum pname, GLint param))
QFGL_NEED (void, glTexParameteriv, (GLenum target, GLenum pname, const GLint* params))
QFGL_NEED (void, glTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels))
QFGL_NEED (void, glUniform1f, (GLint location, GLfloat x))
QFGL_NEED (void, glUniform1fv, (GLint location, GLsizei count, const GLfloat* v))
QFGL_NEED (void, glUniform1i, (GLint location, GLint x))
QFGL_NEED (void, glUniform1iv, (GLint location, GLsizei count, const GLint* v))
QFGL_NEED (void, glUniform2f, (GLint location, GLfloat x, GLfloat y))
QFGL_NEED (void, glUniform2fv, (GLint location, GLsizei count, const GLfloat* v))
QFGL_NEED (void, glUniform2i, (GLint location, GLint x, GLint y))
QFGL_NEED (void, glUniform2iv, (GLint location, GLsizei count, const GLint* v))
QFGL_NEED (void, glUniform3f, (GLint location, GLfloat x, GLfloat y, GLfloat z))
QFGL_NEED (void, glUniform3fv, (GLint location, GLsizei count, const GLfloat* v))
QFGL_NEED (void, glUniform3i, (GLint location, GLint x, GLint y, GLint z))
QFGL_NEED (void, glUniform3iv, (GLint location, GLsizei count, const GLint* v))
QFGL_NEED (void, glUniform4f, (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w))
QFGL_NEED (void, glUniform4fv, (GLint location, GLsizei count, const GLfloat* v))
QFGL_NEED (void, glUniform4i, (GLint location, GLint x, GLint y, GLint z, GLint w))
QFGL_NEED (void, glUniform4iv, (GLint location, GLsizei count, const GLint* v))
QFGL_NEED (void, glUniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value))
QFGL_NEED (void, glUniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value))
QFGL_NEED (void, glUniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value))
QFGL_NEED (void, glUseProgram, (GLuint program))
QFGL_NEED (void, glValidateProgram, (GLuint program))
QFGL_NEED (void, glVertexAttrib1f, (GLuint indx, GLfloat x))
QFGL_NEED (void, glVertexAttrib1fv, (GLuint indx, const GLfloat* values))
QFGL_NEED (void, glVertexAttrib2f, (GLuint indx, GLfloat x, GLfloat y))
QFGL_NEED (void, glVertexAttrib2fv, (GLuint indx, const GLfloat* values))
QFGL_NEED (void, glVertexAttrib3f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z))
QFGL_NEED (void, glVertexAttrib3fv, (GLuint indx, const GLfloat* values))
QFGL_NEED (void, glVertexAttrib4f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w))
QFGL_NEED (void, glVertexAttrib4fv, (GLuint indx, const GLfloat* values))
QFGL_NEED (void, glVertexAttribPointer, (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr))
QFGL_NEED (void, glViewport, (GLint x, GLint y, GLsizei width, GLsizei height))

#ifdef UNDEF_QFGL_DONT_NEED
#undef QFGL_DONT_NEED
#endif

#ifdef UNDEF_QFGL_WANT
#undef QFGL_WANT
#endif

#ifdef UNDEF_QFGL_NEED
#undef QFGL_DONT_NEED
#endif
