glshim updated, added latest changes by ptitSeb
This commit is contained in:
@@ -21,6 +21,7 @@ LOCAL_SRC_FILES := \
|
||||
src/gl/buffers.c \
|
||||
src/gl/debug.c \
|
||||
src/gl/decompress.c \
|
||||
src/gl/directstate.c \
|
||||
src/gl/eval.c \
|
||||
src/gl/framebuffers.c \
|
||||
src/gl/gl.c \
|
||||
|
||||
346
project/jni/glshim/src/gl/directstate.c
Executable file
346
project/jni/glshim/src/gl/directstate.c
Executable file
@@ -0,0 +1,346 @@
|
||||
#include "directstate.h"
|
||||
#include "gl.h"
|
||||
#include "stack.h"
|
||||
|
||||
// Client State
|
||||
void glClientAttribDefaultEXT(GLbitfield mask) {
|
||||
if (mask & GL_CLIENT_PIXEL_STORE_BIT) {
|
||||
glPixelStorei(GL_PACK_ALIGNMENT, 0);
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 0);
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
|
||||
glPixelStorei(GL_UNPACK_SKIP_ROWS, 0);
|
||||
glPixelStorei(GL_PACK_ROW_LENGTH, 0);
|
||||
glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
|
||||
glPixelStorei(GL_PACK_SKIP_ROWS, 0);
|
||||
}
|
||||
#define enable_disable(pname, enabled) \
|
||||
if (enabled) glEnableClientState(pname); \
|
||||
else glDisableClientState(pname)
|
||||
|
||||
if (mask & GL_CLIENT_VERTEX_ARRAY_BIT) {
|
||||
int client = state.texture.client;
|
||||
|
||||
enable_disable(GL_VERTEX_ARRAY, false);
|
||||
enable_disable(GL_NORMAL_ARRAY, false);
|
||||
enable_disable(GL_COLOR_ARRAY, false);
|
||||
enable_disable(GL_SECONDARY_COLOR_ARRAY, false);
|
||||
for (int a=0; a<MAX_TEX; a++) {
|
||||
glClientActiveTexture(GL_TEXTURE0+a);
|
||||
enable_disable(GL_TEXTURE_COORD_ARRAY, false);
|
||||
}
|
||||
#undef enable_disable
|
||||
if (state.texture.client != client) glClientActiveTexture(GL_TEXTURE0+client);
|
||||
}
|
||||
}
|
||||
void glPushClientAttribDefaultEXT(GLbitfield mask) {
|
||||
glPushClientAttrib(mask);
|
||||
glClientAttribDefaultEXT(mask);
|
||||
}
|
||||
|
||||
// Matrix
|
||||
#define mat(f) \
|
||||
GLenum old_mat; \
|
||||
glGetIntegerv(GL_MATRIX_MODE, &old_mat); \
|
||||
glMatrixMode(matrixMode); \
|
||||
f; \
|
||||
glMatrixMode(old_mat)
|
||||
|
||||
void glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m) {
|
||||
mat(glLoadMatrixf(m));
|
||||
}
|
||||
void glMatrixLoaddEXT(GLenum matrixMode, const GLdouble *m) {
|
||||
mat(glLoadMatrixd(m));
|
||||
}
|
||||
void glMatrixMultfEXT(GLenum matrixMode, const GLfloat *m) {
|
||||
mat(glMultMatrixf(m));
|
||||
}
|
||||
void glMatrixMultdEXT(GLenum matrixMode, const GLdouble *m) {
|
||||
mat(glMultMatrixd(m));
|
||||
}
|
||||
void glMatrixLoadIdentityEXT(GLenum matrixMode) {
|
||||
mat(glLoadIdentity());
|
||||
}
|
||||
void glMatrixRotatefEXT(GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) {
|
||||
mat(glRotatef(angle, x, y, z));
|
||||
}
|
||||
void glMatrixRotatedEXT(GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) {
|
||||
mat(glRotated(angle, x, y, z));
|
||||
}
|
||||
void glMatrixScalefEXT(GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z) {
|
||||
mat(glScalef(x, y, z));
|
||||
}
|
||||
void glMatrixScaledEXT(GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z) {
|
||||
mat(glScaled(x, y, z));
|
||||
}
|
||||
void glMatrixTranslatefEXT(GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z) {
|
||||
mat(glTranslatef(x, y, z));
|
||||
}
|
||||
void glMatrixTranslatedEXT(GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z) {
|
||||
mat(glTranslated(x, y, z));
|
||||
}
|
||||
void glMatrixOrthoEXT(GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f) {
|
||||
mat(glOrtho(l, r, b ,t, n, f));
|
||||
}
|
||||
void glMatrixFrustumEXT(GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f) {
|
||||
mat(glFrustum(l, r, b, t, n, f));
|
||||
}
|
||||
void glMatrixPushEXT(GLenum matrixMode) {
|
||||
mat(glPushMatrix());
|
||||
}
|
||||
void glMatrixPopEXT(GLenum matrixMode) {
|
||||
mat(glPopMatrix());
|
||||
}
|
||||
void glMatrixLoadTransposefEXT(GLenum matrixMode, const GLfloat *m) {
|
||||
mat(glLoadTransposeMatrixf(m));
|
||||
}
|
||||
void glMatrixLoadTransposedEXT(GLenum matrixMode, const GLdouble *m) {
|
||||
mat(glLoadTransposeMatrixd(m));
|
||||
}
|
||||
void glMatrixMultTransposefEXT(GLenum matrixMode, const GLfloat *m) {
|
||||
mat(glMultTransposeMatrixf(m));
|
||||
}
|
||||
void glMatrixMultTransposedEXT(GLenum matrixMode, const GLdouble *m) {
|
||||
mat(glMultTransposeMatrixd(m));
|
||||
}
|
||||
#undef mat
|
||||
|
||||
// Textures
|
||||
#define text(f) \
|
||||
glBindTexture(target, texture); \
|
||||
f
|
||||
|
||||
void glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) {
|
||||
text(glTexParameteri(target, pname, param));
|
||||
}
|
||||
void glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param) {
|
||||
text(glTexParameteriv(target, pname, param));
|
||||
}
|
||||
void glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) {
|
||||
text(glTexParameterf(target, pname, param));
|
||||
}
|
||||
void glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param) {
|
||||
text(glTexParameterfv(target, pname, param));
|
||||
}
|
||||
void glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage1D(target, level, internalformat, width, border, format, type, pixels));
|
||||
}
|
||||
void glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels));
|
||||
}
|
||||
void glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage1D(target, level, xoffset, width, format, type, pixels));
|
||||
}
|
||||
void glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels));
|
||||
}
|
||||
void glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {
|
||||
text(glCopyTexImage1D(target, level, internalformat, x, y, width, border));
|
||||
}
|
||||
void glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
|
||||
text(glCopyTexImage2D(target, level, internalformat, x, y, width, height, border));
|
||||
}
|
||||
void glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {
|
||||
text(glCopyTexSubImage1D(target, level, xoffset, x, y, width));
|
||||
}
|
||||
void glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
text(glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height));
|
||||
}
|
||||
void glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) {
|
||||
text(glGetTexImage(target, level, format, type, pixels));
|
||||
}
|
||||
void glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexParameterfv(target, pname, params));
|
||||
}
|
||||
void glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params) {
|
||||
text(glGetTexParameteriv(target, pname, params));
|
||||
}
|
||||
void glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexLevelParameterfv(target, level, pname, params));
|
||||
}
|
||||
void glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params) {
|
||||
text(glGetTexLevelParameteriv(target, level, pname, params));
|
||||
}
|
||||
|
||||
// Texture 3D
|
||||
void glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels));
|
||||
}
|
||||
void glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels));
|
||||
}
|
||||
void glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
text(glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height));
|
||||
}
|
||||
// Compressed texture
|
||||
void glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data));
|
||||
}
|
||||
void glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data));
|
||||
}
|
||||
void glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data));
|
||||
}
|
||||
void glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data));
|
||||
}
|
||||
void glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data));
|
||||
}
|
||||
void glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data));
|
||||
}
|
||||
void glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint level, GLvoid *img) {
|
||||
text(glGetCompressedTexImage(target, level, img));
|
||||
}
|
||||
|
||||
#undef text
|
||||
#define text(f) \
|
||||
GLenum old_tex = state.texture.active; \
|
||||
if(texunit != old_tex) glActiveTexture(texunit); \
|
||||
f; \
|
||||
if(texunit != old_tex) glActiveTexture(old_tex)
|
||||
#define texc(f) \
|
||||
GLenum old_tex = state.texture.client; \
|
||||
if(texunit != old_tex) glClientActiveTexture(texunit); \
|
||||
f; \
|
||||
if(texunit != old_tex) glClientActiveTexture(old_tex)
|
||||
|
||||
void glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) {
|
||||
text(glBindTexture(target, texture));
|
||||
}
|
||||
void glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
|
||||
texc(glTexCoordPointer(size, type, stride, pointer));
|
||||
}
|
||||
void glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {
|
||||
text(glTexEnvf(target, pname, param));
|
||||
}
|
||||
void glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params) {
|
||||
text(glTexEnvfv(target, pname, params));
|
||||
}
|
||||
void glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {
|
||||
text(glTexEnvi(target, pname, param));
|
||||
}
|
||||
void glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params) {
|
||||
text(glTexEnviv(target, pname, params));
|
||||
}
|
||||
void glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) {
|
||||
text(glTexGend(coord, pname, param));
|
||||
}
|
||||
void glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params) {
|
||||
text(glTexGendv(coord, pname, params));
|
||||
}
|
||||
void glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) {
|
||||
text(glTexGenf(coord, pname, param));
|
||||
}
|
||||
void glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params) {
|
||||
text(glTexGenfv(coord, pname, params));
|
||||
}
|
||||
void glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) {
|
||||
text(glTexGeni(coord, pname, param));
|
||||
}
|
||||
void glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params) {
|
||||
text(glTexGeniv(coord, pname, params));
|
||||
}
|
||||
void glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexEnvfv(target, pname, params));
|
||||
}
|
||||
void glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params) {
|
||||
text(glGetTexEnviv(target, pname, params));
|
||||
}
|
||||
void glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params) {
|
||||
text(glGetTexGendv(coord, pname, params));
|
||||
}
|
||||
void glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexGenfv(coord, pname, params));
|
||||
}
|
||||
void glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params) {
|
||||
text(glGetTexGeniv(coord, pname, params));
|
||||
}
|
||||
void glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {
|
||||
text(glTexParameteri(target, pname, param));
|
||||
}
|
||||
void glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param) {
|
||||
text(glTexParameteriv(target, pname, param));
|
||||
}
|
||||
void glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {
|
||||
text(glTexParameterf(target, pname, param));
|
||||
}
|
||||
void glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param) {
|
||||
text(glTexParameterfv(target, pname, param));
|
||||
}
|
||||
void glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage1D(target, level, internalformat, width, border, format, type, pixels));
|
||||
}
|
||||
void glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels));
|
||||
}
|
||||
void glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage1D(target, level, xoffset, width, format, type, pixels));
|
||||
}
|
||||
void glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels));
|
||||
}
|
||||
void glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {
|
||||
text(glCopyTexImage1D(target, level, internalformat, x, y, width, border));
|
||||
}
|
||||
void glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
|
||||
text(glCopyTexImage2D(target, level, internalformat, x, y, width, height, border));
|
||||
}
|
||||
void glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {
|
||||
text(glCopyTexSubImage1D(target, level, xoffset, x, y, width));
|
||||
}
|
||||
void glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
text(glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height));
|
||||
}
|
||||
void glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) {
|
||||
text(glGetTexImage(target, level, format, type, pixels));
|
||||
}
|
||||
void glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexParameterfv(target, pname, params));
|
||||
}
|
||||
void glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params) {
|
||||
text(glGetTexParameteriv(target, pname, params));
|
||||
}
|
||||
void glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params) {
|
||||
text(glGetTexLevelParameterfv(target, level, pname, params));
|
||||
}
|
||||
void glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params) {
|
||||
text(glGetTexLevelParameteriv(target, level, pname, params));
|
||||
}
|
||||
void glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels));
|
||||
}
|
||||
void glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) {
|
||||
text(glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels));
|
||||
}
|
||||
void glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
text(glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height));
|
||||
}
|
||||
// Compressed texture
|
||||
void glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data));
|
||||
}
|
||||
void glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data));
|
||||
}
|
||||
void glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data));
|
||||
}
|
||||
void glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data));
|
||||
}
|
||||
void glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data));
|
||||
}
|
||||
void glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) {
|
||||
text(glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data));
|
||||
}
|
||||
void glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLvoid *img) {
|
||||
text(glGetCompressedTexImage(target, level, img));
|
||||
}
|
||||
|
||||
|
||||
#undef text
|
||||
#undef texc
|
||||
106
project/jni/glshim/src/gl/directstate.h
Executable file
106
project/jni/glshim/src/gl/directstate.h
Executable file
@@ -0,0 +1,106 @@
|
||||
#ifndef __DIRECTSTATE_H_
|
||||
#define __DIRECTSTATE_H_
|
||||
|
||||
#include "gl.h"
|
||||
|
||||
void glClientAttribDefaultEXT(GLbitfield mask);
|
||||
void glPushClientAttribDefaultEXT(GLbitfield mask);
|
||||
|
||||
void glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m);
|
||||
void glMatrixLoaddEXT(GLenum matrixMode, const GLdouble *m);
|
||||
void glMatrixMultfEXT(GLenum matrixMode, const GLfloat *m);
|
||||
void glMatrixMultdEXT(GLenum matrixMode, const GLdouble *m);
|
||||
void glMatrixLoadIdentityEXT(GLenum matrixMode);
|
||||
void glMatrixRotatefEXT(GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
|
||||
void glMatrixRotatedEXT(GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
|
||||
void glMatrixScalefEXT(GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
|
||||
void glMatrixScaledEXT(GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
|
||||
void glMatrixTranslatefEXT(GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
|
||||
void glMatrixTranslatedEXT(GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
|
||||
void glMatrixOrthoEXT(GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
|
||||
void glMatrixFrustumEXT(GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
|
||||
void glMatrixPushEXT(GLenum matrixMode);
|
||||
void glMatrixPopEXT(GLenum matrixMode);
|
||||
|
||||
void glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param);
|
||||
void glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *param);
|
||||
void glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param);
|
||||
void glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *param);
|
||||
void glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
|
||||
void glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
void glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
|
||||
void glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
void glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
|
||||
void glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params);
|
||||
void glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params);
|
||||
void glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
void glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
|
||||
void glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
void glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture);
|
||||
void glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
|
||||
void glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
|
||||
void glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
|
||||
void glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);
|
||||
void glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params);
|
||||
void glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
|
||||
void glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
|
||||
void glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
|
||||
void glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
|
||||
void glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param);
|
||||
void glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
|
||||
void glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
|
||||
void glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);
|
||||
void glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
|
||||
void glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
|
||||
void glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params);
|
||||
void glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param);
|
||||
void glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *param);
|
||||
void glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
|
||||
void glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *param);
|
||||
void glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
|
||||
void glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
void glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
|
||||
void glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
void glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
|
||||
void glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
|
||||
void glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params);
|
||||
void glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
void glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
void glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
|
||||
void glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
void glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint level, GLvoid *img);
|
||||
|
||||
void glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
void glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLvoid *img);
|
||||
|
||||
void glMatrixLoadTransposefEXT(GLenum matrixMode, const GLfloat *m);
|
||||
void glMatrixLoadTransposedEXT(GLenum matrixMode, const GLdouble *m);
|
||||
void glMatrixMultTransposefEXT(GLenum matrixMode, const GLfloat *m);
|
||||
void glMatrixMultTransposedEXT(GLenum matrixMode, const GLdouble *m);
|
||||
|
||||
#endif
|
||||
@@ -119,6 +119,7 @@ const GLubyte *glGetString(GLenum name) {
|
||||
"GL_EXT_blend_equation_separate "
|
||||
#endif
|
||||
"GL_ARB_draw_buffers "
|
||||
"GL_EXT_direct_state_access "
|
||||
// "GL_EXT_blend_logic_op "
|
||||
// "GL_EXT_blend_color "
|
||||
// "GL_ARB_texture_cube_map "
|
||||
|
||||
@@ -783,6 +783,12 @@ void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLi
|
||||
glCopyTexSubImage2D(GL_TEXTURE_2D, level, xoffset, 0, x, y, width, 1);
|
||||
}
|
||||
|
||||
void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
glCopyTexSubImage2D(GL_TEXTURE_2D, level, xoffset, yoffset, x, y, width, height);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 3d stubs
|
||||
@@ -794,7 +800,7 @@ void glTexImage3D(GLenum target, GLint level, GLint internalFormat,
|
||||
glTexImage2D(GL_TEXTURE_2D, level, internalFormat, width, height,
|
||||
border, format, type, data);
|
||||
}
|
||||
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLsizei width, GLsizei height, GLsizei depth, GLenum format,
|
||||
GLenum type, const GLvoid *data) {
|
||||
|
||||
@@ -1689,13 +1695,13 @@ void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat,
|
||||
glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
|
||||
}
|
||||
|
||||
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset,
|
||||
GLsizei width, GLenum format,
|
||||
GLsizei imageSize, const GLvoid *data) {
|
||||
|
||||
glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, 1, format, imageSize, data);
|
||||
glCompressedTexSubImage2D(target, level, xoffset, 0, width, 1, format, imageSize, data);
|
||||
}
|
||||
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLsizei width, GLsizei height, GLsizei depth, GLenum format,
|
||||
GLsizei imageSize, const GLvoid *data) {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ void glTexSubImage1D(GLenum target, GLint level, GLint xoffset,
|
||||
GLsizei width, GLenum format, GLenum type,
|
||||
const GLvoid *data);
|
||||
|
||||
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLsizei width, GLsizei height, GLsizei depth, GLenum format,
|
||||
GLenum type, const GLvoid *data);
|
||||
|
||||
@@ -50,10 +50,10 @@ void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat,
|
||||
void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format,
|
||||
GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset,
|
||||
GLsizei width, GLenum format,
|
||||
GLsizei imageSize, const GLvoid *data);
|
||||
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLsizei width, GLsizei height, GLsizei depth, GLenum format,
|
||||
GLsizei imageSize, const GLvoid *data);
|
||||
|
||||
@@ -71,7 +71,11 @@ void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffse
|
||||
|
||||
void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y,
|
||||
GLsizei width);
|
||||
|
||||
void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
|
||||
GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
|
||||
void tex_coord_rect_arb(GLfloat *tex, GLsizei len,
|
||||
GLsizei width, GLsizei height);
|
||||
void tex_coord_npot(GLfloat *tex, GLsizei len,
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "glx.h"
|
||||
#endif
|
||||
|
||||
#include "../gl/directstate.h"
|
||||
|
||||
|
||||
#define MAP(func_name, func) \
|
||||
@@ -476,6 +477,110 @@ void *glXGetProcAddressARB(const char *name) {
|
||||
STUB(glFogCoordPointer);
|
||||
/*STUB(glEdgeFlagPointerEXT);
|
||||
STUB(glIndexPointerEXT);*/
|
||||
|
||||
//EXT_direct_state_access
|
||||
EX(glClientAttribDefaultEXT);
|
||||
EX(glPushClientAttribDefaultEXT);
|
||||
EX(glMatrixLoadfEXT);
|
||||
EX(glMatrixLoaddEXT);
|
||||
EX(glMatrixMultfEXT);
|
||||
EX(glMatrixMultdEXT);
|
||||
EX(glMatrixLoadIdentityEXT);
|
||||
EX(glMatrixRotatefEXT);
|
||||
EX(glMatrixRotatedEXT);
|
||||
EX(glMatrixScalefEXT);
|
||||
EX(glMatrixScaledEXT);
|
||||
EX(glMatrixTranslatefEXT);
|
||||
EX(glMatrixTranslatedEXT);
|
||||
EX(glMatrixOrthoEXT);
|
||||
EX(glMatrixFrustumEXT);
|
||||
EX(glMatrixPushEXT);
|
||||
EX(glMatrixPopEXT);
|
||||
EX(glTextureParameteriEXT);
|
||||
EX(glTextureParameterivEXT);
|
||||
EX(glTextureParameterfEXT);
|
||||
EX(glTextureParameterfvEXT);
|
||||
EX(glTextureImage1DEXT);
|
||||
EX(glTextureImage2DEXT);
|
||||
EX(glTextureSubImage1DEXT);
|
||||
EX(glTextureSubImage2DEXT);
|
||||
EX(glCopyTextureImage1DEXT);
|
||||
EX(glCopyTextureImage2DEXT);
|
||||
EX(glCopyTextureSubImage1DEXT);
|
||||
EX(glCopyTextureSubImage2DEXT);
|
||||
EX(glGetTextureImageEXT);
|
||||
EX(glGetTextureParameterfvEXT);
|
||||
EX(glGetTextureParameterivEXT);
|
||||
EX(glGetTextureLevelParameterfvEXT);
|
||||
EX(glGetTextureLevelParameterivEXT);
|
||||
EX(glTextureImage3DEXT);
|
||||
EX(glTextureSubImage3DEXT);
|
||||
EX(glCopyTextureSubImage3DEXT);
|
||||
EX(glBindMultiTextureEXT);
|
||||
EX(glMultiTexCoordPointerEXT);
|
||||
EX(glMultiTexEnvfEXT);
|
||||
EX(glMultiTexEnvfvEXT);
|
||||
EX(glMultiTexEnviEXT);
|
||||
EX(glMultiTexEnvivEXT);
|
||||
EX(glMultiTexGendEXT);
|
||||
EX(glMultiTexGendvEXT);
|
||||
EX(glMultiTexGenfEXT);
|
||||
EX(glMultiTexGenfvEXT);
|
||||
EX(glMultiTexGeniEXT);
|
||||
EX(glMultiTexGenivEXT);
|
||||
EX(glGetMultiTexEnvfvEXT);
|
||||
EX(glGetMultiTexEnvivEXT);
|
||||
EX(glGetMultiTexGendvEXT);
|
||||
EX(glGetMultiTexGenfvEXT);
|
||||
EX(glGetMultiTexGenivEXT);
|
||||
EX(glMultiTexParameteriEXT);
|
||||
EX(glMultiTexParameterivEXT);
|
||||
EX(glMultiTexParameterfEXT);
|
||||
EX(glMultiTexParameterfvEXT);
|
||||
EX(glMultiTexImage1DEXT);
|
||||
EX(glMultiTexImage2DEXT);
|
||||
EX(glMultiTexSubImage1DEXT);
|
||||
EX(glMultiTexSubImage2DEXT);
|
||||
EX(glCopyMultiTexImage1DEXT);
|
||||
EX(glCopyMultiTexImage2DEXT);
|
||||
EX(glCopyMultiTexSubImage1DEXT);
|
||||
EX(glCopyMultiTexSubImage2DEXT);
|
||||
EX(glGetMultiTexImageEXT);
|
||||
EX(glGetMultiTexParameterfvEXT);
|
||||
EX(glGetMultiTexParameterivEXT);
|
||||
EX(glGetMultiTexLevelParameterfvEXT);
|
||||
EX(glGetMultiTexLevelParameterivEXT);
|
||||
EX(glMultiTexImage3DEXT);
|
||||
EX(glMultiTexSubImage3DEXT);
|
||||
EX(glCopyMultiTexSubImage3DEXT);
|
||||
STUB(EnableClientStateIndexedEXT);
|
||||
STUB(DisableClientStateIndexedEXT);
|
||||
STUB(GetFloatIndexedvEXT);
|
||||
STUB(GetDoubleIndexedvEXT);
|
||||
STUB(GetPointerIndexedvEXT);
|
||||
STUB(EnableIndexedEXT);
|
||||
STUB(DisableIndexedEXT);
|
||||
STUB(IsEnabledIndexedEXT);
|
||||
STUB(GetIntegerIndexedvEXT);
|
||||
STUB(GetBooleanIndexedvEXT);
|
||||
EX(glCompressedTextureImage3DEXT);
|
||||
EX(glCompressedTextureImage2DEXT);
|
||||
EX(glCompressedTextureImage1DEXT);
|
||||
EX(glCompressedTextureSubImage3DEXT);
|
||||
EX(glCompressedTextureSubImage2DEXT);
|
||||
EX(glCompressedTextureSubImage1DEXT);
|
||||
EX(glGetCompressedTextureImageEXT);
|
||||
EX(glCompressedMultiTexImage3DEXT);
|
||||
EX(glCompressedMultiTexImage2DEXT);
|
||||
EX(glCompressedMultiTexImage1DEXT);
|
||||
EX(glCompressedMultiTexSubImage3DEXT);
|
||||
EX(glCompressedMultiTexSubImage2DEXT);
|
||||
EX(glCompressedMultiTexSubImage1DEXT);
|
||||
EX(glGetCompressedMultiTexImageEXT);
|
||||
EX(glMatrixLoadTransposefEXT);
|
||||
EX(glMatrixLoadTransposedEXT);
|
||||
EX(glMatrixMultTransposefEXT);
|
||||
EX(glMatrixMultTransposedEXT);
|
||||
|
||||
printf("glXGetProcAddress: %s not found.\n", name);
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user