diff options
author | Mathias Agopian <mathias@google.com> | 2009-04-22 18:24:18 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2009-04-23 13:45:48 -0700 |
commit | e29254e708bb94d0f785a00926164a0dbb0dad93 (patch) | |
tree | 65c92fe2698810d6d88877230d3c2e25f4f53e61 /opengl/libs | |
parent | 644cf62660c87a9b8d5bcb22412cc2ad2aeea291 (diff) | |
download | frameworks_base-e29254e708bb94d0f785a00926164a0dbb0dad93.zip frameworks_base-e29254e708bb94d0f785a00926164a0dbb0dad93.tar.gz frameworks_base-e29254e708bb94d0f785a00926164a0dbb0dad93.tar.bz2 |
integrate some OpenGL ES changes back from master_gl in preparation of opening GLES to the NDK.
Diffstat (limited to 'opengl/libs')
-rw-r--r-- | opengl/libs/Android.mk | 1 | ||||
-rw-r--r-- | opengl/libs/EGL/egl.cpp | 138 | ||||
-rw-r--r-- | opengl/libs/GLES_CM/gl.cpp | 26 | ||||
-rw-r--r-- | opengl/libs/GLES_CM/gl_api.in | 834 | ||||
-rw-r--r-- | opengl/libs/GLES_CM/gl_logger.cpp | 1060 | ||||
-rw-r--r-- | opengl/libs/egl_entries.in | 7 | ||||
-rw-r--r-- | opengl/libs/gl_entries.in | 95 | ||||
-rw-r--r-- | opengl/libs/hooks.h | 10 | ||||
-rwxr-xr-x | opengl/libs/tools/glapigen | 65 |
9 files changed, 745 insertions, 1491 deletions
diff --git a/opengl/libs/Android.mk b/opengl/libs/Android.mk index 2ecc776..d636d73 100644 --- a/opengl/libs/Android.mk +++ b/opengl/libs/Android.mk @@ -35,7 +35,6 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ GLES_CM/gl.cpp.arm \ - GLES_CM/gl_logger.cpp \ # LOCAL_SHARED_LIBRARIES += libcutils libutils libui libEGL diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp index 0b4bcce..56d5549 100644 --- a/opengl/libs/EGL/egl.cpp +++ b/opengl/libs/EGL/egl.cpp @@ -14,7 +14,7 @@ ** limitations under the License. */ -#define LOG_TAG "GLLogger" +#define LOG_TAG "libEGL" #include <ctype.h> #include <string.h> @@ -69,9 +69,9 @@ private: struct egl_display_t : public egl_object_t<'_dpy'> { - EGLDisplay dpys[2]; - EGLConfig* configs[2]; - EGLint numConfigs[2]; + EGLDisplay dpys[IMPL_NUM_DRIVERS_IMPLEMENTATIONS]; + EGLConfig* configs[IMPL_NUM_DRIVERS_IMPLEMENTATIONS]; + EGLint numConfigs[IMPL_NUM_DRIVERS_IMPLEMENTATIONS]; EGLint numTotalConfigs; char const* extensionsString; volatile int32_t refs; @@ -81,7 +81,7 @@ struct egl_display_t : public egl_object_t<'_dpy'> char const * clientApi; char const * extensions; }; - strings_t queryString[2]; + strings_t queryString[IMPL_NUM_DRIVERS_IMPLEMENTATIONS]; }; struct egl_surface_t : public egl_object_t<'_srf'> @@ -156,7 +156,7 @@ static char const * const egl_names[] = { // ---------------------------------------------------------------------------- -egl_connection_t gEGLImpl[2]; +egl_connection_t gEGLImpl[IMPL_NUM_DRIVERS_IMPLEMENTATIONS]; static egl_display_t gDisplay[NUM_DISPLAYS]; static pthread_mutex_t gThreadLocalStorageKeyMutex = PTHREAD_MUTEX_INITIALIZER; static pthread_key_t gEGLThreadLocalStorageKey = -1; @@ -278,29 +278,56 @@ void *load_driver(const char* driver, gl_hooks_t* hooks) driver, dlerror()); if (dso) { - void** curr; + // first find the symbol for eglGetProcAddress + + typedef __eglMustCastToProperFunctionPointerType (*getProcAddressType)( + const char*); + + getProcAddressType getProcAddress = + (getProcAddressType)dlsym(dso, "eglGetProcAddress"); + + LOGE_IF(!getProcAddress, + "can't find eglGetProcAddress() in %s", driver); + + __eglMustCastToProperFunctionPointerType* curr; char const * const * api; - gl_hooks_t::gl_t* gl = &hooks->gl; - curr = (void**)gl; - api = gl_names; + + gl_hooks_t::egl_t* egl = &hooks->egl; + curr = (__eglMustCastToProperFunctionPointerType*)egl; + api = egl_names; while (*api) { - void* f = dlsym(dso, *api); - //LOGD("<%s> @ 0x%p", *api, f); + char const * name = *api; + __eglMustCastToProperFunctionPointerType f = + (__eglMustCastToProperFunctionPointerType)dlsym(dso, name); if (f == NULL) { - //LOGW("<%s> not found in %s", *api, driver); - f = (void*)gl_unimplemented; + // couldn't find the entry-point, use eglGetProcAddress() + f = getProcAddress(name); + if (f == NULL) { + f = (__eglMustCastToProperFunctionPointerType)0; + } } *curr++ = f; api++; } - gl_hooks_t::egl_t* egl = &hooks->egl; - curr = (void**)egl; - api = egl_names; + + gl_hooks_t::gl_t* gl = &hooks->gl; + curr = (__eglMustCastToProperFunctionPointerType*)gl; + api = gl_names; while (*api) { - void* f = dlsym(dso, *api); + char const * name = *api; + // if the function starts with '__' it's a special case that + // uses a wrapper. skip the '__' when looking into the real lib. + if (name[0] == '_' && name[1] == '_') { + name += 2; + } + __eglMustCastToProperFunctionPointerType f = + (__eglMustCastToProperFunctionPointerType)dlsym(dso, name); if (f == NULL) { - //LOGW("<%s> not found in %s", *api, driver); - f = (void*)0; + // couldn't find the entry-point, use eglGetProcAddress() + f = getProcAddress(name); + if (f == NULL) { + f = (__eglMustCastToProperFunctionPointerType)gl_unimplemented; + } } *curr++ = f; api++; @@ -429,18 +456,19 @@ egl_display_t* get_display(EGLDisplay dpy) return (index >= NUM_DISPLAYS) ? NULL : &gDisplay[index]; } +template<typename NATIVE, typename EGL> +static inline NATIVE* egl_to_native_cast(EGL arg) { + return reinterpret_cast<NATIVE*>(arg); +} + static inline -egl_surface_t* get_surface(EGLSurface surface) -{ - egl_surface_t* s = (egl_surface_t *)surface; - return s; +egl_surface_t* get_surface(EGLSurface surface) { + return egl_to_native_cast<egl_surface_t>(surface); } static inline -egl_context_t* get_context(EGLContext context) -{ - egl_context_t* c = (egl_context_t *)context; - return c; +egl_context_t* get_context(EGLContext context) { + return egl_to_native_cast<egl_context_t>(context); } static egl_connection_t* validate_display_config( @@ -451,7 +479,7 @@ static egl_connection_t* validate_display_config( if (!dp) return setError(EGL_BAD_DISPLAY, (egl_connection_t*)NULL); impl = uintptr_t(config)>>24; - if (uint32_t(impl) >= 2) { + if (uint32_t(impl) >= IMPL_NUM_DRIVERS_IMPLEMENTATIONS) { return setError(EGL_BAD_CONFIG, (egl_connection_t*)NULL); } index = uintptr_t(config) & 0xFFFFFF; @@ -491,13 +519,8 @@ static EGLBoolean validate_display_surface(EGLDisplay dpy, EGLSurface surface) return EGL_TRUE; } -// ---------------------------------------------------------------------------- -}; // namespace android -// ---------------------------------------------------------------------------- -using namespace android; - -EGLDisplay eglGetDisplay(NativeDisplayType display) +EGLDisplay egl_init_displays(NativeDisplayType display) { if (sEarlyInitState) { return EGL_NO_DISPLAY; @@ -510,7 +533,7 @@ EGLDisplay eglGetDisplay(NativeDisplayType display) EGLDisplay dpy = EGLDisplay(uintptr_t(display) + 1LU); egl_display_t* d = &gDisplay[index]; - + // dynamically load all our EGL implementations for that display // and call into the real eglGetGisplay() egl_connection_t* cnx = &gEGLImpl[IMPL_SOFTWARE]; @@ -573,6 +596,18 @@ EGLDisplay eglGetDisplay(NativeDisplayType display) return dpy; } + +// ---------------------------------------------------------------------------- +}; // namespace android +// ---------------------------------------------------------------------------- + +using namespace android; + +EGLDisplay eglGetDisplay(NativeDisplayType display) +{ + return egl_init_displays(display); +} + // ---------------------------------------------------------------------------- // Initialization // ---------------------------------------------------------------------------- @@ -594,7 +629,7 @@ EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor) // build our own extension string first, based on the extension we know // and the extension supported by our client implementation dp->extensionsString = strdup(gExtensionString); - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; cnx->major = -1; cnx->minor = -1; @@ -624,7 +659,7 @@ EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor) } EGLBoolean res = EGL_FALSE; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso && cnx->major>=0 && cnx->minor>=0) { EGLint n; @@ -663,7 +698,7 @@ EGLBoolean eglTerminate(EGLDisplay dpy) return EGL_TRUE; EGLBoolean res = EGL_FALSE; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { cnx->hooks->egl.eglTerminate(dp->dpys[i]); @@ -706,7 +741,7 @@ EGLBoolean eglGetConfigs( EGLDisplay dpy, return EGL_TRUE; } GLint n = 0; - for (int j=0 ; j<2 ; j++) { + for (int j=0 ; j<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; j++) { for (int i=0 ; i<dp->numConfigs[j] && config_size ; i++) { *configs++ = MAKE_CONFIG(j, i); config_size--; @@ -794,7 +829,7 @@ EGLBoolean eglChooseConfig( EGLDisplay dpy, const EGLint *attrib_list, return res; } - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglChooseConfig( @@ -1107,7 +1142,7 @@ EGLBoolean eglWaitNative(EGLint engine) EGLint eglGetError(void) { EGLint result = EGL_SUCCESS; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { EGLint err = EGL_SUCCESS; egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) @@ -1120,8 +1155,15 @@ EGLint eglGetError(void) return result; } -void (*eglGetProcAddress(const char *procname))() +__eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) { + // eglGetProcAddress() could be the very first function called + // in which case we must make sure we've initialized ourselves, this + // happens the first time egl_get_display() is called. + + if (egl_init_displays(EGL_DEFAULT_DISPLAY) == EGL_NO_DISPLAY) + return NULL; + __eglMustCastToProperFunctionPointerType addr; addr = findProcAddress(procname, gExtentionMap, NELEM(gExtentionMap)); if (addr) return addr; @@ -1133,7 +1175,7 @@ void (*eglGetProcAddress(const char *procname))() addr = 0; int slot = -1; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglGetProcAddress) { @@ -1266,7 +1308,7 @@ EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval) if (!dp) return setError(EGL_BAD_DISPLAY, EGL_FALSE); EGLBoolean res = EGL_TRUE; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglSwapInterval) { @@ -1309,7 +1351,7 @@ EGLBoolean eglBindAPI(EGLenum api) { // bind this API on all EGLs EGLBoolean res = EGL_TRUE; - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglBindAPI) { @@ -1324,7 +1366,7 @@ EGLBoolean eglBindAPI(EGLenum api) EGLenum eglQueryAPI(void) { - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglQueryAPI) { @@ -1340,7 +1382,7 @@ EGLenum eglQueryAPI(void) EGLBoolean eglReleaseThread(void) { - for (int i=0 ; i<2 ; i++) { + for (int i=0 ; i<IMPL_NUM_DRIVERS_IMPLEMENTATIONS ; i++) { egl_connection_t* const cnx = &gEGLImpl[i]; if (cnx->dso) { if (cnx->hooks->egl.eglReleaseThread) { diff --git a/opengl/libs/GLES_CM/gl.cpp b/opengl/libs/GLES_CM/gl.cpp index 865cf44..12c3a07 100644 --- a/opengl/libs/GLES_CM/gl.cpp +++ b/opengl/libs/GLES_CM/gl.cpp @@ -29,6 +29,7 @@ #include <cutils/properties.h> #include "hooks.h" +#include "egl_impl.h" using namespace android; @@ -57,13 +58,6 @@ void glVertexPointerBounds(GLint size, GLenum type, // Actual GL entry-points // ---------------------------------------------------------------------------- -#if GL_LOGGER -# include "gl_logger.h" -# define GL_LOGGER_IMPL(_x) _x -#else -# define GL_LOGGER_IMPL(_x) -#endif - #undef API_ENTRY #undef CALL_GL_API #undef CALL_GL_API_RETURN @@ -96,16 +90,15 @@ void glVertexPointerBounds(GLint size, GLenum type, #define CALL_GL_API(_api, ...) \ gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \ - GL_LOGGER_IMPL( log_##_api(__VA_ARGS__); ) \ _c->_api(__VA_ARGS__) #define CALL_GL_API_RETURN(_api, ...) \ gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \ - GL_LOGGER_IMPL( log_##_api(__VA_ARGS__); ) \ return _c->_api(__VA_ARGS__) #endif + extern "C" { #include "gl_api.in" } @@ -114,3 +107,18 @@ extern "C" { #undef CALL_GL_API #undef CALL_GL_API_RETURN + +/* + * These GL calls are special because they need to EGL to retrieve some + * informations before they can execute. + */ + + +void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) +{ +} + +void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) +{ +} + diff --git a/opengl/libs/GLES_CM/gl_api.in b/opengl/libs/GLES_CM/gl_api.in index 9234ef2..f36b8c0 100644 --- a/opengl/libs/GLES_CM/gl_api.in +++ b/opengl/libs/GLES_CM/gl_api.in @@ -1,606 +1,760 @@ -void API_ENTRY(glActiveTexture)(GLenum texture) { - CALL_GL_API(glActiveTexture, texture); +void API_ENTRY(glColor4f)(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + CALL_GL_API(glColor4f, arg0, arg1, arg2, arg3); } -void API_ENTRY(glAlphaFunc)(GLenum func, GLclampf ref) { - CALL_GL_API(glAlphaFunc, func, ref); +void API_ENTRY(glColor4x)(GLfixed arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3) { + CALL_GL_API(glColor4x, arg0, arg1, arg2, arg3); } -void API_ENTRY(glAlphaFuncx)(GLenum func, GLclampx ref) { - CALL_GL_API(glAlphaFuncx, func, ref); +void API_ENTRY(glNormal3f)(GLfloat arg0, GLfloat arg1, GLfloat arg2) { + CALL_GL_API(glNormal3f, arg0, arg1, arg2); } -void API_ENTRY(glBindTexture)(GLenum target, GLuint texture) { - CALL_GL_API(glBindTexture, target, texture); +void API_ENTRY(glNormal3x)(GLfixed arg0, GLfixed arg1, GLfixed arg2) { + CALL_GL_API(glNormal3x, arg0, arg1, arg2); } -void API_ENTRY(glBlendFunc)(GLenum sfactor, GLenum dfactor) { - CALL_GL_API(glBlendFunc, sfactor, dfactor); +void API_ENTRY(glCullFace)(GLenum arg0) { + CALL_GL_API(glCullFace, arg0); } -void API_ENTRY(glClear)(GLbitfield mask) { - CALL_GL_API(glClear, mask); +void API_ENTRY(glFrontFace)(GLenum arg0) { + CALL_GL_API(glFrontFace, arg0); } -void API_ENTRY(glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { - CALL_GL_API(glClearColor, red, green, blue, alpha); +void API_ENTRY(glDisable)(GLenum arg0) { + CALL_GL_API(glDisable, arg0); } -void API_ENTRY(glClearColorx)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) { - CALL_GL_API(glClearColorx, red, green, blue, alpha); +void API_ENTRY(glEnable)(GLenum arg0) { + CALL_GL_API(glEnable, arg0); } -void API_ENTRY(glClearDepthf)(GLclampf depth) { - CALL_GL_API(glClearDepthf, depth); +void API_ENTRY(glFinish)(void) { + CALL_GL_API(glFinish); } -void API_ENTRY(glClearDepthx)(GLclampx depth) { - CALL_GL_API(glClearDepthx, depth); +void API_ENTRY(glFlush)(void) { + CALL_GL_API(glFlush); } -void API_ENTRY(glClearStencil)(GLint s) { - CALL_GL_API(glClearStencil, s); +GLenum API_ENTRY(glGetError)(void) { + CALL_GL_API_RETURN(glGetError); } -void API_ENTRY(glClientActiveTexture)(GLenum texture) { - CALL_GL_API(glClientActiveTexture, texture); +const GLubyte* API_ENTRY(glGetString)(GLenum arg0) { + CALL_GL_API_RETURN(glGetString, arg0); } -void API_ENTRY(glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - CALL_GL_API(glColor4f, red, green, blue, alpha); +void API_ENTRY(glGetIntegerv)(GLenum arg0, GLint * arg1) { + CALL_GL_API(glGetIntegerv, arg0, arg1); } -void API_ENTRY(glColor4x)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) { - CALL_GL_API(glColor4x, red, green, blue, alpha); +void API_ENTRY(glColorMask)(GLboolean arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3) { + CALL_GL_API(glColorMask, arg0, arg1, arg2, arg3); } -void API_ENTRY(glColorMask)(GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - CALL_GL_API(glColorMask, r, g, b, a); +void API_ENTRY(glDepthMask)(GLboolean arg0) { + CALL_GL_API(glDepthMask, arg0); } -void API_ENTRY(glColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) -{ - CALL_GL_API(glColorPointer, size, type, stride, ptr); +void API_ENTRY(glStencilMask)(GLuint arg0) { + CALL_GL_API(glStencilMask, arg0); } -void API_ENTRY(glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, - GLsizei width, GLsizei height, GLint border, - GLsizei imageSize, const GLvoid *data) { - CALL_GL_API(glCompressedTexImage2D, target, level, internalformat, - width, height, border, imageSize, data); +void API_ENTRY(glDepthFunc)(GLenum arg0) { + CALL_GL_API(glDepthFunc, arg0); } -void API_ENTRY(glCompressedTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLsizei imageSize, - const GLvoid *data) { - CALL_GL_API(glCompressedTexSubImage2D, target, level, xoffset, yoffset, - width, height, format, imageSize, data); +void API_ENTRY(glDepthRangef)(GLclampf arg0, GLclampf arg1) { + CALL_GL_API(glDepthRangef, arg0, arg1); } -void API_ENTRY(glCopyTexImage2D)( GLenum target, GLint level, GLenum internalformat, - GLint x, GLint y, GLsizei width, GLsizei height, - GLint border) { - CALL_GL_API(glCopyTexImage2D, target, level, internalformat, x, y, - width, height, border); +void API_ENTRY(glDepthRangex)(GLclampx arg0, GLclampx arg1) { + CALL_GL_API(glDepthRangex, arg0, arg1); } -void API_ENTRY(glCopyTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLint x, GLint y, GLsizei width, - GLsizei height) { - CALL_GL_API(glCopyTexSubImage2D, target, level, xoffset, yoffset, x, y, - width, height); +void API_ENTRY(glPolygonOffset)(GLfloat arg0, GLfloat arg1) { + CALL_GL_API(glPolygonOffset, arg0, arg1); } -void API_ENTRY(glCullFace)(GLenum mode) { - CALL_GL_API(glCullFace, mode); +void API_ENTRY(glPolygonOffsetx)(GLfixed arg0, GLfixed arg1) { + CALL_GL_API(glPolygonOffsetx, arg0, arg1); } -void API_ENTRY(glDeleteTextures)(GLsizei n, const GLuint *textures) { - CALL_GL_API(glDeleteTextures, n, textures); +void API_ENTRY(glLogicOp)(GLenum arg0) { + CALL_GL_API(glLogicOp, arg0); } -void API_ENTRY(glDepthFunc)(GLenum func) { - CALL_GL_API(glDepthFunc, func); +void API_ENTRY(glAlphaFuncx)(GLenum arg0, GLclampx arg1) { + CALL_GL_API(glAlphaFuncx, arg0, arg1); } -void API_ENTRY(glDepthMask)(GLboolean flag) { - CALL_GL_API(glDepthMask, flag); +void API_ENTRY(glAlphaFunc)(GLenum arg0, GLclampf arg1) { + CALL_GL_API(glAlphaFunc, arg0, arg1); } -void API_ENTRY(glDepthRangef)(GLclampf zNear, GLclampf zFar) { - CALL_GL_API(glDepthRangef, zNear, zFar); +void API_ENTRY(glBlendFunc)(GLenum arg0, GLenum arg1) { + CALL_GL_API(glBlendFunc, arg0, arg1); } -void API_ENTRY(glDepthRangex)(GLclampx zNear, GLclampx zFar) { - CALL_GL_API(glDepthRangex, zNear, zFar); +void API_ENTRY(glClear)(GLbitfield arg0) { + CALL_GL_API(glClear, arg0); } -void API_ENTRY(glDisable)(GLenum cap) { - CALL_GL_API(glDisable, cap); +void API_ENTRY(glClearColor)(GLclampf arg0, GLclampf arg1, GLclampf arg2, GLclampf arg3) { + CALL_GL_API(glClearColor, arg0, arg1, arg2, arg3); } -void API_ENTRY(glDisableClientState)(GLenum array) { - CALL_GL_API(glDisableClientState, array); +void API_ENTRY(glClearColorx)(GLclampx arg0, GLclampx arg1, GLclampx arg2, GLclampx arg3) { + CALL_GL_API(glClearColorx, arg0, arg1, arg2, arg3); } -void API_ENTRY(glDrawArrays)(GLenum mode, GLint first, GLsizei count) { - CALL_GL_API(glDrawArrays, mode, first, count); +void API_ENTRY(glClearDepthf)(GLclampf arg0) { + CALL_GL_API(glClearDepthf, arg0); } -void API_ENTRY(glDrawElements)(GLenum mode, GLsizei count, - GLenum type, const GLvoid *indices) { - CALL_GL_API(glDrawElements, mode, count, type, indices); +void API_ENTRY(glClearDepthx)(GLclampx arg0) { + CALL_GL_API(glClearDepthx, arg0); } -void API_ENTRY(glEnable)(GLenum cap) { - CALL_GL_API(glEnable, cap); +void API_ENTRY(glClearStencil)(GLint arg0) { + CALL_GL_API(glClearStencil, arg0); } -void API_ENTRY(glEnableClientState)(GLenum array) { - CALL_GL_API(glEnableClientState, array); +void API_ENTRY(glPointSize)(GLfloat arg0) { + CALL_GL_API(glPointSize, arg0); } -void API_ENTRY(glFinish)(void) { - CALL_GL_API(glFinish); +void API_ENTRY(glPointSizex)(GLfixed arg0) { + CALL_GL_API(glPointSizex, arg0); } -void API_ENTRY(glFlush)(void) { - CALL_GL_API(glFlush); +void API_ENTRY(glSampleCoverage)(GLclampf arg0, GLboolean arg1) { + CALL_GL_API(glSampleCoverage, arg0, arg1); } -void API_ENTRY(glFogf)(GLenum pname, GLfloat param) { - CALL_GL_API(glFogf, pname, param); +void API_ENTRY(glSampleCoveragex)(GLclampx arg0, GLboolean arg1) { + CALL_GL_API(glSampleCoveragex, arg0, arg1); } -void API_ENTRY(glFogfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glFogfv, pname, params); +void API_ENTRY(glStencilFunc)(GLenum arg0, GLint arg1, GLuint arg2) { + CALL_GL_API(glStencilFunc, arg0, arg1, arg2); } -void API_ENTRY(glFogx)(GLenum pname, GLfixed param) { - CALL_GL_API(glFogx, pname, param); +void API_ENTRY(glStencilOp)(GLenum arg0, GLenum arg1, GLenum arg2) { + CALL_GL_API(glStencilOp, arg0, arg1, arg2); } -void API_ENTRY(glFogxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glFogxv, pname, params); +void API_ENTRY(glScissor)(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + CALL_GL_API(glScissor, arg0, arg1, arg2, arg3); } -void API_ENTRY(glFrontFace)(GLenum mode) { - CALL_GL_API(glFrontFace, mode); +void API_ENTRY(glHint)(GLenum arg0, GLenum arg1) { + CALL_GL_API(glHint, arg0, arg1); } -void API_ENTRY(glFrustumf)(GLfloat left, GLfloat right, - GLfloat bottom, GLfloat top, - GLfloat zNear, GLfloat zFar) { - CALL_GL_API(glFrustumf, left, right, bottom, top, zNear, zFar); +void API_ENTRY(glLineWidth)(GLfloat arg0) { + CALL_GL_API(glLineWidth, arg0); } -void API_ENTRY(glFrustumx)(GLfixed left, GLfixed right, - GLfixed bottom, GLfixed top, - GLfixed zNear, GLfixed zFar) { - CALL_GL_API(glFrustumx, left, right, bottom, top, zNear, zFar); +void API_ENTRY(glLineWidthx)(GLfixed arg0) { + CALL_GL_API(glLineWidthx, arg0); } -void API_ENTRY(glGenTextures)(GLsizei n, GLuint *textures) { - CALL_GL_API(glGenTextures, n, textures); +void API_ENTRY(glShadeModel)(GLenum arg0) { + CALL_GL_API(glShadeModel, arg0); } -GLenum API_ENTRY(glGetError)(void) { - CALL_GL_API_RETURN(glGetError); +void API_ENTRY(glLightModelf)(GLenum arg0, GLfloat arg1) { + CALL_GL_API(glLightModelf, arg0, arg1); +} + +void API_ENTRY(glLightModelfv)(GLenum arg0, const GLfloat * arg1) { + CALL_GL_API(glLightModelfv, arg0, arg1); +} + +void API_ENTRY(glLightModelx)(GLenum arg0, GLfixed arg1) { + CALL_GL_API(glLightModelx, arg0, arg1); +} + +void API_ENTRY(glLightModelxv)(GLenum arg0, const GLfixed * arg1) { + CALL_GL_API(glLightModelxv, arg0, arg1); +} + +void API_ENTRY(glLightf)(GLenum arg0, GLenum arg1, GLfloat arg2) { + CALL_GL_API(glLightf, arg0, arg1, arg2); +} + +void API_ENTRY(glLightfv)(GLenum arg0, GLenum arg1, const GLfloat * arg2) { + CALL_GL_API(glLightfv, arg0, arg1, arg2); +} + +void API_ENTRY(glLightx)(GLenum arg0, GLenum arg1, GLfixed arg2) { + CALL_GL_API(glLightx, arg0, arg1, arg2); +} + +void API_ENTRY(glLightxv)(GLenum arg0, GLenum arg1, const GLfixed * arg2) { + CALL_GL_API(glLightxv, arg0, arg1, arg2); +} + +void API_ENTRY(glMaterialf)(GLenum arg0, GLenum arg1, GLfloat arg2) { + CALL_GL_API(glMaterialf, arg0, arg1, arg2); +} + +void API_ENTRY(glMaterialfv)(GLenum arg0, GLenum arg1, const GLfloat * arg2) { + CALL_GL_API(glMaterialfv, arg0, arg1, arg2); +} + +void API_ENTRY(glMaterialx)(GLenum arg0, GLenum arg1, GLfixed arg2) { + CALL_GL_API(glMaterialx, arg0, arg1, arg2); +} + +void API_ENTRY(glMaterialxv)(GLenum arg0, GLenum arg1, const GLfixed * arg2) { + CALL_GL_API(glMaterialxv, arg0, arg1, arg2); } -void API_ENTRY(glGetIntegerv)(GLenum pname, GLint *params) { - CALL_GL_API(glGetIntegerv, pname, params); +void API_ENTRY(glFogf)(GLenum arg0, GLfloat arg1) { + CALL_GL_API(glFogf, arg0, arg1); } -const GLubyte * API_ENTRY(glGetString)(GLenum name) { - CALL_GL_API_RETURN(glGetString, name); +void API_ENTRY(glFogfv)(GLenum arg0, const GLfloat * arg1) { + CALL_GL_API(glFogfv, arg0, arg1); } -void API_ENTRY(glHint)(GLenum target, GLenum mode) { - CALL_GL_API(glHint, target, mode); +void API_ENTRY(glFogx)(GLenum arg0, GLfixed arg1) { + CALL_GL_API(glFogx, arg0, arg1); } -void API_ENTRY(glLightModelf)(GLenum pname, GLfloat param) { - CALL_GL_API(glLightModelf, pname, param); +void API_ENTRY(glFogxv)(GLenum arg0, const GLfixed * arg1) { + CALL_GL_API(glFogxv, arg0, arg1); } -void API_ENTRY(glLightModelfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glLightModelfv, pname, params); +void API_ENTRY(glVertexPointer)(GLint arg0, GLenum arg1, GLsizei arg2, const GLvoid * arg3) { + CALL_GL_API(glVertexPointer, arg0, arg1, arg2, arg3); } -void API_ENTRY(glLightModelx)(GLenum pname, GLfixed param) { - CALL_GL_API(glLightModelx, pname, param); +void API_ENTRY(glColorPointer)(GLint arg0, GLenum arg1, GLsizei arg2, const GLvoid * arg3) { + CALL_GL_API(glColorPointer, arg0, arg1, arg2, arg3); } -void API_ENTRY(glLightModelxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glLightModelxv, pname, params); +void API_ENTRY(glNormalPointer)(GLenum arg0, GLsizei arg1, const GLvoid * arg2) { + CALL_GL_API(glNormalPointer, arg0, arg1, arg2); } -void API_ENTRY(glLightf)(GLenum light, GLenum pname, GLfloat param) { - CALL_GL_API(glLightf, light, pname, param); +void API_ENTRY(glTexCoordPointer)(GLint arg0, GLenum arg1, GLsizei arg2, const GLvoid * arg3) { + CALL_GL_API(glTexCoordPointer, arg0, arg1, arg2, arg3); } -void API_ENTRY(glLightfv)(GLenum light, GLenum pname, const GLfloat *params) { - CALL_GL_API(glLightfv, light, pname, params); +void API_ENTRY(glEnableClientState)(GLenum arg0) { + CALL_GL_API(glEnableClientState, arg0); } -void API_ENTRY(glLightx)(GLenum light, GLenum pname, GLfixed param) { - CALL_GL_API(glLightx, light, pname, param); +void API_ENTRY(glDisableClientState)(GLenum arg0) { + CALL_GL_API(glDisableClientState, arg0); } -void API_ENTRY(glLightxv)(GLenum light, GLenum pname, const GLfixed *params) { - CALL_GL_API(glLightxv, light, pname, params); +void API_ENTRY(glClientActiveTexture)(GLenum arg0) { + CALL_GL_API(glClientActiveTexture, arg0); } -void API_ENTRY(glLineWidth)(GLfloat width) { - CALL_GL_API(glLineWidth, width); +void API_ENTRY(glDrawArrays)(GLenum arg0, GLint arg1, GLsizei arg2) { + CALL_GL_API(glDrawArrays, arg0, arg1, arg2); } -void API_ENTRY(glLineWidthx)(GLfixed width) { - CALL_GL_API(glLineWidthx, width); +void API_ENTRY(glDrawElements)(GLenum arg0, GLsizei arg1, GLenum arg2, const GLvoid * arg3) { + CALL_GL_API(glDrawElements, arg0, arg1, arg2, arg3); } void API_ENTRY(glLoadIdentity)(void) { CALL_GL_API(glLoadIdentity); } -void API_ENTRY(glLoadMatrixf)(const GLfloat *m) { - CALL_GL_API(glLoadMatrixf, m); +void API_ENTRY(glLoadMatrixf)(const GLfloat* arg0) { + CALL_GL_API(glLoadMatrixf, arg0); } -void API_ENTRY(glLoadMatrixx)(const GLfixed *m) { - CALL_GL_API(glLoadMatrixx, m); +void API_ENTRY(glLoadMatrixx)(const GLfixed* arg0) { + CALL_GL_API(glLoadMatrixx, arg0); } -void API_ENTRY(glLogicOp)(GLenum opcode) { - CALL_GL_API(glLogicOp, opcode); +void API_ENTRY(glMatrixMode)(GLenum arg0) { + CALL_GL_API(glMatrixMode, arg0); } -void API_ENTRY(glMaterialf)(GLenum face, GLenum pname, GLfloat param) { - CALL_GL_API(glMaterialf, face, pname, param); +void API_ENTRY(glMultMatrixf)(const GLfloat* arg0) { + CALL_GL_API(glMultMatrixf, arg0); } -void API_ENTRY(glMaterialfv)(GLenum face, GLenum pname, const GLfloat *params) { - CALL_GL_API(glMaterialfv, face, pname, params); +void API_ENTRY(glMultMatrixx)(const GLfixed* arg0) { + CALL_GL_API(glMultMatrixx, arg0); } -void API_ENTRY(glMaterialx)(GLenum face, GLenum pname, GLfixed param) { - CALL_GL_API(glMaterialx, face, pname, param); +void API_ENTRY(glPopMatrix)(void) { + CALL_GL_API(glPopMatrix); } -void API_ENTRY(glMaterialxv)(GLenum face, GLenum pname, const GLfixed *params) { - CALL_GL_API(glMaterialxv, face, pname, params); +void API_ENTRY(glPushMatrix)(void) { + CALL_GL_API(glPushMatrix); } -void API_ENTRY(glMatrixMode)(GLenum mode) { - CALL_GL_API(glMatrixMode, mode); +void API_ENTRY(glFrustumf)(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4, GLfloat arg5) { + CALL_GL_API(glFrustumf, arg0, arg1, arg2, arg3, arg4, arg5); } -void API_ENTRY(glMultMatrixf)(const GLfloat *m) { - CALL_GL_API(glMultMatrixf, m); +void API_ENTRY(glFrustumx)(GLfixed arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3, GLfixed arg4, GLfixed arg5) { + CALL_GL_API(glFrustumx, arg0, arg1, arg2, arg3, arg4, arg5); } -void API_ENTRY(glMultMatrixx)(const GLfixed *m) { - CALL_GL_API(glMultMatrixx, m); +void API_ENTRY(glOrthof)(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4, GLfloat arg5) { + CALL_GL_API(glOrthof, arg0, arg1, arg2, arg3, arg4, arg5); } -void API_ENTRY(glMultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - CALL_GL_API(glMultiTexCoord4f, target, s, t, r, q); +void API_ENTRY(glOrthox)(GLfixed arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3, GLfixed arg4, GLfixed arg5) { + CALL_GL_API(glOrthox, arg0, arg1, arg2, arg3, arg4, arg5); } -void API_ENTRY(glMultiTexCoord4x)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) { - CALL_GL_API(glMultiTexCoord4x, target, s, t, r, q); +void API_ENTRY(glRotatef)(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + CALL_GL_API(glRotatef, arg0, arg1, arg2, arg3); } -void API_ENTRY(glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz) { - CALL_GL_API(glNormal3f, nx, ny, nz); +void API_ENTRY(glRotatex)(GLfixed arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3) { + CALL_GL_API(glRotatex, arg0, arg1, arg2, arg3); } -void API_ENTRY(glNormal3x)(GLfixed nx, GLfixed ny, GLfixed nz) { - CALL_GL_API(glNormal3x, nx, ny, nz); +void API_ENTRY(glScalef)(GLfloat arg0, GLfloat arg1, GLfloat arg2) { + CALL_GL_API(glScalef, arg0, arg1, arg2); } -void API_ENTRY(glNormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glNormalPointer, type, stride, pointer); +void API_ENTRY(glScalex)(GLfixed arg0, GLfixed arg1, GLfixed arg2) { + CALL_GL_API(glScalex, arg0, arg1, arg2); } -void API_ENTRY(glOrthof)( GLfloat left, GLfloat right, - GLfloat bottom, GLfloat top, - GLfloat zNear, GLfloat zFar) { - CALL_GL_API(glOrthof, left, right, bottom, top, zNear, zFar); +void API_ENTRY(glTranslatef)(GLfloat arg0, GLfloat arg1, GLfloat arg2) { + CALL_GL_API(glTranslatef, arg0, arg1, arg2); } -void API_ENTRY(glOrthox)( GLfixed left, GLfixed right, - GLfixed bottom, GLfixed top, - GLfixed zNear, GLfixed zFar) { - CALL_GL_API(glOrthox, left, right, bottom, top, zNear, zFar); +void API_ENTRY(glTranslatex)(GLfixed arg0, GLfixed arg1, GLfixed arg2) { + CALL_GL_API(glTranslatex, arg0, arg1, arg2); } -void API_ENTRY(glPixelStorei)(GLenum pname, GLint param) { - CALL_GL_API(glPixelStorei, pname, param); +void API_ENTRY(glViewport)(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + CALL_GL_API(glViewport, arg0, arg1, arg2, arg3); } -void API_ENTRY(glPointSize)(GLfloat size) { - CALL_GL_API(glPointSize, size); +void API_ENTRY(glActiveTexture)(GLenum arg0) { + CALL_GL_API(glActiveTexture, arg0); } -void API_ENTRY(glPointSizex)(GLfixed size) { - CALL_GL_API(glPointSizex, size); +void API_ENTRY(glBindTexture)(GLenum arg0, GLuint arg1) { + CALL_GL_API(glBindTexture, arg0, arg1); } -void API_ENTRY(glPolygonOffset)(GLfloat factor, GLfloat units) { - CALL_GL_API(glPolygonOffset, factor, units); +void API_ENTRY(glGenTextures)(GLsizei arg0, GLuint* arg1) { + CALL_GL_API(glGenTextures, arg0, arg1); } -void API_ENTRY(glPolygonOffsetx)(GLfixed factor, GLfixed units) { - CALL_GL_API(glPolygonOffsetx, factor, units); +void API_ENTRY(glDeleteTextures)(GLsizei arg0, const GLuint * arg1) { + CALL_GL_API(glDeleteTextures, arg0, arg1); } -void API_ENTRY(glPopMatrix)(void) { - CALL_GL_API(glPopMatrix); +void API_ENTRY(glMultiTexCoord4f)(GLenum arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + CALL_GL_API(glMultiTexCoord4f, arg0, arg1, arg2, arg3, arg4); } -void API_ENTRY(glPushMatrix)(void) { - CALL_GL_API(glPushMatrix); +void API_ENTRY(glMultiTexCoord4x)(GLenum arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3, GLfixed arg4) { + CALL_GL_API(glMultiTexCoord4x, arg0, arg1, arg2, arg3, arg4); +} + +void API_ENTRY(glPixelStorei)(GLenum arg0, GLint arg1) { + CALL_GL_API(glPixelStorei, arg0, arg1); +} + +void API_ENTRY(glTexEnvf)(GLenum arg0, GLenum arg1, GLfloat arg2) { + CALL_GL_API(glTexEnvf, arg0, arg1, arg2); +} + +void API_ENTRY(glTexEnvfv)(GLenum arg0, GLenum arg1, const GLfloat* arg2) { + CALL_GL_API(glTexEnvfv, arg0, arg1, arg2); +} + +void API_ENTRY(glTexEnvx)(GLenum arg0, GLenum arg1, GLfixed arg2) { + CALL_GL_API(glTexEnvx, arg0, arg1, arg2); +} + +void API_ENTRY(glTexEnvxv)(GLenum arg0, GLenum arg1, const GLfixed* arg2) { + CALL_GL_API(glTexEnvxv, arg0, arg1, arg2); +} + +void API_ENTRY(glTexParameterf)(GLenum arg0, GLenum arg1, GLfloat arg2) { + CALL_GL_API(glTexParameterf, arg0, arg1, arg2); +} + +void API_ENTRY(glTexParameterx)(GLenum arg0, GLenum arg1, GLfixed arg2) { + CALL_GL_API(glTexParameterx, arg0, arg1, arg2); +} + +void API_ENTRY(glCompressedTexImage2D)(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLsizei arg6, const GLvoid* arg7) { + CALL_GL_API(glCompressedTexImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +void API_ENTRY(glCompressedTexSubImage2D)(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLsizei arg7, const GLvoid* arg8) { + CALL_GL_API(glCompressedTexSubImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} + +void API_ENTRY(glCopyTexImage2D)(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLint arg7) { + CALL_GL_API(glCopyTexImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +void API_ENTRY(glCopyTexSubImage2D)(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLsizei arg6, GLsizei arg7) { + CALL_GL_API(glCopyTexSubImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +void API_ENTRY(glTexImage2D)(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLenum arg6, GLenum arg7, const GLvoid* arg8) { + CALL_GL_API(glTexImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} + +void API_ENTRY(glTexSubImage2D)(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLenum arg7, const GLvoid* arg8) { + CALL_GL_API(glTexSubImage2D, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); } -void API_ENTRY(glReadPixels)( GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, GLvoid *pixels) { - CALL_GL_API(glReadPixels, x, y, width, height, format, type, pixels); +void API_ENTRY(glReadPixels)(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3, GLenum arg4, GLenum arg5, GLvoid * arg6) { + CALL_GL_API(glReadPixels, arg0, arg1, arg2, arg3, arg4, arg5, arg6); } -void API_ENTRY(glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glRotatef, angle, x, y, z); +void API_ENTRY(glClipPlanef)(GLenum arg0, const GLfloat* arg1) { + CALL_GL_API(glClipPlanef, arg0, arg1); } -void API_ENTRY(glRotatex)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glRotatex, angle, x, y, z); +void API_ENTRY(glClipPlanex)(GLenum arg0, const GLfixed* arg1) { + CALL_GL_API(glClipPlanex, arg0, arg1); } -void API_ENTRY(glSampleCoverage)(GLclampf value, GLboolean invert) { - CALL_GL_API(glSampleCoverage, value, invert); +void API_ENTRY(glBindBuffer)(GLenum arg0, GLuint arg1) { + CALL_GL_API(glBindBuffer, arg0, arg1); } -void API_ENTRY(glSampleCoveragex)(GLclampx value, GLboolean invert) { - CALL_GL_API(glSampleCoveragex, value, invert); +void API_ENTRY(glBufferData)(GLenum arg0, GLsizeiptr arg1, const GLvoid* arg2, GLenum arg3) { + CALL_GL_API(glBufferData, arg0, arg1, arg2, arg3); } -void API_ENTRY(glScalef)(GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glScalef, x, y, z); +void API_ENTRY(glBufferSubData)(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, const GLvoid* arg3) { + CALL_GL_API(glBufferSubData, arg0, arg1, arg2, arg3); } -void API_ENTRY(glScalex)(GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glScalex, x, y, z); +void API_ENTRY(glDeleteBuffers)(GLsizei arg0, const GLuint* arg1) { + CALL_GL_API(glDeleteBuffers, arg0, arg1); } -void API_ENTRY(glScissor)(GLint x, GLint y, GLsizei width, GLsizei height) { - CALL_GL_API(glScissor, x, y, width, height); +void API_ENTRY(glGenBuffers)(GLsizei arg0, GLuint* arg1) { + CALL_GL_API(glGenBuffers, arg0, arg1); } -void API_ENTRY(glShadeModel)(GLenum mode) { - CALL_GL_API(glShadeModel, mode); +void API_ENTRY(glGetBooleanv)(GLenum arg0, GLboolean * arg1) { + CALL_GL_API(glGetBooleanv, arg0, arg1); } -void API_ENTRY(glStencilFunc)(GLenum func, GLint ref, GLuint mask) { - CALL_GL_API(glStencilFunc, func, ref, mask); +void API_ENTRY(glGetFixedv)(GLenum arg0, GLfixed * arg1) { + CALL_GL_API(glGetFixedv, arg0, arg1); } -void API_ENTRY(glStencilMask)(GLuint mask) { - CALL_GL_API(glStencilMask, mask); +void API_ENTRY(glGetFloatv)(GLenum arg0, GLfloat * arg1) { + CALL_GL_API(glGetFloatv, arg0, arg1); } -void API_ENTRY(glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass) { - CALL_GL_API(glStencilOp, fail, zfail, zpass); +void API_ENTRY(glGetPointerv)(GLenum arg0, void ** arg1) { + CALL_GL_API(glGetPointerv, arg0, arg1); } -void API_ENTRY(glTexCoordPointer)( GLint size, GLenum type, - GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glTexCoordPointer, size, type, stride, pointer); +void API_ENTRY(glGetBufferParameteriv)(GLenum arg0, GLenum arg1, GLint * arg2) { + CALL_GL_API(glGetBufferParameteriv, arg0, arg1, arg2); } -void API_ENTRY(glTexEnvf)(GLenum target, GLenum pname, GLfloat param) { - CALL_GL_API(glTexEnvf, target, pname, param); +void API_ENTRY(glGetClipPlanef)(GLenum arg0, GLfloat arg1[4]) { + CALL_GL_API(glGetClipPlanef, arg0, arg1); } -void API_ENTRY(glTexEnvfv)(GLenum target, GLenum pname, const GLfloat *params) { - CALL_GL_API(glTexEnvfv, target, pname, params); +void API_ENTRY(glGetClipPlanex)(GLenum arg0, GLfixed arg1[4]) { + CALL_GL_API(glGetClipPlanex, arg0, arg1); } -void API_ENTRY(glTexEnvx)(GLenum target, GLenum pname, GLfixed param) { - CALL_GL_API(glTexEnvx, target, pname, param); +void API_ENTRY(glGetLightxv)(GLenum arg0, GLenum arg1, GLfixed * arg2) { + CALL_GL_API(glGetLightxv, arg0, arg1, arg2); } -void API_ENTRY(glTexEnvxv)(GLenum target, GLenum pname, const GLfixed *params) { - CALL_GL_API(glTexEnvxv, target, pname, params); +void API_ENTRY(glGetLightfv)(GLenum arg0, GLenum arg1, GLfloat * arg2) { + CALL_GL_API(glGetLightfv, arg0, arg1, arg2); } -void API_ENTRY(glTexImage2D)( GLenum target, GLint level, GLint internalformat, - GLsizei width, GLsizei height, GLint border, GLenum format, - GLenum type, const GLvoid *pixels) { - CALL_GL_API(glTexImage2D, target, level, internalformat, width, height, - border, format, type, pixels); +void API_ENTRY(glGetMaterialxv)(GLenum arg0, GLenum arg1, GLfixed * arg2) { + CALL_GL_API(glGetMaterialxv, arg0, arg1, arg2); } -void API_ENTRY(glTexParameterf)(GLenum target, GLenum pname, GLfloat param) { - CALL_GL_API(glTexParameterf, target, pname, param); +void API_ENTRY(glGetMaterialfv)(GLenum arg0, GLenum arg1, GLfloat * arg2) { + CALL_GL_API(glGetMaterialfv, arg0, arg1, arg2); } -void API_ENTRY(glTexParameterx)(GLenum target, GLenum pname, GLfixed param) { - CALL_GL_API(glTexParameterx, target, pname, param); +void API_ENTRY(glGetTexEnvfv)(GLenum arg0, GLenum arg1, GLfloat * arg2) { + CALL_GL_API(glGetTexEnvfv, arg0, arg1, arg2); } -void API_ENTRY(glTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLenum type, const GLvoid *pixels) { - CALL_GL_API(glTexSubImage2D, target, level, xoffset, yoffset, - width, height, format, type, pixels); +void API_ENTRY(glGetTexEnviv)(GLenum arg0, GLenum arg1, GLint * arg2) { + CALL_GL_API(glGetTexEnviv, arg0, arg1, arg2); } -void API_ENTRY(glTranslatef)(GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glTranslatef, x, y, z); +void API_ENTRY(glGetTexEnvxv)(GLenum arg0, GLenum arg1, GLfixed * arg2) { + CALL_GL_API(glGetTexEnvxv, arg0, arg1, arg2); } -void API_ENTRY(glTranslatex)(GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glTranslatex, x, y, z); +void API_ENTRY(glGetTexParameterfv)(GLenum arg0, GLenum arg1, GLfloat * arg2) { + CALL_GL_API(glGetTexParameterfv, arg0, arg1, arg2); } -void API_ENTRY(glVertexPointer)( GLint size, GLenum type, - GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glVertexPointer, size, type, stride, pointer); +void API_ENTRY(glGetTexParameteriv)(GLenum arg0, GLenum arg1, GLint * arg2) { + CALL_GL_API(glGetTexParameteriv, arg0, arg1, arg2); } -void API_ENTRY(glViewport)(GLint x, GLint y, GLsizei width, GLsizei height) { - CALL_GL_API(glViewport, x, y, width, height); +void API_ENTRY(glGetTexParameterxv)(GLenum arg0, GLenum arg1, GLfixed * arg2) { + CALL_GL_API(glGetTexParameterxv, arg0, arg1, arg2); } -// ES 1.1 -void API_ENTRY(glClipPlanef)(GLenum plane, const GLfloat *equation) { - CALL_GL_API(glClipPlanef, plane, equation); +GLboolean API_ENTRY(glIsBuffer)(GLuint arg0) { + CALL_GL_API_RETURN(glIsBuffer, arg0); } -void API_ENTRY(glClipPlanex)(GLenum plane, const GLfixed *equation) { - CALL_GL_API(glClipPlanex, plane, equation); + +GLboolean API_ENTRY(glIsEnabled)(GLenum arg0) { + CALL_GL_API_RETURN(glIsEnabled, arg0); +} + +GLboolean API_ENTRY(glIsTexture)(GLuint arg0) { + CALL_GL_API_RETURN(glIsTexture, arg0); +} + +void API_ENTRY(glPointParameterf)(GLenum arg0, GLfloat arg1) { + CALL_GL_API(glPointParameterf, arg0, arg1); +} + +void API_ENTRY(glPointParameterfv)(GLenum arg0, const GLfloat * arg1) { + CALL_GL_API(glPointParameterfv, arg0, arg1); +} + +void API_ENTRY(glPointParameterx)(GLenum arg0, GLfixed arg1) { + CALL_GL_API(glPointParameterx, arg0, arg1); +} + +void API_ENTRY(glPointParameterxv)(GLenum arg0, const GLfixed * arg1) { + CALL_GL_API(glPointParameterxv, arg0, arg1); +} + +void API_ENTRY(glColor4ub)(GLubyte arg0, GLubyte arg1, GLubyte arg2, GLubyte arg3) { + CALL_GL_API(glColor4ub, arg0, arg1, arg2, arg3); +} + +void API_ENTRY(glTexEnvi)(GLenum arg0, GLenum arg1, GLint arg2) { + CALL_GL_API(glTexEnvi, arg0, arg1, arg2); +} + +void API_ENTRY(glTexEnviv)(GLenum arg0, GLenum arg1, const GLint * arg2) { + CALL_GL_API(glTexEnviv, arg0, arg1, arg2); } -void API_ENTRY(glBindBuffer)(GLenum target, GLuint buffer) { - CALL_GL_API(glBindBuffer, target, buffer); + +void API_ENTRY(glTexParameterfv)(GLenum arg0, GLenum arg1, const GLfloat * arg2) { + CALL_GL_API(glTexParameterfv, arg0, arg1, arg2); } -void API_ENTRY(glBufferData)(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) { - CALL_GL_API(glBufferData, target, size, data, usage); + +void API_ENTRY(glTexParameteriv)(GLenum arg0, GLenum arg1, const GLint * arg2) { + CALL_GL_API(glTexParameteriv, arg0, arg1, arg2); } -void API_ENTRY(glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) { - CALL_GL_API(glBufferSubData, target, offset, size, data); + +void API_ENTRY(glTexParameteri)(GLenum arg0, GLenum arg1, GLint arg2) { + CALL_GL_API(glTexParameteri, arg0, arg1, arg2); } -void API_ENTRY(glDeleteBuffers)(GLsizei n, const GLuint* buffers) { - CALL_GL_API(glDeleteBuffers, n, buffers); + +void API_ENTRY(glTexParameterxv)(GLenum arg0, GLenum arg1, const GLfixed * arg2) { + CALL_GL_API(glTexParameterxv, arg0, arg1, arg2); } -void API_ENTRY(glGenBuffers)(GLsizei n, GLuint* buffers) { - CALL_GL_API(glGenBuffers, n, buffers); + +void API_ENTRY(glPointSizePointerOES)(GLenum arg0, GLsizei arg1, const GLvoid* arg2) { + CALL_GL_API(glPointSizePointerOES, arg0, arg1, arg2); } -void API_ENTRY(glGetBooleanv)(GLenum pname, GLboolean *params) { - CALL_GL_API(glGetBooleanv, pname, params); + +void API_ENTRY(glDrawTexsOES)(GLshort arg0, GLshort arg1, GLshort arg2, GLshort arg3, GLshort arg4) { + CALL_GL_API(glDrawTexsOES, arg0, arg1, arg2, arg3, arg4); } -void API_ENTRY(glGetFixedv)(GLenum pname, GLfixed *params) { - CALL_GL_API(glGetFixedv, pname, params); + +void API_ENTRY(glDrawTexiOES)(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + CALL_GL_API(glDrawTexiOES, arg0, arg1, arg2, arg3, arg4); } -void API_ENTRY(glGetFloatv)(GLenum pname, GLfloat *params) { - CALL_GL_API(glGetFloatv, pname, params); + +void API_ENTRY(glDrawTexfOES)(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + CALL_GL_API(glDrawTexfOES, arg0, arg1, arg2, arg3, arg4); } -void API_ENTRY(glGetPointerv)(GLenum pname, void **params) { - CALL_GL_API(glGetPointerv, pname, params); + +void API_ENTRY(glDrawTexxOES)(GLfixed arg0, GLfixed arg1, GLfixed arg2, GLfixed arg3, GLfixed arg4) { + CALL_GL_API(glDrawTexxOES, arg0, arg1, arg2, arg3, arg4); +} + +void API_ENTRY(glDrawTexsvOES)(const GLshort* arg0) { + CALL_GL_API(glDrawTexsvOES, arg0); +} + +void API_ENTRY(glDrawTexivOES)(const GLint* arg0) { + CALL_GL_API(glDrawTexivOES, arg0); +} + +void API_ENTRY(glDrawTexfvOES)(const GLfloat* arg0) { + CALL_GL_API(glDrawTexfvOES, arg0); +} + +void API_ENTRY(glDrawTexxvOES)(const GLfixed* arg0) { + CALL_GL_API(glDrawTexxvOES, arg0); } -void API_ENTRY(glGetBufferParameteriv)(GLenum target, GLenum pname, GLint *params) { - CALL_GL_API(glGetBufferParameteriv, target, pname, params); + +GLbitfield API_ENTRY(glQueryMatrixxOES)(GLfixed* arg0, GLint* arg1) { + CALL_GL_API_RETURN(glQueryMatrixxOES, arg0, arg1); } -void API_ENTRY(glGetClipPlanef)(GLenum pname, GLfloat eqn[4]) { - CALL_GL_API(glGetClipPlanef, pname, eqn); + +void API_ENTRY(__glEGLImageTargetTexture2DOES)(GLenum arg0, GLeglImageOES arg1) { + CALL_GL_API(__glEGLImageTargetTexture2DOES, arg0, arg1); } -void API_ENTRY(glGetClipPlanex)(GLenum pname, GLfixed eqn[4]) { - CALL_GL_API(glGetClipPlanex, pname, eqn); + +void API_ENTRY(__glEGLImageTargetRenderbufferStorageOES)(GLenum arg0, GLeglImageOES arg1) { + CALL_GL_API(__glEGLImageTargetRenderbufferStorageOES, arg0, arg1); } -void API_ENTRY(glGetLightxv)(GLenum light, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetLightxv, light, pname, params); + +void API_ENTRY(glBlendEquationSeparateOES)(GLenum arg0, GLenum arg1) { + CALL_GL_API(glBlendEquationSeparateOES, arg0, arg1); } -void API_ENTRY(glGetLightfv)(GLenum light, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetLightfv, light, pname, params); + +void API_ENTRY(glBlendFuncSeparateOES)(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) { + CALL_GL_API(glBlendFuncSeparateOES, arg0, arg1, arg2, arg3); } -void API_ENTRY(glGetMaterialxv)(GLenum face, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetMaterialxv, face, pname, params); + +void API_ENTRY(glBlendEquationOES)(GLenum arg0) { + CALL_GL_API(glBlendEquationOES, arg0); } -void API_ENTRY(glGetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetMaterialfv, face, pname, params); + +GLboolean API_ENTRY(glIsRenderbufferOES)(GLuint arg0) { + CALL_GL_API_RETURN(glIsRenderbufferOES, arg0); } -void API_ENTRY(glGetTexEnvfv)(GLenum env, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetTexEnvfv, env, pname, params); + +void API_ENTRY(glBindRenderbufferOES)(GLenum arg0, GLuint arg1) { + CALL_GL_API(glBindRenderbufferOES, arg0, arg1); } -void API_ENTRY(glGetTexEnviv)(GLenum env, GLenum pname, GLint *params) { - CALL_GL_API(glGetTexEnviv, env, pname, params); + +void API_ENTRY(glDeleteRenderbuffersOES)(GLsizei arg0, const GLuint* arg1) { + CALL_GL_API(glDeleteRenderbuffersOES, arg0, arg1); } -void API_ENTRY(glGetTexEnvxv)(GLenum env, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetTexEnvxv, env, pname, params); + +void API_ENTRY(glGenRenderbuffersOES)(GLsizei arg0, GLuint* arg1) { + CALL_GL_API(glGenRenderbuffersOES, arg0, arg1); } -void API_ENTRY(glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetTexParameterfv, target, pname, params); + +void API_ENTRY(glRenderbufferStorageOES)(GLenum arg0, GLenum arg1, GLsizei arg2, GLsizei arg3) { + CALL_GL_API(glRenderbufferStorageOES, arg0, arg1, arg2, arg3); } -void API_ENTRY(glGetTexParameteriv)(GLenum target, GLenum pname, GLint *params) { - CALL_GL_API(glGetTexParameteriv, target, pname, params); + +void API_ENTRY(glGetRenderbufferParameterivOES)(GLenum arg0, GLenum arg1, GLint* arg2) { + CALL_GL_API(glGetRenderbufferParameterivOES, arg0, arg1, arg2); } -void API_ENTRY(glGetTexParameterxv)(GLenum target, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetTexParameterxv, target, pname, params); + +GLboolean API_ENTRY(glIsFramebufferOES)(GLuint arg0) { + CALL_GL_API_RETURN(glIsFramebufferOES, arg0); } -GLboolean API_ENTRY(glIsBuffer)(GLuint buffer) { - CALL_GL_API_RETURN(glIsBuffer, buffer); + +void API_ENTRY(glBindFramebufferOES)(GLenum arg0, GLuint arg1) { + CALL_GL_API(glBindFramebufferOES, arg0, arg1); } -GLboolean API_ENTRY(glIsEnabled)(GLenum cap) { - CALL_GL_API_RETURN(glIsEnabled, cap); + +void API_ENTRY(glDeleteFramebuffersOES)(GLsizei arg0, const GLuint* arg1) { + CALL_GL_API(glDeleteFramebuffersOES, arg0, arg1); } -GLboolean API_ENTRY(glIsTexture)(GLuint texture) { - CALL_GL_API_RETURN(glIsTexture, texture); + +void API_ENTRY(glGenFramebuffersOES)(GLsizei arg0, GLuint* arg1) { + CALL_GL_API(glGenFramebuffersOES, arg0, arg1); } -void API_ENTRY(glPointParameterf)(GLenum pname, GLfloat param) { - CALL_GL_API(glPointParameterf, pname, param); + +GLenum API_ENTRY(glCheckFramebufferStatusOES)(GLenum arg0) { + CALL_GL_API_RETURN(glCheckFramebufferStatusOES, arg0); } -void API_ENTRY(glPointParameterfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glPointParameterfv, pname, params); + +void API_ENTRY(glFramebufferRenderbufferOES)(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3) { + CALL_GL_API(glFramebufferRenderbufferOES, arg0, arg1, arg2, arg3); } -void API_ENTRY(glPointParameterx)(GLenum pname, GLfixed param) { - CALL_GL_API(glPointParameterx, pname, param); + +void API_ENTRY(glFramebufferTexture2DOES)(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) { + CALL_GL_API(glFramebufferTexture2DOES, arg0, arg1, arg2, arg3, arg4); } -void API_ENTRY(glPointParameterxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glPointParameterxv, pname, params); + +void API_ENTRY(glGetFramebufferAttachmentParameterivOES)(GLenum arg0, GLenum arg1, GLenum arg2, GLint* arg3) { + CALL_GL_API(glGetFramebufferAttachmentParameterivOES, arg0, arg1, arg2, arg3); } -void API_ENTRY(glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - CALL_GL_API(glColor4ub, red, green, blue, alpha); + +void API_ENTRY(glGenerateMipmapOES)(GLenum arg0) { + CALL_GL_API(glGenerateMipmapOES, arg0); } -void API_ENTRY(glTexEnvi)(GLenum target, GLenum pname, GLint param) { - CALL_GL_API(glTexEnvi, target, pname, param); + +void* API_ENTRY(glMapBufferOES)(GLenum arg0, GLenum arg1) { + CALL_GL_API_RETURN(glMapBufferOES, arg0, arg1); } -void API_ENTRY(glTexEnviv)(GLenum target, GLenum pname, const GLint *params) { - CALL_GL_API(glTexEnviv, target, pname, params); + +GLboolean API_ENTRY(glUnmapBufferOES)(GLenum arg0) { + CALL_GL_API_RETURN(glUnmapBufferOES, arg0); } -void API_ENTRY(glTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) { - CALL_GL_API(glTexParameterfv, target, pname, params); +void API_ENTRY(glGetBufferPointervOES)(GLenum arg0, GLenum arg1, void** arg2) { + CALL_GL_API(glGetBufferPointervOES, arg0, arg1, arg2); } -void API_ENTRY(glTexParameteriv)(GLenum target, GLenum pname, const GLint *params) { - CALL_GL_API(glTexParameteriv, target, pname, params); +void API_ENTRY(glCurrentPaletteMatrixOES)(GLuint arg0) { + CALL_GL_API(glCurrentPaletteMatrixOES, arg0); } -void API_ENTRY(glTexParameteri)(GLenum target, GLenum pname, GLint param) { - CALL_GL_API(glTexParameteri, target, pname, param); +void API_ENTRY(glLoadPaletteFromModelViewMatrixOES)(void) { + CALL_GL_API(glLoadPaletteFromModelViewMatrixOES); } -void API_ENTRY(glTexParameterxv)(GLenum target, GLenum pname, const GLfixed *params) { - CALL_GL_API(glTexParameterxv, target, pname, params); + +void API_ENTRY(glMatrixIndexPointerOES)(GLint arg0, GLenum arg1, GLsizei arg2, const GLvoid * arg3) { + CALL_GL_API(glMatrixIndexPointerOES, arg0, arg1, arg2, arg3); } -void API_ENTRY(glPointSizePointerOES)(GLenum type, GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glPointSizePointerOES, type, stride, pointer); + +void API_ENTRY(glWeightPointerOES)(GLint arg0, GLenum arg1, GLsizei arg2, const GLvoid * arg3) { + CALL_GL_API(glWeightPointerOES, arg0, arg1, arg2, arg3); } -// Extensions -void API_ENTRY(glDrawTexsOES)(GLshort x , GLshort y, GLshort z, GLshort w, GLshort h) { - CALL_GL_API(glDrawTexsOES, x, y, z, w, h); +void API_ENTRY(glTexGenfOES)(GLenum arg0, GLenum arg1, GLfloat arg2) { + CALL_GL_API(glTexGenfOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexiOES)(GLint x, GLint y, GLint z, GLint w, GLint h) { - CALL_GL_API(glDrawTexiOES, x, y, z, w, h); + +void API_ENTRY(glTexGenfvOES)(GLenum arg0, GLenum arg1, const GLfloat * arg2) { + CALL_GL_API(glTexGenfvOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexfOES)(GLfloat x, GLfloat y, GLfloat z, GLfloat w, GLfloat h) { - CALL_GL_API(glDrawTexfOES, x, y, z, w, h); + +void API_ENTRY(glTexGeniOES)(GLenum arg0, GLenum arg1, GLint arg2) { + CALL_GL_API(glTexGeniOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexxOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) { - CALL_GL_API(glDrawTexxOES, x, y, z, w, h); + +void API_ENTRY(glTexGenivOES)(GLenum arg0, GLenum arg1, const GLint * arg2) { + CALL_GL_API(glTexGenivOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexsvOES)(const GLshort* coords) { - CALL_GL_API(glDrawTexsvOES, coords); + +void API_ENTRY(glTexGenxOES)(GLenum arg0, GLenum arg1, GLfixed arg2) { + CALL_GL_API(glTexGenxOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexivOES)(const GLint* coords) { - CALL_GL_API(glDrawTexivOES, coords); + +void API_ENTRY(glTexGenxvOES)(GLenum arg0, GLenum arg1, const GLfixed * arg2) { + CALL_GL_API(glTexGenxvOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexfvOES)(const GLfloat* coords) { - CALL_GL_API(glDrawTexfvOES, coords); + +void API_ENTRY(glGetTexGenfvOES)(GLenum arg0, GLenum arg1, GLfloat * arg2) { + CALL_GL_API(glGetTexGenfvOES, arg0, arg1, arg2); } -void API_ENTRY(glDrawTexxvOES)(const GLfixed* coords) { - CALL_GL_API(glDrawTexxvOES, coords); + +void API_ENTRY(glGetTexGenivOES)(GLenum arg0, GLenum arg1, GLint * arg2) { + CALL_GL_API(glGetTexGenivOES, arg0, arg1, arg2); } -GLbitfield API_ENTRY(glQueryMatrixxOES)(GLfixed* mantissa, GLint* exponent) { - CALL_GL_API_RETURN(glQueryMatrixxOES, mantissa, exponent); + +void API_ENTRY(glGetTexGenxvOES)(GLenum arg0, GLenum arg1, GLfixed * arg2) { + CALL_GL_API(glGetTexGenxvOES, arg0, arg1, arg2); } + diff --git a/opengl/libs/GLES_CM/gl_logger.cpp b/opengl/libs/GLES_CM/gl_logger.cpp deleted file mode 100644 index 27be5c9..0000000 --- a/opengl/libs/GLES_CM/gl_logger.cpp +++ /dev/null @@ -1,1060 +0,0 @@ -/* - ** Copyright 2007, 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. - */ - -#define LOG_TAG "GLLogger" - -#include <ctype.h> -#include <string.h> -#include <errno.h> -#include <dlfcn.h> - -#include <sys/ioctl.h> - -#include <EGL/egl.h> -#include <EGL/eglext.h> -#include <GLES/gl.h> -#include <GLES/glext.h> - -#include <cutils/log.h> -#include <cutils/atomic.h> -#include <cutils/properties.h> - -#include <utils/String8.h> - -#include "gl_logger.h" - -#undef NELEM -#define NELEM(x) (sizeof(x)/sizeof(*(x))) - -// ---------------------------------------------------------------------------- -namespace android { -// ---------------------------------------------------------------------------- - -template<typename T> -static int binarySearch(T const sortedArray[], int first, int last, EGLint key) -{ - while (first <= last) { - int mid = (first + last) / 2; - if (key > sortedArray[mid].key) { - first = mid + 1; - } else if (key < sortedArray[mid].key) { - last = mid - 1; - } else { - return mid; - } - } - return -1; -} - -struct pair_t { - const char* name; - int key; -}; - -static const pair_t gEnumMap[] = { - #define GLENUM(NAME, VALUE) { #NAME, VALUE }, - #include "gl_enums.in" - #undef GLENUM -}; - -// ---------------------------------------------------------------------------- - -template<typename TYPE> -class GLLogValue { -public: - GLLogValue(TYPE value) : mValue(value) { } - const TYPE& getValue() const { return mValue; } - String8 toString() const { - return convertToString(mValue); - } -private: - const TYPE& mValue; - String8 convertToString(unsigned int v) const { - char buf[16]; - snprintf(buf, 16, "%u", v); - return String8(buf); - } - String8 convertToString(unsigned long v) const { - char buf[16]; - snprintf(buf, 16, "%lu", v); - return String8(buf); - } - String8 convertToString(int v) const { - char buf[16]; - snprintf(buf, 16, "%d", v); - return String8(buf); - } - String8 convertToString(long v) const { - char buf[16]; - snprintf(buf, 16, "%ld", v); - return String8(buf); - } - String8 convertToString(float v) const { - char buf[16]; - snprintf(buf, 16, "%f", v); - return String8(buf); - } - String8 convertToString(void const* v) const { - char buf[16]; - snprintf(buf, 16, "%p", v); - return String8(buf); - } -}; - -class GLLogEnum : public GLLogValue<GLenum> { -public: - GLLogEnum(GLenum v) : GLLogValue<GLenum>(v) { } - String8 toString() const { - GLenum v = getValue(); - int i = binarySearch<pair_t>(gEnumMap, 0, NELEM(gEnumMap)-1, v); - if (i >= 0) { - return String8(gEnumMap[i].name); - } else { - char buf[16]; - snprintf(buf, 16, "0x%04x", v); - return String8(buf); - } - } -}; - -class GLLogClearBitfield : public GLLogValue<GLbitfield> { -public: - GLLogClearBitfield(GLbitfield v) : GLLogValue<GLbitfield>(v) { } - String8 toString() const { - char buf[16]; - snprintf(buf, 16, "0x%08x", getValue()); - return String8(buf); - } -}; - -class GLLogBool : public GLLogValue<GLboolean> { -public: - GLLogBool(GLboolean v) : GLLogValue<GLboolean>(v) { } - String8 toString() const { - GLboolean v = getValue(); - if (v == GL_TRUE) return String8("GL_TRUE"); - if (v == GL_FALSE) return String8("GL_FALSE"); - return GLLogValue<GLboolean>::toString(); - } -}; - -class GLLogFixed : public GLLogValue<GLfixed> { -public: - GLLogFixed(GLfixed v) : GLLogValue<GLfixed>(v) { } - String8 toString() const { - char buf[16]; - snprintf(buf, 16, "0x%08x", getValue()); - return String8(buf); - } -}; - - -template <typename TYPE> -class GLLogBuffer : public GLLogValue<TYPE *> { -public: - GLLogBuffer(TYPE* buffer, size_t count = -1) - : GLLogValue<TYPE*>(buffer) - { // output buffer - } - GLLogBuffer(TYPE const* buffer, size_t count = -1) - : GLLogValue<TYPE*>(const_cast<TYPE*>(buffer)) - { // input buffer - } -}; - -class GLLog -{ -public: - GLLog(const char* name) : mNumParams(0) { - mString.append(name); - mString.append("("); - } - - ~GLLog() { - LOGD("%s);", mString.string()); - } - - GLLog& operator << (unsigned char v) { - return *this << GLLogValue<unsigned int>(v); - } - GLLog& operator << (short v) { - return *this << GLLogValue<unsigned int>(v); - } - GLLog& operator << (unsigned int v) { - return *this << GLLogValue<unsigned int>(v); - } - GLLog& operator << (int v) { - return *this << GLLogValue<int>(v); - } - GLLog& operator << (long v) { - return *this << GLLogValue<long>(v); - } - GLLog& operator << (unsigned long v) { - return *this << GLLogValue<unsigned long>(v); - } - GLLog& operator << (float v) { - return *this << GLLogValue<float>(v); - } - GLLog& operator << (const void* v) { - return *this << GLLogValue<const void* >(v); - } - - template <typename TYPE> - GLLog& operator << (const TYPE& rhs) { - if (mNumParams > 0) - mString.append(", "); - mString.append(rhs.toString()); - mNumParams++; - return *this; - } - - const String8& string() const { return mString; } -private: - GLLog(const GLLog&); - - String8 mString; - int mNumParams; -}; - -#define API_ENTRY(api) log_##api -#define CALL_GL_API(_x, ...) -#define CALL_GL_API_RETURN(_x, ...) return(0); - -void API_ENTRY(glActiveTexture)(GLenum texture) { - CALL_GL_API(glActiveTexture, texture); - GLLog("glActiveTexture") << GLLogEnum(texture); -} - -void API_ENTRY(glAlphaFunc)(GLenum func, GLclampf ref) { - CALL_GL_API(glAlphaFunc, func, ref); - GLLog("glAlphaFunc") << GLLogEnum(func) << ref; -} - -void API_ENTRY(glAlphaFuncx)(GLenum func, GLclampx ref) { - CALL_GL_API(glAlphaFuncx, func, ref); - GLLog("glAlphaFuncx") << GLLogEnum(func) << GLLogFixed(ref); -} - -void API_ENTRY(glBindTexture)(GLenum target, GLuint texture) { - CALL_GL_API(glBindTexture, target, texture); - GLLog("glBindTexture") << GLLogEnum(target) << texture; -} - -void API_ENTRY(glBlendFunc)(GLenum sfactor, GLenum dfactor) { - CALL_GL_API(glBlendFunc, sfactor, dfactor); - GLLog("glBlendFunc") << GLLogEnum(sfactor) << GLLogEnum(dfactor); -} - -void API_ENTRY(glClear)(GLbitfield mask) { - CALL_GL_API(glClear, mask); - GLLog("glClear") << GLLogClearBitfield(mask); -} - -void API_ENTRY(glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { - CALL_GL_API(glClearColor, red, green, blue, alpha); - GLLog("glClearColor") << red << green << blue << alpha; -} - -void API_ENTRY(glClearColorx)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) { - CALL_GL_API(glClearColorx, red, green, blue, alpha); - GLLog("glClearColorx") << GLLogFixed(red) << GLLogFixed(green) << GLLogFixed(blue) << GLLogFixed(alpha); -} - -void API_ENTRY(glClearDepthf)(GLclampf depth) { - CALL_GL_API(glClearDepthf, depth); - GLLog("glClearDepthf") << depth; -} - -void API_ENTRY(glClearDepthx)(GLclampx depth) { - CALL_GL_API(glClearDepthx, depth); - GLLog("glClearDepthx") << GLLogFixed(depth); -} - -void API_ENTRY(glClearStencil)(GLint s) { - CALL_GL_API(glClearStencil, s); - GLLog("glClearStencil") << s; -} - -void API_ENTRY(glClientActiveTexture)(GLenum texture) { - CALL_GL_API(glClientActiveTexture, texture); - GLLog("glClientActiveTexture") << GLLogEnum(texture); -} - -void API_ENTRY(glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - CALL_GL_API(glColor4f, red, green, blue, alpha); - GLLog("glColor4f") << red << green << blue << alpha; -} - -void API_ENTRY(glColor4x)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) { - CALL_GL_API(glColor4x, red, green, blue, alpha); - GLLog("glColor4x") << GLLogFixed(red) << GLLogFixed(green) << GLLogFixed(blue) << GLLogFixed(alpha); -} - -void API_ENTRY(glColorMask)(GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - CALL_GL_API(glColorMask, r, g, b, a); - GLLog("glColorMask") << GLLogBool(r) << GLLogBool(g) << GLLogBool(b) << GLLogBool(a); -} - -void API_ENTRY(glColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) -{ - CALL_GL_API(glColorPointer, size, type, stride, ptr); - GLLog("glColorPointer") << size << GLLogEnum(type) << stride << ptr; -} - -void API_ENTRY(glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, - GLsizei width, GLsizei height, GLint border, - GLsizei imageSize, const GLvoid *data) { - CALL_GL_API(glCompressedTexImage2D, target, level, internalformat, - width, height, border, imageSize, data); - GLLog("glCompressedTexImage2D") - << GLLogEnum(target) << level << GLLogEnum(internalformat) - << width << height << border << imageSize << data; -} - -void API_ENTRY(glCompressedTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLsizei imageSize, - const GLvoid *data) { - CALL_GL_API(glCompressedTexSubImage2D, target, level, xoffset, yoffset, - width, height, format, imageSize, data); - GLLog("glCompressedTexSubImage2D") - << GLLogEnum(target) << level << xoffset << yoffset - << width << height << GLLogEnum(format) << imageSize << data; -} - -void API_ENTRY(glCopyTexImage2D)( GLenum target, GLint level, GLenum internalformat, - GLint x, GLint y, GLsizei width, GLsizei height, - GLint border) { - CALL_GL_API(glCopyTexImage2D, target, level, internalformat, x, y, - width, height, border); - GLLog("glCopyTexImage2D") - << GLLogEnum(target) << level << GLLogEnum(internalformat) - << x << y << width << height << border; -} - -void API_ENTRY(glCopyTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLint x, GLint y, GLsizei width, - GLsizei height) { - CALL_GL_API(glCopyTexSubImage2D, target, level, xoffset, yoffset, x, y, - width, height); - GLLog("glCopyTexSubImage2D") - << GLLogEnum(target) << level << xoffset << yoffset - << x << y << width << height; -} - -void API_ENTRY(glCullFace)(GLenum mode) { - CALL_GL_API(glCullFace, mode); - GLLog("glCullFace") << GLLogEnum(mode); -} - -void API_ENTRY(glDeleteTextures)(GLsizei n, const GLuint *textures) { - CALL_GL_API(glDeleteTextures, n, textures); - GLLog("glDeleteTextures") << n << GLLogBuffer<GLuint>(textures, n); -} - -void API_ENTRY(glDepthFunc)(GLenum func) { - CALL_GL_API(glDepthFunc, func); - GLLog("glDepthFunc") << GLLogEnum(func); -} - -void API_ENTRY(glDepthMask)(GLboolean flag) { - CALL_GL_API(glDepthMask, flag); - GLLog("glDepthMask") << GLLogBool(flag); -} - -void API_ENTRY(glDepthRangef)(GLclampf zNear, GLclampf zFar) { - CALL_GL_API(glDepthRangef, zNear, zFar); - GLLog("glDepthRangef") << zNear << zFar; -} - -void API_ENTRY(glDepthRangex)(GLclampx zNear, GLclampx zFar) { - CALL_GL_API(glDepthRangex, zNear, zFar); - GLLog("glDepthRangex") << GLLogFixed(zNear) << GLLogFixed(zFar); -} - -void API_ENTRY(glDisable)(GLenum cap) { - CALL_GL_API(glDisable, cap); - GLLog("glDisable") << GLLogEnum(cap); -} - -void API_ENTRY(glDisableClientState)(GLenum array) { - CALL_GL_API(glDisableClientState, array); - GLLog("glDisableClientState") << GLLogEnum(array); -} - -void API_ENTRY(glDrawArrays)(GLenum mode, GLint first, GLsizei count) { - CALL_GL_API(glDrawArrays, mode, first, count); - GLLog("glDrawArrays") << GLLogEnum(mode) << first << count; -} - -void API_ENTRY(glDrawElements)(GLenum mode, GLsizei count, - GLenum type, const GLvoid *indices) { - CALL_GL_API(glDrawElements, mode, count, type, indices); - GLLog log("glDrawElements"); - log << GLLogEnum(mode) << count << GLLogEnum(type); - if (type == GL_UNSIGNED_BYTE) { - log << GLLogBuffer<GLubyte>(static_cast<const GLubyte*>(indices), count); - } else { - log << GLLogBuffer<GLushort>(static_cast<const GLushort*>(indices), count); - } - log; -} - -void API_ENTRY(glEnable)(GLenum cap) { - CALL_GL_API(glEnable, cap); - GLLog("glEnable") << GLLogEnum(cap); -} - -void API_ENTRY(glEnableClientState)(GLenum array) { - CALL_GL_API(glEnableClientState, array); - GLLog("glEnableClientState") << GLLogEnum(array); -} - -void API_ENTRY(glFinish)(void) { - CALL_GL_API(glFinish); - GLLog("glFinish"); -} - -void API_ENTRY(glFlush)(void) { - CALL_GL_API(glFlush); - GLLog("glFlush"); -} - -void API_ENTRY(glFogf)(GLenum pname, GLfloat param) { - CALL_GL_API(glFogf, pname, param); - GLLog("glFogf") << GLLogEnum(pname) << param; -} - -void API_ENTRY(glFogfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glFogfv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glFogfv") << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glFogx)(GLenum pname, GLfixed param) { - CALL_GL_API(glFogx, pname, param); - GLLog("glFogx") << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glFogxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glFogxv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glFogfx") << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} - -void API_ENTRY(glFrontFace)(GLenum mode) { - CALL_GL_API(glFrontFace, mode); - GLLog("glFrontFace") << GLLogEnum(mode); - } - -void API_ENTRY(glFrustumf)(GLfloat left, GLfloat right, - GLfloat bottom, GLfloat top, - GLfloat zNear, GLfloat zFar) { - CALL_GL_API(glFrustumf, left, right, bottom, top, zNear, zFar); - GLLog("glFrustumf") << left << right << bottom << top << zNear << zFar; -} - -void API_ENTRY(glFrustumx)(GLfixed left, GLfixed right, - GLfixed bottom, GLfixed top, - GLfixed zNear, GLfixed zFar) { - CALL_GL_API(glFrustumx, left, right, bottom, top, zNear, zFar); - GLLog("glFrustumx") - << GLLogFixed(left) << GLLogFixed(right) - << GLLogFixed(bottom) << GLLogFixed(top) - << GLLogFixed(zNear) << GLLogFixed(zFar); -} - -void API_ENTRY(glGenTextures)(GLsizei n, GLuint *textures) { - CALL_GL_API(glGenTextures, n, textures); - GLLog("glGenTextures") << n << GLLogBuffer<GLuint>(textures, n); -} - -GLenum API_ENTRY(glGetError)(void) { - GLLog("glGetError"); - CALL_GL_API_RETURN(glGetError); -} - -void API_ENTRY(glGetIntegerv)(GLenum pname, GLint *params) { - CALL_GL_API(glGetIntegerv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetIntegerv") << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} - -const GLubyte * API_ENTRY(glGetString)(GLenum name) { - GLLog("glGetString") << GLLogEnum(name); - CALL_GL_API_RETURN(glGetString, name); -} - -void API_ENTRY(glHint)(GLenum target, GLenum mode) { - CALL_GL_API(glHint, target, mode); - GLLog("GLenum") << GLLogEnum(target) << GLLogEnum(mode); -} - -void API_ENTRY(glLightModelf)(GLenum pname, GLfloat param) { - CALL_GL_API(glLightModelf, pname, param); - GLLog("glLightModelf") << GLLogEnum(pname) << param; -} - -void API_ENTRY(glLightModelfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glLightModelfv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glLightModelfv") << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glLightModelx)(GLenum pname, GLfixed param) { - CALL_GL_API(glLightModelx, pname, param); - GLLog("glLightModelx") << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glLightModelxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glLightModelxv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glLightModelxv") << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} - -void API_ENTRY(glLightf)(GLenum light, GLenum pname, GLfloat param) { - CALL_GL_API(glLightf, light, pname, param); - GLLog("glLightf") << GLLogEnum(light) << GLLogEnum(pname) << param; -} - -void API_ENTRY(glLightfv)(GLenum light, GLenum pname, const GLfloat *params) { - CALL_GL_API(glLightfv, light, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glLightfv") << GLLogEnum(light) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glLightx)(GLenum light, GLenum pname, GLfixed param) { - CALL_GL_API(glLightx, light, pname, param); - GLLog("glLightx") << GLLogEnum(light) << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glLightxv)(GLenum light, GLenum pname, const GLfixed *params) { - CALL_GL_API(glLightxv, light, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glLightxv") << GLLogEnum(light) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} - -void API_ENTRY(glLineWidth)(GLfloat width) { - CALL_GL_API(glLineWidth, width); - GLLog("glLineWidth") << width; -} - -void API_ENTRY(glLineWidthx)(GLfixed width) { - CALL_GL_API(glLineWidthx, width); - GLLog("glLineWidth") << GLLogFixed(width); -} - -void API_ENTRY(glLoadIdentity)(void) { - CALL_GL_API(glLoadIdentity); - GLLog("glLoadIdentity"); -} - -void API_ENTRY(glLoadMatrixf)(const GLfloat *m) { - CALL_GL_API(glLoadMatrixf, m); - GLLog("glLoadMatrixf") << GLLogBuffer<GLfloat>(m, 16); -} - -void API_ENTRY(glLoadMatrixx)(const GLfixed *m) { - CALL_GL_API(glLoadMatrixx, m); - GLLog("glLoadMatrixx") << GLLogBuffer<GLfixed>(m, 16); -} - -void API_ENTRY(glLogicOp)(GLenum opcode) { - CALL_GL_API(glLogicOp, opcode); - GLLog("glLogicOp") << GLLogEnum(opcode); -} - -void API_ENTRY(glMaterialf)(GLenum face, GLenum pname, GLfloat param) { - CALL_GL_API(glMaterialf, face, pname, param); - GLLog("glMaterialf") << GLLogEnum(face) << GLLogEnum(pname) << param; -} - -void API_ENTRY(glMaterialfv)(GLenum face, GLenum pname, const GLfloat *params) { - CALL_GL_API(glMaterialfv, face, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glMaterialfv") << GLLogEnum(face) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glMaterialx)(GLenum face, GLenum pname, GLfixed param) { - CALL_GL_API(glMaterialx, face, pname, param); - GLLog("glMaterialx") << GLLogEnum(face) << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glMaterialxv)(GLenum face, GLenum pname, const GLfixed *params) { - CALL_GL_API(glMaterialxv, face, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glMaterialxv") << GLLogEnum(face) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} - -void API_ENTRY(glMatrixMode)(GLenum mode) { - CALL_GL_API(glMatrixMode, mode); - GLLog("glMatrixMode") << GLLogEnum(mode); -} - -void API_ENTRY(glMultMatrixf)(const GLfloat *m) { - CALL_GL_API(glMultMatrixf, m); - GLLog("glMultMatrixf") << GLLogBuffer<GLfloat>(m, 16); -} - -void API_ENTRY(glMultMatrixx)(const GLfixed *m) { - CALL_GL_API(glMultMatrixx, m); - GLLog("glMultMatrixx") << GLLogBuffer<GLfixed>(m, 16); -} - -void API_ENTRY(glMultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - CALL_GL_API(glMultiTexCoord4f, target, s, t, r, q); - GLLog("glMultiTexCoord4f") << GLLogEnum(target) << s << t << r << q; -} - -void API_ENTRY(glMultiTexCoord4x)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) { - CALL_GL_API(glMultiTexCoord4x, target, s, t, r, q); - GLLog("glMultiTexCoord4x") << GLLogEnum(target) - << GLLogFixed(s) << GLLogFixed(t) << GLLogFixed(r) << GLLogFixed(q); -} - -void API_ENTRY(glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz) { - CALL_GL_API(glNormal3f, nx, ny, nz); - GLLog("glNormal3f") << nx << ny << nz; -} - -void API_ENTRY(glNormal3x)(GLfixed nx, GLfixed ny, GLfixed nz) { - CALL_GL_API(glNormal3x, nx, ny, nz); - GLLog("glNormal3x") << GLLogFixed(nx) << GLLogFixed(ny) << GLLogFixed(nz); -} - -void API_ENTRY(glNormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glNormalPointer, type, stride, pointer); - GLLog("glNormalPointer") << GLLogEnum(type) << stride << pointer; -} - -void API_ENTRY(glOrthof)( GLfloat left, GLfloat right, - GLfloat bottom, GLfloat top, - GLfloat zNear, GLfloat zFar) { - CALL_GL_API(glOrthof, left, right, bottom, top, zNear, zFar); - GLLog("glOrthof") << left << right << bottom << top << zNear << zFar; -} - -void API_ENTRY(glOrthox)( GLfixed left, GLfixed right, - GLfixed bottom, GLfixed top, - GLfixed zNear, GLfixed zFar) { - CALL_GL_API(glOrthox, left, right, bottom, top, zNear, zFar); - GLLog("glOrthox") << GLLogFixed(left) << GLLogFixed(right) - << GLLogFixed(bottom) << GLLogFixed(top) - << GLLogFixed(zNear) << GLLogFixed(zFar); -} - -void API_ENTRY(glPixelStorei)(GLenum pname, GLint param) { - CALL_GL_API(glPixelStorei, pname, param); - GLLog("glPixelStorei") << GLLogEnum(pname) << param; -} - -void API_ENTRY(glPointSize)(GLfloat size) { - CALL_GL_API(glPointSize, size); - GLLog("glPointSize") << size; -} - -void API_ENTRY(glPointSizex)(GLfixed size) { - CALL_GL_API(glPointSizex, size); - GLLog("glPointSizex") << GLLogFixed(size); -} - -void API_ENTRY(glPolygonOffset)(GLfloat factor, GLfloat units) { - CALL_GL_API(glPolygonOffset, factor, units); - GLLog("glPolygonOffset") << factor << units; -} - -void API_ENTRY(glPolygonOffsetx)(GLfixed factor, GLfixed units) { - CALL_GL_API(glPolygonOffsetx, factor, units); - GLLog("glPolygonOffsetx") << GLLogFixed(factor) << GLLogFixed(units); -} - -void API_ENTRY(glPopMatrix)(void) { - CALL_GL_API(glPopMatrix); - GLLog("glPopMatrix"); -} - -void API_ENTRY(glPushMatrix)(void) { - CALL_GL_API(glPushMatrix); - GLLog("glPushMatrix"); -} - -void API_ENTRY(glReadPixels)( GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, GLvoid *pixels) { - CALL_GL_API(glReadPixels, x, y, width, height, format, type, pixels); - // XXX: we need to compute the size of this buffer - GLLog("glReadPixels") << x << y << width << height << GLLogEnum(format) << GLLogEnum(type) - << GLLogBuffer<unsigned char>(static_cast<unsigned char *>(pixels)); -} - -void API_ENTRY(glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glRotatef, angle, x, y, z); - GLLog("glRotatef") << angle << x << y << z; -} - -void API_ENTRY(glRotatex)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glRotatex, angle, x, y, z); - GLLog("glRotatex") << GLLogFixed(angle) << GLLogFixed(x) << GLLogFixed(y) << GLLogFixed(z); -} - -void API_ENTRY(glSampleCoverage)(GLclampf value, GLboolean invert) { - CALL_GL_API(glSampleCoverage, value, invert); - GLLog("glSampleCoverage") << value << GLLogBool(invert); -} - -void API_ENTRY(glSampleCoveragex)(GLclampx value, GLboolean invert) { - CALL_GL_API(glSampleCoveragex, value, invert); - GLLog("glSampleCoveragex") << GLLogFixed(value) << GLLogBool(invert); -} - -void API_ENTRY(glScalef)(GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glScalef, x, y, z); - GLLog("glScalef") << x << y << z; -} - -void API_ENTRY(glScalex)(GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glScalex, x, y, z); - GLLog("glScalex") << GLLogFixed(x) << GLLogFixed(y) << GLLogFixed(z); -} - -void API_ENTRY(glScissor)(GLint x, GLint y, GLsizei width, GLsizei height) { - CALL_GL_API(glScissor, x, y, width, height); - GLLog("glScissor") << x << y << width << height; -} - -void API_ENTRY(glShadeModel)(GLenum mode) { - CALL_GL_API(glShadeModel, mode); - GLLog("glShadeModel") << GLLogEnum(mode); -} - -void API_ENTRY(glStencilFunc)(GLenum func, GLint ref, GLuint mask) { - CALL_GL_API(glStencilFunc, func, ref, mask); - GLLog("glStencilFunc") << GLLogEnum(func) << ref << mask; -} - -void API_ENTRY(glStencilMask)(GLuint mask) { - CALL_GL_API(glStencilMask, mask); - GLLog("glStencilMask") << mask; -} - -void API_ENTRY(glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass) { - CALL_GL_API(glStencilOp, fail, zfail, zpass); - GLLog("glStencilOp") << GLLogEnum(fail) << GLLogEnum(zfail) << GLLogEnum(zpass); -} - -void API_ENTRY(glTexCoordPointer)( GLint size, GLenum type, - GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glTexCoordPointer, size, type, stride, pointer); - GLLog("glTexCoordPointer") << size << GLLogEnum(type) << stride << pointer; -} - -void API_ENTRY(glTexEnvf)(GLenum target, GLenum pname, GLfloat param) { - CALL_GL_API(glTexEnvf, target, pname, param); - GLLog("glTexEnvf") << GLLogEnum(target) << GLLogEnum(pname) << param; -} - -void API_ENTRY(glTexEnvfv)(GLenum target, GLenum pname, const GLfloat *params) { - CALL_GL_API(glTexEnvfv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexEnvx") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glTexEnvx)(GLenum target, GLenum pname, GLfixed param) { - CALL_GL_API(glTexEnvx, target, pname, param); - GLLog("glTexEnvx") << GLLogEnum(target) << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glTexEnvxv)(GLenum target, GLenum pname, const GLfixed *params) { - CALL_GL_API(glTexEnvxv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexEnvxv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} - -void API_ENTRY(glTexImage2D)( GLenum target, GLint level, GLint internalformat, - GLsizei width, GLsizei height, GLint border, GLenum format, - GLenum type, const GLvoid *pixels) { - CALL_GL_API(glTexImage2D, target, level, internalformat, width, height, - border, format, type, pixels); - GLLog("glTexImage2D") << GLLogEnum(target) << level << GLLogEnum(internalformat) - << width << height << border << GLLogEnum(format) << GLLogEnum(type) - << GLLogBuffer<unsigned char>( static_cast<const unsigned char *>(pixels)); -} - -void API_ENTRY(glTexParameterf)(GLenum target, GLenum pname, GLfloat param) { - CALL_GL_API(glTexParameterf, target, pname, param); - GLLog("glTexParameterf") << GLLogEnum(target) << GLLogEnum(pname) << param; -} - -void API_ENTRY(glTexParameterx)(GLenum target, GLenum pname, GLfixed param) { - CALL_GL_API(glTexParameterx, target, pname, param); - GLLog("glTexParameterx") << GLLogEnum(target) << GLLogEnum(pname) << GLLogFixed(param); -} - -void API_ENTRY(glTexSubImage2D)( GLenum target, GLint level, GLint xoffset, - GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLenum type, const GLvoid *pixels) { - CALL_GL_API(glTexSubImage2D, target, level, xoffset, yoffset, - width, height, format, type, pixels); - GLLog("glTexSubImage2D") << GLLogEnum(target) << level << xoffset << yoffset - << width << height << GLLogEnum(format) << GLLogEnum(type) - << GLLogBuffer<unsigned char>( static_cast<const unsigned char *>(pixels)); -} - -void API_ENTRY(glTranslatef)(GLfloat x, GLfloat y, GLfloat z) { - CALL_GL_API(glTranslatef, x, y, z); - GLLog("glTranslatef") << x << y << z; -} - -void API_ENTRY(glTranslatex)(GLfixed x, GLfixed y, GLfixed z) { - CALL_GL_API(glTranslatex, x, y, z); - GLLog("glTranslatex") << GLLogFixed(x) << GLLogFixed(y) << GLLogFixed(z); -} - -void API_ENTRY(glVertexPointer)( GLint size, GLenum type, - GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glVertexPointer, size, type, stride, pointer); - GLLog("glVertexPointer") << size << GLLogEnum(type) << stride << pointer; -} - -void API_ENTRY(glViewport)(GLint x, GLint y, GLsizei width, GLsizei height) { - CALL_GL_API(glViewport, x, y, width, height); - GLLog("glViewport") << x << y << width << height; -} - -// ES 1.1 -void API_ENTRY(glClipPlanef)(GLenum plane, const GLfloat *equation) { - CALL_GL_API(glClipPlanef, plane, equation); - GLLog("glClipPlanef") << GLLogEnum(plane) << GLLogBuffer<GLfloat>(equation, 4); -} -void API_ENTRY(glClipPlanex)(GLenum plane, const GLfixed *equation) { - CALL_GL_API(glClipPlanex, plane, equation); - GLLog("glClipPlanex") << GLLogEnum(plane) << GLLogBuffer<GLfixed>(equation, 4); -} -void API_ENTRY(glBindBuffer)(GLenum target, GLuint buffer) { - CALL_GL_API(glBindBuffer, target, buffer); - GLLog("glBindBuffer") << GLLogEnum(target) << buffer; -} -void API_ENTRY(glBufferData)(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) { - CALL_GL_API(glBufferData, target, size, data, usage); - GLLog("glBufferData") << GLLogEnum(target) << size - << GLLogBuffer<unsigned char>(static_cast<const unsigned char*>(data), size); -} -void API_ENTRY(glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) { - CALL_GL_API(glBufferSubData, target, offset, size, data); - GLLog("glBufferSubData") << GLLogEnum(target) << offset << size - << GLLogBuffer<unsigned char>(static_cast<const unsigned char*>(data), size); -} -void API_ENTRY(glDeleteBuffers)(GLsizei n, const GLuint* buffers) { - CALL_GL_API(glDeleteBuffers, n, buffers); - GLLog("glDeleteBuffers") << n << GLLogBuffer<GLuint>(buffers, n); -} -void API_ENTRY(glGenBuffers)(GLsizei n, GLuint* buffers) { - CALL_GL_API(glGenBuffers, n, buffers); - GLLog("glGenBuffers") << n << GLLogBuffer<GLuint>(buffers, n); -} -void API_ENTRY(glGetBooleanv)(GLenum pname, GLboolean *params) { - CALL_GL_API(glGetBooleanv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetBooleanv") << GLLogEnum(pname) << GLLogBuffer<GLboolean>(params); -} -void API_ENTRY(glGetFixedv)(GLenum pname, GLfixed *params) { - CALL_GL_API(glGetFixedv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetFixedv") << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glGetFloatv)(GLenum pname, GLfloat *params) { - CALL_GL_API(glGetFloatv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetFloatv") << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glGetPointerv)(GLenum pname, void **params) { - CALL_GL_API(glGetPointerv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetPointerv") << GLLogEnum(pname) << GLLogBuffer<void*>(params); -} -void API_ENTRY(glGetBufferParameteriv)(GLenum target, GLenum pname, GLint *params) { - // XXX: we need to compute the size of this buffer - CALL_GL_API(glGetBufferParameteriv, target, pname, params); - GLLog("glGetBufferParameteriv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} -void API_ENTRY(glGetClipPlanef)(GLenum pname, GLfloat eqn[4]) { - CALL_GL_API(glGetClipPlanef, pname, eqn); - GLLog("glGetClipPlanef") << GLLogEnum(pname) << GLLogBuffer<GLfloat>(eqn, 4); -} -void API_ENTRY(glGetClipPlanex)(GLenum pname, GLfixed eqn[4]) { - CALL_GL_API(glGetClipPlanex, pname, eqn); - GLLog("glGetClipPlanex") << GLLogEnum(pname) << GLLogBuffer<GLfixed>(eqn, 4); -} -void API_ENTRY(glGetLightxv)(GLenum light, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetLightxv, light, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetLightxv") << GLLogEnum(light) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glGetLightfv)(GLenum light, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetLightfv, light, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetLightfv") << GLLogEnum(light) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glGetMaterialxv)(GLenum face, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetMaterialxv, face, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetMaterialxv") << GLLogEnum(face) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glGetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetMaterialfv, face, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetMaterialfv") << GLLogEnum(face) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glGetTexEnvfv)(GLenum env, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetTexEnvfv, env, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexEnvfv") << GLLogEnum(env) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glGetTexEnviv)(GLenum env, GLenum pname, GLint *params) { - CALL_GL_API(glGetTexEnviv, env, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexEnviv") << GLLogEnum(env) << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} -void API_ENTRY(glGetTexEnvxv)(GLenum env, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetTexEnvxv, env, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexEnvxv") << GLLogEnum(env) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) { - CALL_GL_API(glGetTexParameterfv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexParameterfv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glGetTexParameteriv)(GLenum target, GLenum pname, GLint *params) { - CALL_GL_API(glGetTexParameteriv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexParameteriv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} -void API_ENTRY(glGetTexParameterxv)(GLenum target, GLenum pname, GLfixed *params) { - CALL_GL_API(glGetTexParameterxv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glGetTexParameterxv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -GLboolean API_ENTRY(glIsBuffer)(GLuint buffer) { - GLLog("glIsBuffer") << buffer; - CALL_GL_API_RETURN(glIsBuffer, buffer); -} -GLboolean API_ENTRY(glIsEnabled)(GLenum cap) { - GLLog("glIsEnabled") << GLLogEnum(cap); - CALL_GL_API_RETURN(glIsEnabled, cap); -} -GLboolean API_ENTRY(glIsTexture)(GLuint texture) { - GLLog("glIsTexture") << texture; - CALL_GL_API_RETURN(glIsTexture, texture); -} -void API_ENTRY(glPointParameterf)(GLenum pname, GLfloat param) { - CALL_GL_API(glPointParameterf, pname, param); - GLLog("glPointParameterf") << GLLogEnum(pname) << param; -} -void API_ENTRY(glPointParameterfv)(GLenum pname, const GLfloat *params) { - CALL_GL_API(glPointParameterfv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glPointParameterfv") << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} -void API_ENTRY(glPointParameterx)(GLenum pname, GLfixed param) { - CALL_GL_API(glPointParameterx, pname, param); - GLLog("glPointParameterx") << GLLogEnum(pname) << GLLogFixed(param); -} -void API_ENTRY(glPointParameterxv)(GLenum pname, const GLfixed *params) { - CALL_GL_API(glPointParameterxv, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glPointParameterxv") << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - CALL_GL_API(glColor4ub, red, green, blue, alpha); - GLLog("glColor4ub") << red << green << blue << alpha; -} -void API_ENTRY(glTexEnvi)(GLenum target, GLenum pname, GLint param) { - CALL_GL_API(glTexEnvi, target, pname, param); - GLLog("glTexEnvi") << GLLogEnum(target) << GLLogEnum(pname) << param; -} -void API_ENTRY(glTexEnviv)(GLenum target, GLenum pname, const GLint *params) { - CALL_GL_API(glTexEnviv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexEnviv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} - -void API_ENTRY(glTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) { - CALL_GL_API(glTexParameterfv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexParameterfv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfloat>(params); -} - -void API_ENTRY(glTexParameteriv)(GLenum target, GLenum pname, const GLint *params) { - CALL_GL_API(glTexParameteriv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexParameteriv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLint>(params); -} - -void API_ENTRY(glTexParameteri)(GLenum target, GLenum pname, GLint param) { - CALL_GL_API(glTexParameteri, target, pname, param); - GLLog("glTexParameteri") << GLLogEnum(target) << GLLogEnum(pname) << param; -} -void API_ENTRY(glTexParameterxv)(GLenum target, GLenum pname, const GLfixed *params) { - CALL_GL_API(glTexParameterxv, target, pname, params); - // XXX: we need to compute the size of this buffer - GLLog("glTexParameterxv") << GLLogEnum(target) << GLLogEnum(pname) << GLLogBuffer<GLfixed>(params); -} -void API_ENTRY(glPointSizePointerOES)(GLenum type, GLsizei stride, const GLvoid *pointer) { - CALL_GL_API(glPointSizePointerOES, type, stride, pointer); - GLLog("glPointSizePointerOES") << GLLogEnum(type) << stride << pointer; -} - -// Extensions -void API_ENTRY(glDrawTexsOES)(GLshort x , GLshort y, GLshort z, GLshort w, GLshort h) { - CALL_GL_API(glDrawTexsOES, x, y, z, w, h); - GLLog("glDrawTexsOES") << x << y << z << w << h; -} -void API_ENTRY(glDrawTexiOES)(GLint x, GLint y, GLint z, GLint w, GLint h) { - CALL_GL_API(glDrawTexiOES, x, y, z, w, h); - GLLog("glDrawTexiOES") << x << y << z << w << h; -} -void API_ENTRY(glDrawTexfOES)(GLfloat x, GLfloat y, GLfloat z, GLfloat w, GLfloat h) { - CALL_GL_API(glDrawTexfOES, x, y, z, w, h); - GLLog("glDrawTexfOES") << x << y << z << w << h; -} -void API_ENTRY(glDrawTexxOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) { - CALL_GL_API(glDrawTexxOES, x, y, z, w, h); - GLLog("glDrawTexfOES") << GLLogFixed(x) << GLLogFixed(y) << GLLogFixed(z) << GLLogFixed(w) << GLLogFixed(h); -} -void API_ENTRY(glDrawTexsvOES)(const GLshort* coords) { - CALL_GL_API(glDrawTexsvOES, coords); - GLLog("glDrawTexsvOES") << GLLogBuffer<GLshort>(coords, 5); -} -void API_ENTRY(glDrawTexivOES)(const GLint* coords) { - CALL_GL_API(glDrawTexivOES, coords); - GLLog("glDrawTexivOES") << GLLogBuffer<GLint>(coords, 5); -} -void API_ENTRY(glDrawTexfvOES)(const GLfloat* coords) { - CALL_GL_API(glDrawTexfvOES, coords); - GLLog("glDrawTexfvOES") << GLLogBuffer<GLfloat>(coords, 5); -} -void API_ENTRY(glDrawTexxvOES)(const GLfixed* coords) { - CALL_GL_API(glDrawTexxvOES, coords); - GLLog("glDrawTexxvOES") << GLLogBuffer<GLfixed>(coords, 5); -} -GLbitfield API_ENTRY(glQueryMatrixxOES)(GLfixed* mantissa, GLint* exponent) { - GLLog("glQueryMatrixxOES") << GLLogBuffer<GLfixed>(mantissa, 16) << GLLogBuffer<GLfixed>(exponent, 16); - CALL_GL_API_RETURN(glQueryMatrixxOES, mantissa, exponent); -} - -// ---------------------------------------------------------------------------- -}; // namespace android -// ---------------------------------------------------------------------------- diff --git a/opengl/libs/egl_entries.in b/opengl/libs/egl_entries.in index 33b4c65..3b4551b 100644 --- a/opengl/libs/egl_entries.in +++ b/opengl/libs/egl_entries.in @@ -43,3 +43,10 @@ EGL_ENTRY(EGLSurface, eglCreatePbufferFromClientBuffer, EGLDisplay, EGLenum, EGL /* EGL 1.3 */ /* EGL 1.4 */ + +/* EGL_EGLEXT_VERSION 3 */ + +EGL_ENTRY(EGLBoolean, eglLockSurfaceKHR, EGLDisplay, EGLSurface, const EGLint *) +EGL_ENTRY(EGLBoolean, eglUnlockSurfaceKHR, EGLDisplay, EGLSurface) +EGL_ENTRY(EGLImageKHR, eglCreateImageKHR, EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, const EGLint *) +EGL_ENTRY(EGLBoolean, eglDestroyImageKHR, EGLDisplay, EGLImageKHR) diff --git a/opengl/libs/gl_entries.in b/opengl/libs/gl_entries.in index b97e8fe..4e8f828 100644 --- a/opengl/libs/gl_entries.in +++ b/opengl/libs/gl_entries.in @@ -15,30 +15,30 @@ GL_ENTRY(void, glColorMask, GLboolean, GLboolean, GLboolean, GLboolean) GL_ENTRY(void, glDepthMask, GLboolean) GL_ENTRY(void, glStencilMask, GLuint) GL_ENTRY(void, glDepthFunc, GLenum) -GL_ENTRY(void, glDepthRangef, GLclampf zNear, GLclampf zFar) -GL_ENTRY(void, glDepthRangex, GLclampx zNear, GLclampx zFar) -GL_ENTRY(void, glPolygonOffset, GLfloat factor, GLfloat units) -GL_ENTRY(void, glPolygonOffsetx, GLfixed factor, GLfixed units) -GL_ENTRY(void, glLogicOp, GLenum opcode) -GL_ENTRY(void, glAlphaFuncx, GLenum func, GLclampx ref) -GL_ENTRY(void, glAlphaFunc, GLenum func, GLclampf ref) -GL_ENTRY(void, glBlendFunc, GLenum sfactor, GLenum dfactor) -GL_ENTRY(void, glClear, GLbitfield mask) -GL_ENTRY(void, glClearColor, GLclampf r, GLclampf g, GLclampf b, GLclampf a) -GL_ENTRY(void, glClearColorx, GLclampx r, GLclampx g, GLclampx b, GLclampx a) -GL_ENTRY(void, glClearDepthf, GLclampf depth) -GL_ENTRY(void, glClearDepthx, GLclampx depth) -GL_ENTRY(void, glClearStencil, GLint s) +GL_ENTRY(void, glDepthRangef, GLclampf, GLclampf) +GL_ENTRY(void, glDepthRangex, GLclampx, GLclampx) +GL_ENTRY(void, glPolygonOffset, GLfloat, GLfloat) +GL_ENTRY(void, glPolygonOffsetx, GLfixed, GLfixed) +GL_ENTRY(void, glLogicOp, GLenum) +GL_ENTRY(void, glAlphaFuncx, GLenum, GLclampx) +GL_ENTRY(void, glAlphaFunc, GLenum, GLclampf) +GL_ENTRY(void, glBlendFunc, GLenum, GLenum) +GL_ENTRY(void, glClear, GLbitfield) +GL_ENTRY(void, glClearColor, GLclampf, GLclampf, GLclampf, GLclampf) +GL_ENTRY(void, glClearColorx, GLclampx, GLclampx, GLclampx, GLclampx) +GL_ENTRY(void, glClearDepthf, GLclampf) +GL_ENTRY(void, glClearDepthx, GLclampx) +GL_ENTRY(void, glClearStencil, GLint) GL_ENTRY(void, glPointSize, GLfloat) GL_ENTRY(void, glPointSizex, GLfixed) -GL_ENTRY(void, glSampleCoverage, GLclampf value, GLboolean invert) -GL_ENTRY(void, glSampleCoveragex, GLclampx value, GLboolean invert) -GL_ENTRY(void, glStencilFunc, GLenum func, GLint ref, GLuint mask) -GL_ENTRY(void, glStencilOp, GLenum fail, GLenum zfail, GLenum zpass) -GL_ENTRY(void, glScissor, GLint x, GLint y, GLsizei width, GLsizei height) -GL_ENTRY(void, glHint, GLenum, GLenum mode) -GL_ENTRY(void, glLineWidth, GLfloat width) -GL_ENTRY(void, glLineWidthx, GLfixed width) +GL_ENTRY(void, glSampleCoverage, GLclampf, GLboolean) +GL_ENTRY(void, glSampleCoveragex, GLclampx, GLboolean) +GL_ENTRY(void, glStencilFunc, GLenum, GLint, GLuint) +GL_ENTRY(void, glStencilOp, GLenum, GLenum, GLenum) +GL_ENTRY(void, glScissor, GLint, GLint, GLsizei, GLsizei) +GL_ENTRY(void, glHint, GLenum, GLenum) +GL_ENTRY(void, glLineWidth, GLfloat) +GL_ENTRY(void, glLineWidthx, GLfixed) GL_ENTRY(void, glShadeModel, GLenum) GL_ENTRY(void, glLightModelf, GLenum, GLfloat) GL_ENTRY(void, glLightModelfv, GLenum, const GLfloat *) @@ -63,12 +63,12 @@ GL_ENTRY(void, glTexCoordPointer, GLint, GLenum, GLsizei, const GLvoid *) GL_ENTRY(void, glEnableClientState, GLenum) GL_ENTRY(void, glDisableClientState, GLenum) GL_ENTRY(void, glClientActiveTexture, GLenum) -GL_ENTRY(void, glDrawArrays, GLenum, GLint first, GLsizei) +GL_ENTRY(void, glDrawArrays, GLenum, GLint, GLsizei) GL_ENTRY(void, glDrawElements, GLenum, GLsizei, GLenum, const GLvoid *) GL_ENTRY(void, glLoadIdentity, void) GL_ENTRY(void, glLoadMatrixf, const GLfloat*) GL_ENTRY(void, glLoadMatrixx, const GLfixed*) -GL_ENTRY(void, glMatrixMode, GLenum mode) +GL_ENTRY(void, glMatrixMode, GLenum) GL_ENTRY(void, glMultMatrixf, const GLfloat*) GL_ENTRY(void, glMultMatrixx, const GLfixed*) GL_ENTRY(void, glPopMatrix, void) @@ -87,7 +87,7 @@ GL_ENTRY(void, glViewport, GLint, GLint, GLsizei, GLsizei) GL_ENTRY(void, glActiveTexture, GLenum) GL_ENTRY(void, glBindTexture, GLenum, GLuint) GL_ENTRY(void, glGenTextures, GLsizei, GLuint*) -GL_ENTRY(void, glDeleteTextures, GLsizei n, const GLuint *) +GL_ENTRY(void, glDeleteTextures, GLsizei, const GLuint *) GL_ENTRY(void, glMultiTexCoord4f, GLenum, GLfloat, GLfloat, GLfloat, GLfloat) GL_ENTRY(void, glMultiTexCoord4x, GLenum, GLfixed, GLfixed, GLfixed, GLfixed) GL_ENTRY(void, glPixelStorei, GLenum, GLint) @@ -106,8 +106,8 @@ GL_ENTRY(void, glTexSubImage2D, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, G GL_ENTRY(void, glReadPixels, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *) // 1.1 additions -GL_ENTRY(void, glClipPlanef, GLenum plane, const GLfloat*) -GL_ENTRY(void, glClipPlanex, GLenum plane, const GLfixed*) +GL_ENTRY(void, glClipPlanef, GLenum, const GLfloat*) +GL_ENTRY(void, glClipPlanex, GLenum, const GLfixed*) GL_ENTRY(void, glBindBuffer, GLenum, GLuint) GL_ENTRY(void, glBufferData, GLenum, GLsizeiptr, const GLvoid*, GLenum) GL_ENTRY(void, glBufferSubData, GLenum, GLintptr, GLsizeiptr, const GLvoid*) @@ -144,7 +144,7 @@ GL_ENTRY(void, glTexParameterfv, GLenum, GLenum, const GLfloat *) GL_ENTRY(void, glTexParameteriv, GLenum, GLenum, const GLint *) GL_ENTRY(void, glTexParameteri, GLenum, GLenum, GLint) GL_ENTRY(void, glTexParameterxv, GLenum, GLenum, const GLfixed *) -GL_ENTRY(void, glPointSizePointerOES, GLenum type, GLsizei stride, const GLvoid*) +GL_ENTRY(void, glPointSizePointerOES, GLenum, GLsizei, const GLvoid*) // Extensions GL_ENTRY(void, glDrawTexsOES, GLshort, GLshort, GLshort, GLshort, GLshort) @@ -155,5 +155,40 @@ GL_ENTRY(void, glDrawTexsvOES, const GLshort*) GL_ENTRY(void, glDrawTexivOES, const GLint*) GL_ENTRY(void, glDrawTexfvOES, const GLfloat*) GL_ENTRY(void, glDrawTexxvOES, const GLfixed*) -GL_ENTRY(GLbitfield, glQueryMatrixxOES, GLfixed* mantissa, GLint* exponent) - +GL_ENTRY(GLbitfield, glQueryMatrixxOES, GLfixed*, GLint*) +GL_ENTRY(void, __glEGLImageTargetTexture2DOES, GLenum, GLeglImageOES) +GL_ENTRY(void, __glEGLImageTargetRenderbufferStorageOES, GLenum, GLeglImageOES) +GL_ENTRY(void, glBlendEquationSeparateOES, GLenum, GLenum) +GL_ENTRY(void, glBlendFuncSeparateOES, GLenum, GLenum, GLenum, GLenum) +GL_ENTRY(void, glBlendEquationOES, GLenum) +GL_ENTRY(GLboolean, glIsRenderbufferOES, GLuint) +GL_ENTRY(void, glBindRenderbufferOES, GLenum, GLuint) +GL_ENTRY(void, glDeleteRenderbuffersOES, GLsizei, const GLuint*) +GL_ENTRY(void, glGenRenderbuffersOES, GLsizei, GLuint*) +GL_ENTRY(void, glRenderbufferStorageOES, GLenum, GLenum, GLsizei, GLsizei) +GL_ENTRY(void, glGetRenderbufferParameterivOES, GLenum, GLenum, GLint*) +GL_ENTRY(GLboolean, glIsFramebufferOES, GLuint) +GL_ENTRY(void, glBindFramebufferOES, GLenum, GLuint) +GL_ENTRY(void, glDeleteFramebuffersOES, GLsizei, const GLuint*) +GL_ENTRY(void, glGenFramebuffersOES, GLsizei, GLuint*) +GL_ENTRY(GLenum, glCheckFramebufferStatusOES, GLenum) +GL_ENTRY(void, glFramebufferRenderbufferOES, GLenum, GLenum, GLenum, GLuint) +GL_ENTRY(void, glFramebufferTexture2DOES, GLenum, GLenum, GLenum, GLuint, GLint) +GL_ENTRY(void, glGetFramebufferAttachmentParameterivOES, GLenum, GLenum, GLenum, GLint*) +GL_ENTRY(void, glGenerateMipmapOES, GLenum) +GL_ENTRY(void*, glMapBufferOES, GLenum, GLenum) +GL_ENTRY(GLboolean, glUnmapBufferOES, GLenum) +GL_ENTRY(void, glGetBufferPointervOES, GLenum, GLenum, void**) +GL_ENTRY(void, glCurrentPaletteMatrixOES, GLuint) +GL_ENTRY(void, glLoadPaletteFromModelViewMatrixOES, void) +GL_ENTRY(void, glMatrixIndexPointerOES, GLint, GLenum, GLsizei, const GLvoid *) +GL_ENTRY(void, glWeightPointerOES, GLint, GLenum, GLsizei, const GLvoid *) +GL_ENTRY(void, glTexGenfOES, GLenum, GLenum, GLfloat) +GL_ENTRY(void, glTexGenfvOES, GLenum, GLenum, const GLfloat *) +GL_ENTRY(void, glTexGeniOES, GLenum, GLenum, GLint) +GL_ENTRY(void, glTexGenivOES, GLenum, GLenum, const GLint *) +GL_ENTRY(void, glTexGenxOES, GLenum, GLenum, GLfixed) +GL_ENTRY(void, glTexGenxvOES, GLenum, GLenum, const GLfixed *) +GL_ENTRY(void, glGetTexGenfvOES, GLenum, GLenum, GLfloat *) +GL_ENTRY(void, glGetTexGenivOES, GLenum, GLenum, GLint *) +GL_ENTRY(void, glGetTexGenxvOES, GLenum, GLenum, GLfixed *) diff --git a/opengl/libs/hooks.h b/opengl/libs/hooks.h index 63fb017..392724f 100644 --- a/opengl/libs/hooks.h +++ b/opengl/libs/hooks.h @@ -22,9 +22,10 @@ #include <errno.h> #include <EGL/egl.h> +#include <EGL/eglext.h> #include <GLES/gl.h> +#include <GLES/glext.h> -#define GL_LOGGER 0 #if !defined(__arm__) #define USE_SLOW_BINDING 1 #else @@ -35,7 +36,7 @@ #define MAX_NUMBER_OF_GL_EXTENSIONS 32 -#if defined(HAVE_ANDROID_OS) && !USE_SLOW_BINDING && !GL_LOGGER && __OPTIMIZE__ +#if defined(HAVE_ANDROID_OS) && !USE_SLOW_BINDING && __OPTIMIZE__ #define USE_FAST_TLS_KEY 1 #else #define USE_FAST_TLS_KEY 0 @@ -55,7 +56,10 @@ const unsigned int NUM_DISPLAYS = 1; enum { IMPL_HARDWARE = 0, IMPL_SOFTWARE, - IMPL_CONTEXT_LOST, + + IMPL_NUM_DRIVERS_IMPLEMENTATIONS, + + IMPL_CONTEXT_LOST = IMPL_NUM_DRIVERS_IMPLEMENTATIONS, IMPL_NO_CONTEXT, IMPL_NUM_IMPLEMENTATIONS diff --git a/opengl/libs/tools/glapigen b/opengl/libs/tools/glapigen new file mode 100755 index 0000000..86506a8 --- /dev/null +++ b/opengl/libs/tools/glapigen @@ -0,0 +1,65 @@ +#! /usr/bin/perl +# +# Copyright (C) 2008 Google Inc. +# +# 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. + +use strict; + +my $lineNum = 0; +while (my $line = <>) { + $lineNum += 1; + next if $line =~ /^\//; + next if $line =~ /^#/; + next if $line =~ /^\s*$/; + if ($line !~ /^GL_ENTRY\(([^,]+),\s*([^,]+),\s*([^)]+)\)/) { + printf STDERR "Cannot parse line number $lineNum:\n$line"; + next; + } + my $type = $1; + my $name = $2; + my $args = $3; + + printf("%s API_ENTRY(%s)(", $type, $name); + my @args = split ',', $args; + + my $len = scalar(@args); + for (my $num = 0; $num < $len; $num++) { + print ", " if $num > 0; + my $arg = $args[$num]; + if ($arg =~ /([^]]+)(\[[^]]\])/) { + my $argtype = $1; + my $array = $2; + printf("%s arg%d%s", $argtype, $num, $array); + } else { + if ($arg eq "void") { + printf("void"); + } else { + printf("%s arg%d", $arg, $num); + } + } + } + printf(") {\n"); + if ($type eq "void") { + printf(" CALL_GL_API(%s", $name); + } else { + printf(" CALL_GL_API_RETURN(%s", $name); + } + for (my $num = 0; $num < $len; $num++) { + if ($args[$num] ne "void") { + print ", "; + printf("arg%d", $num); + } + } + printf(");\n}\n\n"); +} |