From 52e0d927c7853d6d5c0a5828d954e1e7754c78ed Mon Sep 17 00:00:00 2001 From: mittorn Date: Sun, 14 Jun 2015 19:57:04 +0700 Subject: [PATCH] Fix hard-float build --- GL/glesinterface.h | 360 +++++++++++++++++++++++---------------------- nanogl.cpp | 14 ++ 2 files changed, 195 insertions(+), 179 deletions(-) diff --git a/GL/glesinterface.h b/GL/glesinterface.h index 81ceb0f..e6e2d45 100644 --- a/GL/glesinterface.h +++ b/GL/glesinterface.h @@ -27,188 +27,190 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #pragma softfp_linkage #endif #endif + +#define S __attribute__((pcs("aapcs"))) + struct GlESInterface { - int (*eglChooseConfig) (int dpy, const int *attrib_list, int *configs, int config_size, int *num_config); - int (*eglCopyBuffers) (int dpy, int surface, void* target); - int (*eglCreateContext) (int dpy, int config, int share_list, const int *attrib_list); - int (*eglCreatePbufferSurface) (int dpy, int config, const int *attrib_list); - int (*eglCreatePixmapSurface) (int dpy, int config, void* pixmap, const int *attrib_list); - int (*eglCreateWindowSurface) (int dpy, int config, void* window, const int *attrib_list); - int (*eglDestroyContext) (int dpy, int ctx); - int (*eglDestroySurface) (int dpy, int surface); - int (*eglGetConfigAttrib) (int dpy, int config, int attribute, int *value); - int (*eglGetConfigs) (int dpy, int *configs, int config_size, int *num_config); - int (*eglGetCurrentContext) (void); - int (*eglGetCurrentDisplay) (void); - int (*eglGetCurrentSurface) (int readdraw); - int (*eglGetDisplay) (int display); - int (*eglGetError) (void); - - void (*(*eglGetProcAddress) (const char *procname))(...); - - int (*eglInitialize) (int dpy, int *major, int *minor); - int (*eglMakeCurrent) (int dpy, int draw, int read, int ctx); - int (*eglQueryContext) (int dpy, int ctx, int attribute, int *value); - const char * (*eglQueryString) (int dpy, int name); - int (*eglQuerySurface) (int dpy, int surface, int attribute, int *value); - int (*eglSwapBuffers) (int dpy, int draw); - int (*eglTerminate) (int dpy); - int (*eglWaitGL) (void); - int (*eglWaitNative) (int engine); - - void (*glActiveTexture) (unsigned int texture); - void (*glAlphaFunc) (unsigned int func, float ref); - void (*glAlphaFuncx) (unsigned int func, int ref); - void (*glBindTexture) (unsigned int target, unsigned int texture); - void (*glBlendFunc) (unsigned int sfactor, unsigned int dfactor); - void (*glClear) (unsigned int mask); - void (*glClearColor) (float red, float green, float blue, float alpha); - void (*glClearColorx) (int red, int green, int blue, int alpha); - void (*glClearDepthf) (float depth); - void (*glClearDepthx) (int depth); - void (*glClearStencil) (int s); - void (*glClientActiveTexture) (unsigned int texture); - void (*glColor4f) (float red, float green, float blue, float alpha); - void (*glColor4x) (int red, int green, int blue, int alpha); - void (*glColorMask) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha); - void (*glColorPointer) (int size, unsigned int type, int stride, const void *pointer); - void (*glCompressedTexImage2D) (unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, const void *data); - void (*glCompressedTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, const void *data); - void (*glCopyTexImage2D) (unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border); - void (*glCopyTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); - void (*glCullFace) (unsigned int mode); - void (*glDeleteTextures) (int n, const unsigned int *textures); - void (*glDepthFunc) (unsigned int func); - void (*glDepthMask) (unsigned char flag); - void (*glDepthRangef) (float zNear, float zFar); - void (*glDepthRangex) (int zNear, int zFar); - void (*glDisable) (unsigned int cap); - void (*glDisableClientState) (unsigned int array); - void (*glDrawArrays) (unsigned int mode, int first, int count); - void (*glDrawElements) (unsigned int mode, int count, unsigned int type, const void *indices); - void (*glEnable) (unsigned int cap); - void (*glEnableClientState) (unsigned int array); - void (*glFinish) (void); - void (*glFlush) (void); - void (*glFogf) (unsigned int pname, float param); - void (*glFogfv) (unsigned int pname, const float *params); - void (*glFogx) (unsigned int pname, int param); - void (*glFogxv) (unsigned int pname, const int *params); - void (*glFrontFace) (unsigned int mode); - void (*glFrustumf) (float left, float right, float bottom, float top, float zNear, float zFar); - void (*glFrustumx) (int left, int right, int bottom, int top, int zNear, int zFar); - void (*glGenTextures) (int n, unsigned int *textures); - unsigned int (*glGetError) (void); - void (*glGetIntegerv) (unsigned int pname, int *params); - const unsigned char * (*glGetString) (unsigned int name); - void (*glHint) (unsigned int target, unsigned int mode); - void (*glLightModelf) (unsigned int pname, float param); - void (*glLightModelfv) (unsigned int pname, const float *params); - void (*glLightModelx) (unsigned int pname, int param); - void (*glLightModelxv) (unsigned int pname, const int *params); - void (*glLightf) (unsigned int light, unsigned int pname, float param); - void (*glLightfv) (unsigned int light, unsigned int pname, const float *params); - void (*glLightx) (unsigned int light, unsigned int pname, int param); - void (*glLightxv) (unsigned int light, unsigned int pname, const int *params); - void (*glLineWidth) (float width); - void (*glLineWidthx) (int width); - void (*glLoadIdentity) (void); - void (*glLoadMatrixf) (const float *m); - void (*glLoadMatrixx) (const int *m); - void (*glLogicOp) (unsigned int opcode); - void (*glMaterialf) (unsigned int face, unsigned int pname, float param); - void (*glMaterialfv) (unsigned int face, unsigned int pname, const float *params); - void (*glMaterialx) (unsigned int face, unsigned int pname, int param); - void (*glMaterialxv) (unsigned int face, unsigned int pname, const int *params); - void (*glMatrixMode) (unsigned int mode); - void (*glMultMatrixf) (const float *m); - void (*glMultMatrixx) (const int *m); - void (*glMultiTexCoord4f) (unsigned int target, float s, float t, float r, float q); - void (*glMultiTexCoord4x) (unsigned int target, int s, int t, int r, int q); - void (*glNormal3f) (float nx, float ny, float nz); - void (*glNormal3x) (int nx, int ny, int nz); - void (*glNormalPointer) (unsigned int type, int stride, const void *pointer); - void (*glOrthof) (float left, float right, float bottom, float top, float zNear, float zFar); - void (*glOrthox) (int left, int right, int bottom, int top, int zNear, int zFar); - void (*glPixelStorei) (unsigned int pname, int param); - void (*glPointSize) (float size); - void (*glPointSizex) (int size); - void (*glPolygonOffset) (float factor, float units); - void (*glPolygonOffsetx) (int factor, int units); - void (*glPopMatrix) (void); - void (*glPushMatrix) (void); - unsigned int (*glQueryMatrixxOES) (int mantissa[16], int exponent[16]); - void (*glReadPixels) (int x, int y, int width, int height, unsigned int format, unsigned int type, void *pixels); - void (*glRotatef) (float angle, float x, float y, float z); - void (*glRotatex) (int angle, int x, int y, int z); - void (*glSampleCoverage) (float value, unsigned char invert); - void (*glSampleCoveragex) (int value, unsigned char invert); - void (*glScalef) (float x, float y, float z); - void (*glScalex) (int x, int y, int z); - void (*glScissor) (int x, int y, int width, int height); - void (*glShadeModel) (unsigned int mode); - void (*glStencilFunc) (unsigned int func, int ref, unsigned int mask); - void (*glStencilMask) (unsigned int mask); - void (*glStencilOp) (unsigned int fail, unsigned int zfail, unsigned int zpass); - void (*glTexCoordPointer) (int size, unsigned int type, int stride, const void *pointer); - void (*glTexEnvf) (unsigned int target, unsigned int pname, float param); - void (*glTexEnvfv) (unsigned int target, unsigned int pname, const float *params); - void (*glTexEnvx) (unsigned int target, unsigned int pname, int param); - void (*glTexEnvxv) (unsigned int target, unsigned int pname, const int *params); - void (*glTexImage2D) (unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels); - void (*glTexParameterf) (unsigned int target, unsigned int pname, float param); - void (*glTexParameterx) (unsigned int target, unsigned int pname, int param); - void (*glTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int type, const void *pixels); - void (*glTranslatef) (float x, float y, float z); - void (*glTranslatex) (int x, int y, int z); - void (*glVertexPointer) (int size, unsigned int type, int stride, const void *pointer); - void (*glViewport) (int x, int y, int width, int height); - int (*eglSwapInterval) (int dpy, int interval); - void (*glBindBuffer) (unsigned int target, unsigned int buffer); - void (*glBufferData) (unsigned int target, int size, const void *data, unsigned int usage); - void (*glBufferSubData) (unsigned int target, int offset,int size, const void *data); - void (*glClipPlanef) (unsigned int plane, const float *equation); - void (*glClipPlanex) (unsigned int plane, const int *equation); - void (*glColor4ub) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha); - void (*glDeleteBuffers) (int n, const unsigned int *buffers); - void (*glGenBuffers) (int n, unsigned int *buffers); - void (*glGetBooleanv) (unsigned int pname, unsigned char *params); - void (*glGetBufferParameteriv) (unsigned int target, unsigned int pname, int *params); - void (*glGetClipPlanef) (unsigned int pname, float eqn[4]); - void (*glGetClipPlanex) (unsigned int pname, int eqn[4]); - void (*glGetFixedv) (unsigned int pname, int *params); - void (*glGetFloatv) (unsigned int pname, float *params); - void (*glGetLightfv) (unsigned int light, unsigned int pname, float *params); - void (*glGetLightxv) (unsigned int light, unsigned int pname, int *params); - void (*glGetMaterialfv) (unsigned int face, unsigned int pname, float *params); - void (*glGetMaterialxv) (unsigned int face, unsigned int pname, int *params); - void (*glGetPointerv) (unsigned int pname, void **params); - void (*glGetTexEnvfv) (unsigned int env, unsigned int pname, float *params); - void (*glGetTexEnviv) (unsigned int env, unsigned int pname, int *params); - void (*glGetTexEnvxv) (unsigned int env, unsigned int pname, int *params); - void (*glGetTexParameterfv) (unsigned int target, unsigned int pname, float *params); - void (*glGetTexParameteriv) (unsigned int target, unsigned int pname, int *params); - void (*glGetTexParameterxv) (unsigned int target, unsigned int pname, int *params); - unsigned char (*glIsBuffer) (unsigned int buffer); - unsigned char (*glIsEnabled) (unsigned int cap); - unsigned char (*glIsTexture) (unsigned int texture); - void (*glPointParameterf) (unsigned int pname, float param); - void (*glPointParameterfv) (unsigned int pname, const float *params); - void (*glPointParameterx) (unsigned int pname, int param); - void (*glPointParameterxv) (unsigned int pname, const int *params); - void (*glPointSizePointerOES) (unsigned int type, int stride, const void *pointer); - void (*glTexEnvi) (unsigned int target, unsigned int pname, int param); - void (*glTexEnviv) (unsigned int target, unsigned int pname, const int *params); - void (*glTexParameterfv) (unsigned int target, unsigned int pname, const float *params); - void (*glTexParameteri) (unsigned int target, unsigned int pname, int param); - void (*glTexParameteriv) (unsigned int target, unsigned int pname, const int *params); - void (*glTexParameterxv) (unsigned int target, unsigned int pname, const int *params); - - int (*eglBindTexImage) (int dpy, int surface, int buffer); - int (*eglReleaseTexImage) (int dpy, int surface, int buffer); - int (*eglSurfaceAttrib) (int dpy, int surface, int attribute, int value); + int (*eglChooseConfig) (int dpy, const int *attrib_list, int *configs, int config_size, int *num_config) S; + int (*eglCopyBuffers) (int dpy, int surface, void* target) S; + int (*eglCreateContext) (int dpy, int config, int share_list, const int *attrib_list) S; + int (*eglCreatePbufferSurface) (int dpy, int config, const int *attrib_list) S; + int (*eglCreatePixmapSurface) (int dpy, int config, void* pixmap, const int *attrib_list) S; + int (*eglCreateWindowSurface) (int dpy, int config, void* window, const int *attrib_list) S; + int (*eglDestroyContext) (int dpy, int ctx) S; + int (*eglDestroySurface) (int dpy, int surface) S; + int (*eglGetConfigAttrib) (int dpy, int config, int attribute, int *value) S; + int (*eglGetConfigs) (int dpy, int *configs, int config_size, int *num_config) S; + int (*eglGetCurrentContext) (void) S; + int (*eglGetCurrentDisplay) (void) S; + int (*eglGetCurrentSurface) (int readdraw) S; + int (*eglGetDisplay) (int display) S; + int (*eglGetError) (void) S; + + void (*(*eglGetProcAddress) (const char *procname))(...) S; + + int (*eglInitialize) (int dpy, int *major, int *minor) S; + int (*eglMakeCurrent) (int dpy, int draw, int read, int ctx) S; + int (*eglQueryContext) (int dpy, int ctx, int attribute, int *value) S; + const char * (*eglQueryString) (int dpy, int name) S; + int (*eglQuerySurface) (int dpy, int surface, int attribute, int *value) S; + int (*eglSwapBuffers) (int dpy, int draw) S; + int (*eglTerminate) (int dpy) S; + int (*eglWaitGL) (void) S; + int (*eglWaitNative) (int engine) S; + void (*glActiveTexture) (unsigned int texture) S; + void (*glAlphaFunc) (unsigned int func, float ref) S; + void (*glAlphaFuncx) (unsigned int func, int ref) S; + void (*glBindTexture) (unsigned int target, unsigned int texture) S; + void (*glBlendFunc) (unsigned int sfactor, unsigned int dfactor) S; + void (*glClear) (unsigned int mask) S; + void (*glClearColor) (float red, float green, float blue, float alpha) S; + void (*glClearColorx) (int red, int green, int blue, int alpha) S; + void (*glClearDepthf) (float depth) S; + void (*glClearDepthx) (int depth) S; + void (*glClearStencil) (int s) S; + void (*glClientActiveTexture) (unsigned int texture) S; + void (*glColor4f) (float red, float green, float blue, float alpha) S; + void (*glColor4x) (int red, int green, int blue, int alpha) S; + void (*glColorMask) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S; + void (*glColorPointer) (int size, unsigned int type, int stride, const void *pointer) S; + void (*glCompressedTexImage2D) (unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, const void *data) S; + void (*glCompressedTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, const void *data) S; + void (*glCopyTexImage2D) (unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border) S; + void (*glCopyTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) S; + void (*glCullFace) (unsigned int mode) S; + void (*glDeleteTextures) (int n, const unsigned int *textures) S; + void (*glDepthFunc) (unsigned int func) S; + void (*glDepthMask) (unsigned char flag) S; + void (*glDepthRangef) (float zNear, float zFar) S; + void (*glDepthRangex) (int zNear, int zFar) S; + void (*glDisable) (unsigned int cap) S; + void (*glDisableClientState) (unsigned int array) S; + void (*glDrawArrays) (unsigned int mode, int first, int count) S; + void (*glDrawElements) (unsigned int mode, int count, unsigned int type, const void *indices) S; + void (*glEnable) (unsigned int cap) S; + void (*glEnableClientState) (unsigned int array) S; + void (*glFinish) (void) S; + void (*glFlush) (void) S; + void (*glFogf) (unsigned int pname, float param) S; + void (*glFogfv) (unsigned int pname, const float *params) S; + void (*glFogx) (unsigned int pname, int param) S; + void (*glFogxv) (unsigned int pname, const int *params) S; + void (*glFrontFace) (unsigned int mode) S; + void (*glFrustumf) (float left, float right, float bottom, float top, float zNear, float zFar) S; + void (*glFrustumx) (int left, int right, int bottom, int top, int zNear, int zFar) S; + void (*glGenTextures) (int n, unsigned int *textures) S; + unsigned int (*glGetError) (void) S; + void (*glGetIntegerv) (unsigned int pname, int *params) S; + const unsigned char * (*glGetString) (unsigned int name) S; + void (*glHint) (unsigned int target, unsigned int mode) S; + void (*glLightModelf) (unsigned int pname, float param) S; + void (*glLightModelfv) (unsigned int pname, const float *params) S; + void (*glLightModelx) (unsigned int pname, int param) S; + void (*glLightModelxv) (unsigned int pname, const int *params) S; + void (*glLightf) (unsigned int light, unsigned int pname, float param) S; + void (*glLightfv) (unsigned int light, unsigned int pname, const float *params) S; + void (*glLightx) (unsigned int light, unsigned int pname, int param) S; + void (*glLightxv) (unsigned int light, unsigned int pname, const int *params) S; + void (*glLineWidth) (float width) S; + void (*glLineWidthx) (int width) S; + void (*glLoadIdentity) (void) S; + void (*glLoadMatrixf) (const float *m) S; + void (*glLoadMatrixx) (const int *m) S; + void (*glLogicOp) (unsigned int opcode) S; + void (*glMaterialf) (unsigned int face, unsigned int pname, float param) S; + void (*glMaterialfv) (unsigned int face, unsigned int pname, const float *params) S; + void (*glMaterialx) (unsigned int face, unsigned int pname, int param) S; + void (*glMaterialxv) (unsigned int face, unsigned int pname, const int *params) S; + void (*glMatrixMode) (unsigned int mode) S; + void (*glMultMatrixf) (const float *m) S; + void (*glMultMatrixx) (const int *m) S; + void (*glMultiTexCoord4f) (unsigned int target, float s, float t, float r, float q) S; + void (*glMultiTexCoord4x) (unsigned int target, int s, int t, int r, int q) S; + void (*glNormal3f) (float nx, float ny, float nz) S; + void (*glNormal3x) (int nx, int ny, int nz) S; + void (*glNormalPointer) (unsigned int type, int stride, const void *pointer) S; + void (*glOrthof) (float left, float right, float bottom, float top, float zNear, float zFar) S; + void (*glOrthox) (int left, int right, int bottom, int top, int zNear, int zFar) S; + void (*glPixelStorei) (unsigned int pname, int param) S; + void (*glPointSize) (float size) S; + void (*glPointSizex) (int size) S; + void (*glPolygonOffset) (float factor, float units) S; + void (*glPolygonOffsetx) (int factor, int units) S; + void (*glPopMatrix) (void) S; + void (*glPushMatrix) (void) S; + unsigned int (*glQueryMatrixxOES) (int mantissa[16], int exponent[16]) S; + void (*glReadPixels) (int x, int y, int width, int height, unsigned int format, unsigned int type, void *pixels) S; + void (*glRotatef) (float angle, float x, float y, float z) S; + void (*glRotatex) (int angle, int x, int y, int z) S; + void (*glSampleCoverage) (float value, unsigned char invert) S; + void (*glSampleCoveragex) (int value, unsigned char invert) S; + void (*glScalef) (float x, float y, float z) S; + void (*glScalex) (int x, int y, int z) S; + void (*glScissor) (int x, int y, int width, int height) S; + void (*glShadeModel) (unsigned int mode) S; + void (*glStencilFunc) (unsigned int func, int ref, unsigned int mask) S; + void (*glStencilMask) (unsigned int mask) S; + void (*glStencilOp) (unsigned int fail, unsigned int zfail, unsigned int zpass) S; + void (*glTexCoordPointer) (int size, unsigned int type, int stride, const void *pointer) S; + void (*glTexEnvf) (unsigned int target, unsigned int pname, float param) S; + void (*glTexEnvfv) (unsigned int target, unsigned int pname, const float *params) S; + void (*glTexEnvx) (unsigned int target, unsigned int pname, int param) S; + void (*glTexEnvxv) (unsigned int target, unsigned int pname, const int *params) S; + void (*glTexImage2D) (unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels) S; + void (*glTexParameterf) (unsigned int target, unsigned int pname, float param) S; + void (*glTexParameterx) (unsigned int target, unsigned int pname, int param) S; + void (*glTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int type, const void *pixels) S; + void (*glTranslatef) (float x, float y, float z) S; + void (*glTranslatex) (int x, int y, int z) S; + void (*glVertexPointer) (int size, unsigned int type, int stride, const void *pointer) S; + void (*glViewport) (int x, int y, int width, int height) S; + int (*eglSwapInterval) (int dpy, int interval) S; + void (*glBindBuffer) (unsigned int target, unsigned int buffer) S; + void (*glBufferData) (unsigned int target, int size, const void *data, unsigned int usage) S; + void (*glBufferSubData) (unsigned int target, int offset,int size, const void *data) S; + void (*glClipPlanef) (unsigned int plane, const float *equation) S; + void (*glClipPlanex) (unsigned int plane, const int *equation) S; + void (*glColor4ub) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S; + void (*glDeleteBuffers) (int n, const unsigned int *buffers) S; + void (*glGenBuffers) (int n, unsigned int *buffers) S; + void (*glGetBooleanv) (unsigned int pname, unsigned char *params) S; + void (*glGetBufferParameteriv) (unsigned int target, unsigned int pname, int *params) S; + void (*glGetClipPlanef) (unsigned int pname, float eqn[4]) S; + void (*glGetClipPlanex) (unsigned int pname, int eqn[4]) S; + void (*glGetFixedv) (unsigned int pname, int *params) S; + void (*glGetFloatv) (unsigned int pname, float *params) S; + void (*glGetLightfv) (unsigned int light, unsigned int pname, float *params) S; + void (*glGetLightxv) (unsigned int light, unsigned int pname, int *params) S; + void (*glGetMaterialfv) (unsigned int face, unsigned int pname, float *params) S; + void (*glGetMaterialxv) (unsigned int face, unsigned int pname, int *params) S; + void (*glGetPointerv) (unsigned int pname, void **params) S; + void (*glGetTexEnvfv) (unsigned int env, unsigned int pname, float *params) S; + void (*glGetTexEnviv) (unsigned int env, unsigned int pname, int *params) S; + void (*glGetTexEnvxv) (unsigned int env, unsigned int pname, int *params) S; + void (*glGetTexParameterfv) (unsigned int target, unsigned int pname, float *params) S; + void (*glGetTexParameteriv) (unsigned int target, unsigned int pname, int *params) S; + void (*glGetTexParameterxv) (unsigned int target, unsigned int pname, int *params) S; + unsigned char (*glIsBuffer) (unsigned int buffer) S; + unsigned char (*glIsEnabled) (unsigned int cap) S; + unsigned char (*glIsTexture) (unsigned int texture) S; + void (*glPointParameterf) (unsigned int pname, float param) S; + void (*glPointParameterfv) (unsigned int pname, const float *params) S; + void (*glPointParameterx) (unsigned int pname, int param) S; + void (*glPointParameterxv) (unsigned int pname, const int *params) S; + void (*glPointSizePointerOES) (unsigned int type, int stride, const void *pointer) S; + void (*glTexEnvi) (unsigned int target, unsigned int pname, int param) S; + void (*glTexEnviv) (unsigned int target, unsigned int pname, const int *params) S; + void (*glTexParameterfv) (unsigned int target, unsigned int pname, const float *params) S; + void (*glTexParameteri) (unsigned int target, unsigned int pname, int param) S; + void (*glTexParameteriv) (unsigned int target, unsigned int pname, const int *params) S; + void (*glTexParameterxv) (unsigned int target, unsigned int pname, const int *params) S; + + int (*eglBindTexImage) (int dpy, int surface, int buffer) S; + int (*eglReleaseTexImage) (int dpy, int surface, int buffer) S; + int (*eglSurfaceAttrib) (int dpy, int surface, int attribute, int value) S; }; #if !defined (__WINS__) diff --git a/nanogl.cpp b/nanogl.cpp index 5add36a..9130cec 100644 --- a/nanogl.cpp +++ b/nanogl.cpp @@ -72,6 +72,20 @@ static void gl_unimplemented() { void *nanoGL_GetProcAddress(const char *name) { +#if defined(__MULTITEXTURE_SUPPORT__) + if (!strcmp(procname, "glMultiTexCoord2fARB")) + { + return (void*)&glMultiTexCoord2fARB; + } + else if (!strcmp(procname, "glActiveTextureARB")) + { + return (void*)&glActiveTexture; + } + else if (!strcmp(procname, "glClientActiveTextureARB")) + { + return (void*)&glClientActiveTexture; + } +#endif return dlsym(glesLib, name); } -- 2.29.2