**
*/
-#define NEED_GL_FUNCS_WRAPPED
#include <stdio.h>
#include "glxclient.h"
#include "packsingle.h"
}
}
-GLenum glGetError(void)
+
+/**
+ * Remap a transpose-matrix enum to a non-transpose-matrix enum. Enums
+ * that are not transpose-matrix enums are unaffected.
+ */
+static GLenum
+RemapTransposeEnum( GLenum e )
+{
+ switch( e ) {
+ case GL_TRANSPOSE_MODELVIEW_MATRIX:
+ case GL_TRANSPOSE_PROJECTION_MATRIX:
+ case GL_TRANSPOSE_TEXTURE_MATRIX:
+ return e - (GL_TRANSPOSE_MODELVIEW_MATRIX - GL_MODELVIEW_MATRIX);
+ case GL_TRANSPOSE_COLOR_MATRIX:
+ return GL_COLOR_MATRIX;
+ default:
+ return e;
+ };
+}
+
+
+GLenum __indirect_glGetError(void)
{
__GLX_SINGLE_DECLARE_VARIABLES();
GLuint retval = GL_NO_ERROR;
return retval;
}
-void glGetClipPlane(GLenum plane, GLdouble *equation)
-{
- __GLX_SINGLE_DECLARE_VARIABLES();
- xGLXSingleReply reply;
- __GLX_SINGLE_LOAD_VARIABLES();
- __GLX_SINGLE_BEGIN(X_GLsop_GetClipPlane,4);
- __GLX_SINGLE_PUT_LONG(0,plane);
- __GLX_SINGLE_READ_XREPLY();
- if (reply.length == 8) {
- __GLX_SINGLE_GET_DOUBLE_ARRAY(equation,4);
- }
- __GLX_SINGLE_END();
-}
-
#define CASE_ARRAY_ENABLE(enum_name,array,dest,gl_type) \
case GL_ ## enum_name ## _ARRAY: \
*dest = (gl_type) (IS_ARRAY_ENABLED(state, array)); break
CASE_ARRAY_TYPE(enum_name,array,dest,gl_type); \
CASE_ARRAY_SIZE(enum_name,array,dest,gl_type)
-void glGetBooleanv(GLenum val, GLboolean *b)
+void __indirect_glGetBooleanv(GLenum val, GLboolean *b)
{
const GLenum origVal = val;
__GLX_SINGLE_DECLARE_VARIABLES();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
xGLXSingleReply reply;
- if (val == GL_TRANSPOSE_MODELVIEW_MATRIX_ARB) {
- val = GL_MODELVIEW_MATRIX;
- }
- else if (val == GL_TRANSPOSE_PROJECTION_MATRIX_ARB) {
- val = GL_PROJECTION_MATRIX;
- }
- else if (val == GL_TRANSPOSE_TEXTURE_MATRIX_ARB) {
- val = GL_TEXTURE_MATRIX;
- }
- else if (val == GL_TRANSPOSE_COLOR_MATRIX_ARB) {
- val = GL_COLOR_MATRIX;
- }
+ val = RemapTransposeEnum( val );
__GLX_SINGLE_LOAD_VARIABLES();
__GLX_SINGLE_BEGIN(X_GLsop_GetBooleanv,4);
__GLX_SINGLE_END();
}
-void glGetDoublev(GLenum val, GLdouble *d)
+void __indirect_glGetDoublev(GLenum val, GLdouble *d)
{
const GLenum origVal = val;
__GLX_SINGLE_DECLARE_VARIABLES();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
xGLXSingleReply reply;
- if (val == GL_TRANSPOSE_MODELVIEW_MATRIX_ARB) {
- val = GL_MODELVIEW_MATRIX;
- }
- else if (val == GL_TRANSPOSE_PROJECTION_MATRIX_ARB) {
- val = GL_PROJECTION_MATRIX;
- }
- else if (val == GL_TRANSPOSE_TEXTURE_MATRIX_ARB) {
- val = GL_TEXTURE_MATRIX;
- }
- else if (val == GL_TRANSPOSE_COLOR_MATRIX_ARB) {
- val = GL_COLOR_MATRIX;
- }
+ val = RemapTransposeEnum( val );
__GLX_SINGLE_LOAD_VARIABLES();
__GLX_SINGLE_BEGIN(X_GLsop_GetDoublev,4);
__GLX_SINGLE_END();
}
-void glGetFloatv(GLenum val, GLfloat *f)
+void __indirect_glGetFloatv(GLenum val, GLfloat *f)
{
const GLenum origVal = val;
__GLX_SINGLE_DECLARE_VARIABLES();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
xGLXSingleReply reply;
- if (val == GL_TRANSPOSE_MODELVIEW_MATRIX_ARB) {
- val = GL_MODELVIEW_MATRIX;
- }
- else if (val == GL_TRANSPOSE_PROJECTION_MATRIX_ARB) {
- val = GL_PROJECTION_MATRIX;
- }
- else if (val == GL_TRANSPOSE_TEXTURE_MATRIX_ARB) {
- val = GL_TEXTURE_MATRIX;
- }
- else if (val == GL_TRANSPOSE_COLOR_MATRIX_ARB) {
- val = GL_COLOR_MATRIX;
- }
+ val = RemapTransposeEnum( val );
__GLX_SINGLE_LOAD_VARIABLES();
__GLX_SINGLE_BEGIN(X_GLsop_GetFloatv,4);
__GLX_SINGLE_END();
}
-void glGetIntegerv(GLenum val, GLint *i)
+void __indirect_glGetIntegerv(GLenum val, GLint *i)
{
const GLenum origVal = val;
__GLX_SINGLE_DECLARE_VARIABLES();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
xGLXSingleReply reply;
- if (val == GL_TRANSPOSE_MODELVIEW_MATRIX_ARB) {
- val = GL_MODELVIEW_MATRIX;
- }
- else if (val == GL_TRANSPOSE_PROJECTION_MATRIX_ARB) {
- val = GL_PROJECTION_MATRIX;
- }
- else if (val == GL_TRANSPOSE_TEXTURE_MATRIX_ARB) {
- val = GL_TEXTURE_MATRIX;
- }
- else if (val == GL_TRANSPOSE_COLOR_MATRIX_ARB) {
- val = GL_COLOR_MATRIX;
- }
+ val = RemapTransposeEnum( val );
__GLX_SINGLE_LOAD_VARIABLES();
__GLX_SINGLE_BEGIN(X_GLsop_GetIntegerv,4);
/*
** Send all pending commands to server.
*/
-void glFlush(void)
+void __indirect_glFlush(void)
{
__GLX_SINGLE_DECLARE_VARIABLES();
XFlush(dpy);
}
-void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
+void __indirect_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
{
__GLX_SINGLE_DECLARE_VARIABLES();
gc->feedbackBuf = buffer;
}
-void glSelectBuffer(GLsizei numnames, GLuint *buffer)
+void __indirect_glSelectBuffer(GLsizei numnames, GLuint *buffer)
{
__GLX_SINGLE_DECLARE_VARIABLES();
gc->selectBuf = buffer;
}
-GLint glRenderMode(GLenum mode)
+GLint __indirect_glRenderMode(GLenum mode)
{
__GLX_SINGLE_DECLARE_VARIABLES();
GLint retval = 0;
return retval;
}
-void glFinish(void)
+void __indirect_glFinish(void)
{
__GLX_SINGLE_DECLARE_VARIABLES();
xGLXSingleReply reply;
}
-const GLubyte *glGetString(GLenum name)
+const GLubyte *__indirect_glGetString(GLenum name)
{
__GLXcontext *gc = __glXGetCurrentContext();
Display *dpy = gc->currentDpy;
return s;
}
-GLboolean glIsEnabled(GLenum cap)
+GLboolean __indirect_glIsEnabled(GLenum cap)
{
__GLX_SINGLE_DECLARE_VARIABLES();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
return retval;
}
-void glGetPointerv(GLenum pname, void **params)
+void __indirect_glGetPointerv(GLenum pname, void **params)
{
__GLXcontext *gc = __glXGetCurrentContext();
__GLXattribute * state = (__GLXattribute *)(gc->client_state_private);