/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "gles_dispatch.h" #include "gles_ftable.h" #include <EGL/egl.h> #include <cutils/log.h> static struct gles_dispatch *s_dispatch = NULL; void init_gles(void *gles_android) { s_dispatch = create_gles_dispatch(gles_android); if (s_dispatch == NULL) { ALOGE("failed to create gles dispatch\n"); } } static struct gles_dispatch *getDispatch() { if (!s_dispatch) { fprintf(stderr,"FATAL ERROR: GLES has not been initialized\n"); exit(-1); } return s_dispatch; } __eglMustCastToProperFunctionPointerType gles_getProcAddress(const char *procname) { for (int i=0; i<gles_num_funcs; i++) { if (!strcmp(gles_funcs_by_name[i].name, procname)) { return (__eglMustCastToProperFunctionPointerType)gles_funcs_by_name[i].proc; } } return NULL; } ///////////// Path-through functions /////////////// void glAlphaFunc(GLenum func, GLclampf ref) { getDispatch()->glAlphaFunc(func, ref); } void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { getDispatch()->glClearColor(red, green, blue, alpha); } void glClearDepthf(GLclampf depth) { getDispatch()->glClearDepthf(depth); } void glClipPlanef(GLenum plane, const GLfloat *equation) { getDispatch()->glClipPlanef(plane, equation); } void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { getDispatch()->glColor4f(red, green, blue, alpha); } void glDepthRangef(GLclampf zNear, GLclampf zFar) { getDispatch()->glDepthRangef(zNear, zFar); } void glFogf(GLenum pname, GLfloat param) { getDispatch()->glFogf(pname, param); } void glFogfv(GLenum pname, const GLfloat *params) { getDispatch()->glFogfv(pname, params); } void glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { getDispatch()->glFrustumf(left, right, bottom, top, zNear, zFar); } void glGetClipPlanef(GLenum pname, GLfloat eqn[4]) { getDispatch()->glGetClipPlanef(pname, eqn); } void glGetFloatv(GLenum pname, GLfloat *params) { getDispatch()->glGetFloatv(pname, params); } void glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { getDispatch()->glGetLightfv(light, pname, params); } void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { getDispatch()->glGetMaterialfv(face, pname, params); } void glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params) { getDispatch()->glGetTexEnvfv(env, pname, params); } void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { getDispatch()->glGetTexParameterfv(target, pname, params); } void glLightModelf(GLenum pname, GLfloat param) { getDispatch()->glLightModelf(pname, param); } void glLightModelfv(GLenum pname, const GLfloat *params) { getDispatch()->glLightModelfv(pname, params); } void glLightf(GLenum light, GLenum pname, GLfloat param) { getDispatch()->glLightf(light, pname, param); } void glLightfv(GLenum light, GLenum pname, const GLfloat *params) { getDispatch()->glLightfv(light, pname, params); } void glLineWidth(GLfloat width) { getDispatch()->glLineWidth(width); } void glLoadMatrixf(const GLfloat *m) { getDispatch()->glLoadMatrixf(m); } void glMaterialf(GLenum face, GLenum pname, GLfloat param) { getDispatch()->glMaterialf(face, pname, param); } void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { getDispatch()->glMaterialfv(face, pname, params); } void glMultMatrixf(const GLfloat *m) { getDispatch()->glMultMatrixf(m); } void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { getDispatch()->glMultiTexCoord4f(target, s, t, r, q); } void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { getDispatch()->glNormal3f(nx, ny, nz); } void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { getDispatch()->glOrthof(left, right, bottom, top, zNear, zFar); } void glPointParameterf(GLenum pname, GLfloat param) { getDispatch()->glPointParameterf(pname, param); } void glPointParameterfv(GLenum pname, const GLfloat *params) { getDispatch()->glPointParameterfv(pname, params); } void glPointSize(GLfloat size) { getDispatch()->glPointSize(size); } void glPolygonOffset(GLfloat factor, GLfloat units) { getDispatch()->glPolygonOffset(factor, units); } void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { getDispatch()->glRotatef(angle, x, y, z); } void glScalef(GLfloat x, GLfloat y, GLfloat z) { getDispatch()->glScalef(x, y, z); } void glTexEnvf(GLenum target, GLenum pname, GLfloat param) { getDispatch()->glTexEnvf(target, pname, param); } void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { getDispatch()->glTexEnvfv(target, pname, params); } void glTexParameterf(GLenum target, GLenum pname, GLfloat param) { getDispatch()->glTexParameterf(target, pname, param); } void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { getDispatch()->glTexParameterfv(target, pname, params); } void glTranslatef(GLfloat x, GLfloat y, GLfloat z) { getDispatch()->glTranslatef(x, y, z); } void glActiveTexture(GLenum texture) { getDispatch()->glActiveTexture(texture); } void glAlphaFuncx(GLenum func, GLclampx ref) { getDispatch()->glAlphaFuncx(func, ref); } void glBindBuffer(GLenum target, GLuint buffer) { getDispatch()->glBindBuffer(target, buffer); } void glBindTexture(GLenum target, GLuint texture) { getDispatch()->glBindTexture(target, texture); } void glBlendFunc(GLenum sfactor, GLenum dfactor) { getDispatch()->glBlendFunc(sfactor, dfactor); } void glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { getDispatch()->glBufferData(target, size, data, usage); } void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { getDispatch()->glBufferSubData(target, offset, size, data); } void glClear(GLbitfield mask) { getDispatch()->glClear(mask); } void glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) { getDispatch()->glClearColorx(red, green, blue, alpha); } void glClearDepthx(GLclampx depth) { getDispatch()->glClearDepthx(depth); } void glClearStencil(GLint s) { getDispatch()->glClearStencil(s); } void glClientActiveTexture(GLenum texture) { getDispatch()->glClientActiveTexture(texture); } void glClipPlanex(GLenum plane, const GLfixed *equation) { getDispatch()->glClipPlanex(plane, equation); } void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { getDispatch()->glColor4ub(red, green, blue, alpha); } void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) { getDispatch()->glColor4x(red, green, blue, alpha); } void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { getDispatch()->glColorMask(red, green, blue, alpha); } void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glColorPointer(size, type, stride, pointer); } void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { getDispatch()->glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { getDispatch()->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { getDispatch()->glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); } void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { getDispatch()->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } void glCullFace(GLenum mode) { getDispatch()->glCullFace(mode); } void glDeleteBuffers(GLsizei n, const GLuint *buffers) { getDispatch()->glDeleteBuffers(n, buffers); } void glDeleteTextures(GLsizei n, const GLuint *textures) { getDispatch()->glDeleteTextures(n, textures); } void glDepthFunc(GLenum func) { getDispatch()->glDepthFunc(func); } void glDepthMask(GLboolean flag) { getDispatch()->glDepthMask(flag); } void glDepthRangex(GLclampx zNear, GLclampx zFar) { getDispatch()->glDepthRangex(zNear, zFar); } void glDisable(GLenum cap) { getDispatch()->glDisable(cap); } void glDisableClientState(GLenum array) { getDispatch()->glDisableClientState(array); } void glDrawArrays(GLenum mode, GLint first, GLsizei count) { getDispatch()->glDrawArrays(mode, first, count); } void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { getDispatch()->glDrawElements(mode, count, type, indices); } void glEnable(GLenum cap) { getDispatch()->glEnable(cap); } void glEnableClientState(GLenum array) { getDispatch()->glEnableClientState(array); } void glFinish() { getDispatch()->glFinish(); } void glFlush() { getDispatch()->glFlush(); } void glFogx(GLenum pname, GLfixed param) { getDispatch()->glFogx(pname, param); } void glFogxv(GLenum pname, const GLfixed *params) { getDispatch()->glFogxv(pname, params); } void glFrontFace(GLenum mode) { getDispatch()->glFrontFace(mode); } void glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { getDispatch()->glFrustumx(left, right, bottom, top, zNear, zFar); } void glGetBooleanv(GLenum pname, GLboolean *params) { getDispatch()->glGetBooleanv(pname, params); } void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { getDispatch()->glGetBufferParameteriv(target, pname, params); } void glGetClipPlanex(GLenum pname, GLfixed eqn[4]) { getDispatch()->glGetClipPlanex(pname, eqn); } void glGenBuffers(GLsizei n, GLuint *buffers) { getDispatch()->glGenBuffers(n, buffers); } void glGenTextures(GLsizei n, GLuint *textures) { getDispatch()->glGenTextures(n, textures); } GLenum glGetError() { return getDispatch()->glGetError(); } void glGetFixedv(GLenum pname, GLfixed *params) { getDispatch()->glGetFixedv(pname, params); } void glGetIntegerv(GLenum pname, GLint *params) { getDispatch()->glGetIntegerv(pname, params); } void glGetLightxv(GLenum light, GLenum pname, GLfixed *params) { getDispatch()->glGetLightxv(light, pname, params); } void glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params) { getDispatch()->glGetMaterialxv(face, pname, params); } void glGetPointerv(GLenum pname, GLvoid **params) { getDispatch()->glGetPointerv(pname, params); } const GLubyte* glGetString(GLenum name) { return getDispatch()->glGetString(name); } void glGetTexEnviv(GLenum env, GLenum pname, GLint *params) { getDispatch()->glGetTexEnviv(env, pname, params); } void glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params) { getDispatch()->glGetTexEnvxv(env, pname, params); } void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { getDispatch()->glGetTexParameteriv(target, pname, params); } void glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) { getDispatch()->glGetTexParameterxv(target, pname, params); } void glHint(GLenum target, GLenum mode) { getDispatch()->glHint(target, mode); } GLboolean glIsBuffer(GLuint buffer) { return getDispatch()->glIsBuffer(buffer); } GLboolean glIsEnabled(GLenum cap) { return getDispatch()->glIsEnabled(cap); } GLboolean glIsTexture(GLuint texture) { return getDispatch()->glIsTexture(texture); } void glLightModelx(GLenum pname, GLfixed param) { getDispatch()->glLightModelx(pname, param); } void glLightModelxv(GLenum pname, const GLfixed *params) { getDispatch()->glLightModelxv(pname, params); } void glLightx(GLenum light, GLenum pname, GLfixed param) { getDispatch()->glLightx(light, pname, param); } void glLightxv(GLenum light, GLenum pname, const GLfixed *params) { getDispatch()->glLightxv(light, pname, params); } void glLineWidthx(GLfixed width) { getDispatch()->glLineWidthx(width); } void glLoadIdentity() { getDispatch()->glLoadIdentity(); } void glLoadMatrixx(const GLfixed *m) { getDispatch()->glLoadMatrixx(m); } void glLogicOp(GLenum opcode) { getDispatch()->glLogicOp(opcode); } void glMaterialx(GLenum face, GLenum pname, GLfixed param) { getDispatch()->glMaterialx(face, pname, param); } void glMaterialxv(GLenum face, GLenum pname, const GLfixed *params) { getDispatch()->glMaterialxv(face, pname, params); } void glMatrixMode(GLenum mode) { getDispatch()->glMatrixMode(mode); } void glMultMatrixx(const GLfixed *m) { getDispatch()->glMultMatrixx(m); } void glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) { getDispatch()->glMultiTexCoord4x(target, s, t, r, q); } void glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz) { getDispatch()->glNormal3x(nx, ny, nz); } void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glNormalPointer(type, stride, pointer); } void glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { getDispatch()->glOrthox(left, right, bottom, top, zNear, zFar); } void glPixelStorei(GLenum pname, GLint param) { getDispatch()->glPixelStorei(pname, param); } void glPointParameterx(GLenum pname, GLfixed param) { getDispatch()->glPointParameterx(pname, param); } void glPointParameterxv(GLenum pname, const GLfixed *params) { getDispatch()->glPointParameterxv(pname, params); } void glPointSizex(GLfixed size) { getDispatch()->glPointSizex(size); } void glPolygonOffsetx(GLfixed factor, GLfixed units) { getDispatch()->glPolygonOffsetx(factor, units); } void glPopMatrix() { getDispatch()->glPopMatrix(); } void glPushMatrix() { getDispatch()->glPushMatrix(); } void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { getDispatch()->glReadPixels(x, y, width, height, format, type, pixels); } void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glRotatex(angle, x, y, z); } void glSampleCoverage(GLclampf value, GLboolean invert) { getDispatch()->glSampleCoverage(value, invert); } void glSampleCoveragex(GLclampx value, GLboolean invert) { getDispatch()->glSampleCoveragex(value, invert); } void glScalex(GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glScalex(x, y, z); } void glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { getDispatch()->glScissor(x, y, width, height); } void glShadeModel(GLenum mode) { getDispatch()->glShadeModel(mode); } void glStencilFunc(GLenum func, GLint ref, GLuint mask) { getDispatch()->glStencilFunc(func, ref, mask); } void glStencilMask(GLuint mask) { getDispatch()->glStencilMask(mask); } void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { getDispatch()->glStencilOp(fail, zfail, zpass); } void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glTexCoordPointer(size, type, stride, pointer); } void glTexEnvi(GLenum target, GLenum pname, GLint param) { getDispatch()->glTexEnvi(target, pname, param); } void glTexEnvx(GLenum target, GLenum pname, GLfixed param) { getDispatch()->glTexEnvx(target, pname, param); } void glTexEnviv(GLenum target, GLenum pname, const GLint *params) { getDispatch()->glTexEnviv(target, pname, params); } void glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params) { getDispatch()->glTexEnvxv(target, pname, params); } void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { getDispatch()->glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } void glTexParameteri(GLenum target, GLenum pname, GLint param) { getDispatch()->glTexParameteri(target, pname, param); } void glTexParameterx(GLenum target, GLenum pname, GLfixed param) { getDispatch()->glTexParameterx(target, pname, param); } void glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { getDispatch()->glTexParameteriv(target, pname, params); } void glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params) { getDispatch()->glTexParameterxv(target, pname, params); } void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { getDispatch()->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } void glTranslatex(GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glTranslatex(x, y, z); } void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glVertexPointer(size, type, stride, pointer); } void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { getDispatch()->glViewport(x, y, width, height); } void glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glPointSizePointerOES(type, stride, pointer); } void glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha) { getDispatch()->glBlendEquationSeparateOES(modeRGB, modeAlpha); } void glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { getDispatch()->glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha); } void glBlendEquationOES(GLenum mode) { getDispatch()->glBlendEquationOES(mode); } void glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) { getDispatch()->glDrawTexsOES(x, y, z, width, height); } void glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) { getDispatch()->glDrawTexiOES(x, y, z, width, height); } void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) { getDispatch()->glDrawTexxOES(x, y, z, width, height); } void glDrawTexsvOES(const GLshort *coords) { getDispatch()->glDrawTexsvOES(coords); } void glDrawTexivOES(const GLint *coords) { getDispatch()->glDrawTexivOES(coords); } void glDrawTexxvOES(const GLfixed *coords) { getDispatch()->glDrawTexxvOES(coords); } void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) { getDispatch()->glDrawTexfOES(x, y, z, width, height); } void glDrawTexfvOES(const GLfloat *coords) { getDispatch()->glDrawTexfvOES(coords); } void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { getDispatch()->glEGLImageTargetTexture2DOES(target, image); } void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { getDispatch()->glEGLImageTargetRenderbufferStorageOES(target, image); } void glAlphaFuncxOES(GLenum func, GLclampx ref) { getDispatch()->glAlphaFuncxOES(func, ref); } void glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) { getDispatch()->glClearColorxOES(red, green, blue, alpha); } void glClearDepthxOES(GLclampx depth) { getDispatch()->glClearDepthxOES(depth); } void glClipPlanexOES(GLenum plane, const GLfixed *equation) { getDispatch()->glClipPlanexOES(plane, equation); } void glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) { getDispatch()->glColor4xOES(red, green, blue, alpha); } void glDepthRangexOES(GLclampx zNear, GLclampx zFar) { getDispatch()->glDepthRangexOES(zNear, zFar); } void glFogxOES(GLenum pname, GLfixed param) { getDispatch()->glFogxOES(pname, param); } void glFogxvOES(GLenum pname, const GLfixed *params) { getDispatch()->glFogxvOES(pname, params); } void glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { getDispatch()->glFrustumxOES(left, right, bottom, top, zNear, zFar); } void glGetClipPlanexOES(GLenum pname, GLfixed eqn[4]) { getDispatch()->glGetClipPlanexOES(pname, eqn); } void glGetFixedvOES(GLenum pname, GLfixed *params) { getDispatch()->glGetFixedvOES(pname, params); } void glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params) { getDispatch()->glGetLightxvOES(light, pname, params); } void glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params) { getDispatch()->glGetMaterialxvOES(face, pname, params); } void glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params) { getDispatch()->glGetTexEnvxvOES(env, pname, params); } void glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed *params) { getDispatch()->glGetTexParameterxvOES(target, pname, params); } void glLightModelxOES(GLenum pname, GLfixed param) { getDispatch()->glLightModelxOES(pname, param); } void glLightModelxvOES(GLenum pname, const GLfixed *params) { getDispatch()->glLightModelxvOES(pname, params); } void glLightxOES(GLenum light, GLenum pname, GLfixed param) { getDispatch()->glLightxOES(light, pname, param); } void glLightxvOES(GLenum light, GLenum pname, const GLfixed *params) { getDispatch()->glLightxvOES(light, pname, params); } void glLineWidthxOES(GLfixed width) { getDispatch()->glLineWidthxOES(width); } void glLoadMatrixxOES(const GLfixed *m) { getDispatch()->glLoadMatrixxOES(m); } void glMaterialxOES(GLenum face, GLenum pname, GLfixed param) { getDispatch()->glMaterialxOES(face, pname, param); } void glMaterialxvOES(GLenum face, GLenum pname, const GLfixed *params) { getDispatch()->glMaterialxvOES(face, pname, params); } void glMultMatrixxOES(const GLfixed *m) { getDispatch()->glMultMatrixxOES(m); } void glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) { getDispatch()->glMultiTexCoord4xOES(target, s, t, r, q); } void glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz) { getDispatch()->glNormal3xOES(nx, ny, nz); } void glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) { getDispatch()->glOrthoxOES(left, right, bottom, top, zNear, zFar); } void glPointParameterxOES(GLenum pname, GLfixed param) { getDispatch()->glPointParameterxOES(pname, param); } void glPointParameterxvOES(GLenum pname, const GLfixed *params) { getDispatch()->glPointParameterxvOES(pname, params); } void glPointSizexOES(GLfixed size) { getDispatch()->glPointSizexOES(size); } void glPolygonOffsetxOES(GLfixed factor, GLfixed units) { getDispatch()->glPolygonOffsetxOES(factor, units); } void glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glRotatexOES(angle, x, y, z); } void glSampleCoveragexOES(GLclampx value, GLboolean invert) { getDispatch()->glSampleCoveragexOES(value, invert); } void glScalexOES(GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glScalexOES(x, y, z); } void glTexEnvxOES(GLenum target, GLenum pname, GLfixed param) { getDispatch()->glTexEnvxOES(target, pname, param); } void glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed *params) { getDispatch()->glTexEnvxvOES(target, pname, params); } void glTexParameterxOES(GLenum target, GLenum pname, GLfixed param) { getDispatch()->glTexParameterxOES(target, pname, param); } void glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed *params) { getDispatch()->glTexParameterxvOES(target, pname, params); } void glTranslatexOES(GLfixed x, GLfixed y, GLfixed z) { getDispatch()->glTranslatexOES(x, y, z); } GLboolean glIsRenderbufferOES(GLuint renderbuffer) { return getDispatch()->glIsRenderbufferOES(renderbuffer); } void glBindRenderbufferOES(GLenum target, GLuint renderbuffer) { getDispatch()->glBindRenderbufferOES(target, renderbuffer); } void glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers) { getDispatch()->glDeleteRenderbuffersOES(n, renderbuffers); } void glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers) { getDispatch()->glGenRenderbuffersOES(n, renderbuffers); } void glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { getDispatch()->glRenderbufferStorageOES(target, internalformat, width, height); } void glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params) { getDispatch()->glGetRenderbufferParameterivOES(target, pname, params); } GLboolean glIsFramebufferOES(GLuint framebuffer) { return getDispatch()->glIsFramebufferOES(framebuffer); } void glBindFramebufferOES(GLenum target, GLuint framebuffer) { getDispatch()->glBindFramebufferOES(target, framebuffer); } void glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers) { getDispatch()->glDeleteFramebuffersOES(n, framebuffers); } void glGenFramebuffersOES(GLsizei n, GLuint *framebuffers) { getDispatch()->glGenFramebuffersOES(n, framebuffers); } GLenum glCheckFramebufferStatusOES(GLenum target) { return getDispatch()->glCheckFramebufferStatusOES(target); } void glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { getDispatch()->glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer); } void glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { getDispatch()->glFramebufferTexture2DOES(target, attachment, textarget, texture, level); } void glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params) { getDispatch()->glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params); } void glGenerateMipmapOES(GLenum target) { getDispatch()->glGenerateMipmapOES(target); } void* glMapBufferOES(GLenum target, GLenum access) { return getDispatch()->glMapBufferOES(target, access); } GLboolean glUnmapBufferOES(GLenum target) { return getDispatch()->glUnmapBufferOES(target); } void glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **ptr) { getDispatch()->glGetBufferPointervOES(target, pname, ptr); } void glCurrentPaletteMatrixOES(GLuint matrixpaletteindex) { getDispatch()->glCurrentPaletteMatrixOES(matrixpaletteindex); } void glLoadPaletteFromModelViewMatrixOES() { getDispatch()->glLoadPaletteFromModelViewMatrixOES(); } void glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glMatrixIndexPointerOES(size, type, stride, pointer); } void glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { getDispatch()->glWeightPointerOES(size, type, stride, pointer); } GLbitfield glQueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]) { return getDispatch()->glQueryMatrixxOES(mantissa, exponent); } void glDepthRangefOES(GLclampf zNear, GLclampf zFar) { getDispatch()->glDepthRangefOES(zNear, zFar); } void glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { getDispatch()->glFrustumfOES(left, right, bottom, top, zNear, zFar); } void glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) { getDispatch()->glOrthofOES(left, right, bottom, top, zNear, zFar); } void glClipPlanefOES(GLenum plane, const GLfloat *equation) { getDispatch()->glClipPlanefOES(plane, equation); } void glGetClipPlanefOES(GLenum pname, GLfloat eqn[4]) { getDispatch()->glGetClipPlanefOES(pname, eqn); } void glClearDepthfOES(GLclampf depth) { getDispatch()->glClearDepthfOES(depth); } void glTexGenfOES(GLenum coord, GLenum pname, GLfloat param) { getDispatch()->glTexGenfOES(coord, pname, param); } void glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params) { getDispatch()->glTexGenfvOES(coord, pname, params); } void glTexGeniOES(GLenum coord, GLenum pname, GLint param) { getDispatch()->glTexGeniOES(coord, pname, param); } void glTexGenivOES(GLenum coord, GLenum pname, const GLint *params) { getDispatch()->glTexGenivOES(coord, pname, params); } void glTexGenxOES(GLenum coord, GLenum pname, GLfixed param) { getDispatch()->glTexGenxOES(coord, pname, param); } void glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) { getDispatch()->glTexGenxvOES(coord, pname, params); } void glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params) { getDispatch()->glGetTexGenfvOES(coord, pname, params); } void glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params) { getDispatch()->glGetTexGenivOES(coord, pname, params); } void glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) { getDispatch()->glGetTexGenxvOES(coord, pname, params); } void glBindVertexArrayOES(GLuint array) { getDispatch()->glBindVertexArrayOES(array); } void glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays) { getDispatch()->glDeleteVertexArraysOES(n, arrays); } void glGenVertexArraysOES(GLsizei n, GLuint *arrays) { getDispatch()->glGenVertexArraysOES(n, arrays); } GLboolean glIsVertexArrayOES(GLuint array) { return getDispatch()->glIsVertexArrayOES(array); } void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments) { getDispatch()->glDiscardFramebufferEXT(target, numAttachments, attachments); } void glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) { getDispatch()->glMultiDrawArraysEXT(mode, first, count, primcount); } void glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) { getDispatch()->glMultiDrawElementsEXT(mode, count, type, indices, primcount); } void glClipPlanefIMG(GLenum p, const GLfloat *eqn) { getDispatch()->glClipPlanefIMG(p, eqn); } void glClipPlanexIMG(GLenum p, const GLfixed *eqn) { getDispatch()->glClipPlanexIMG(p, eqn); } void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { getDispatch()->glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height); } void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) { getDispatch()->glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples); } void glDeleteFencesNV(GLsizei n, const GLuint *fences) { getDispatch()->glDeleteFencesNV(n, fences); } void glGenFencesNV(GLsizei n, GLuint *fences) { getDispatch()->glGenFencesNV(n, fences); } GLboolean glIsFenceNV(GLuint fence) { return getDispatch()->glIsFenceNV(fence); } GLboolean glTestFenceNV(GLuint fence) { return getDispatch()->glTestFenceNV(fence); } void glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) { getDispatch()->glGetFenceivNV(fence, pname, params); } void glFinishFenceNV(GLuint fence) { getDispatch()->glFinishFenceNV(fence); } void glSetFenceNV(GLuint fence, GLenum condition) { getDispatch()->glSetFenceNV(fence, condition); } void glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls) { getDispatch()->glGetDriverControlsQCOM(num, size, driverControls); } void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString) { getDispatch()->glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString); } void glEnableDriverControlQCOM(GLuint driverControl) { getDispatch()->glEnableDriverControlQCOM(driverControl); } void glDisableDriverControlQCOM(GLuint driverControl) { getDispatch()->glDisableDriverControlQCOM(driverControl); } void glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures) { getDispatch()->glExtGetTexturesQCOM(textures, maxTextures, numTextures); } void glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers) { getDispatch()->glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers); } void glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers) { getDispatch()->glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers); } void glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers) { getDispatch()->glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers); } void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params) { getDispatch()->glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params); } void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param) { getDispatch()->glExtTexObjectStateOverrideiQCOM(target, pname, param); } void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels) { getDispatch()->glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels); } void glExtGetBufferPointervQCOM(GLenum target, GLvoid **params) { getDispatch()->glExtGetBufferPointervQCOM(target, params); } void glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders) { getDispatch()->glExtGetShadersQCOM(shaders, maxShaders, numShaders); } void glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms) { getDispatch()->glExtGetProgramsQCOM(programs, maxPrograms, numPrograms); } GLboolean glExtIsProgramBinaryQCOM(GLuint program) { return getDispatch()->glExtIsProgramBinaryQCOM(program); } void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length) { getDispatch()->glExtGetProgramBinarySourceQCOM(program, shadertype, source, length); } void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) { getDispatch()->glStartTilingQCOM(x, y, width, height, preserveMask); } void glEndTilingQCOM(GLbitfield preserveMask) { getDispatch()->glEndTilingQCOM(preserveMask); }