From 6b89a8363b4934e4b5bbad10f84bbe7e38f22f9b Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 1 Dec 2004 08:31:15 +0000 Subject: [PATCH] Make the transition to script-genereated GLX code easier. Move "handcoded" ARB_window_pos / MESA_window_pos functions to their own file. Modify the ARB_window_pos functions to use the MESA_window_pos names. --- src/glx/x11/Makefile | 1 + src/glx/x11/g_render.c | 70 ---------------------------- src/glx/x11/indirect.h | 30 ++++++------ src/glx/x11/indirect_init.c | 34 +++++++------- src/glx/x11/indirect_window_pos.c | 98 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 131 insertions(+), 102 deletions(-) create mode 100644 src/glx/x11/indirect_window_pos.c diff --git a/src/glx/x11/Makefile b/src/glx/x11/Makefile index 1447270..ee2bae1 100644 --- a/src/glx/x11/Makefile +++ b/src/glx/x11/Makefile @@ -31,6 +31,7 @@ C_SOURCES = \ glxext.c \ glxextensions.c \ indirect_init.c \ + indirect_window_pos.c \ indirect_transpose_matrix.c \ pixel.c \ pixelstore.c \ diff --git a/src/glx/x11/g_render.c b/src/glx/x11/g_render.c index 69c5419..ad37cc8 100644 --- a/src/glx/x11/g_render.c +++ b/src/glx/x11/g_render.c @@ -748,73 +748,3 @@ void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, G __GLX_PUT_LONG(36,height); __GLX_END(40); } - -void __indirect_glWindowPos2dARB(GLdouble x, GLdouble y) -{ - __indirect_glWindowPos3fARB(x, y, 0.0); -} - -void __indirect_glWindowPos2iARB(GLint x, GLint y) -{ - __indirect_glWindowPos3fARB(x, y, 0.0); -} - -void __indirect_glWindowPos2fARB(GLfloat x, GLfloat y) -{ - __indirect_glWindowPos3fARB(x, y, 0.0); -} - -void __indirect_glWindowPos2sARB(GLshort x, GLshort y) -{ - __indirect_glWindowPos3fARB(x, y, 0.0); -} - -void __indirect_glWindowPos2dvARB(const GLdouble * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], 0.0); -} - -void __indirect_glWindowPos2fvARB(const GLfloat * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], 0.0); -} - -void __indirect_glWindowPos2ivARB(const GLint * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], 0.0); -} - -void __indirect_glWindowPos2svARB(const GLshort * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], 0.0); -} - -void __indirect_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z) -{ - __indirect_glWindowPos3fARB(x, y, z); -} - -void __indirect_glWindowPos3iARB(GLint x, GLint y, GLint z) -{ - __indirect_glWindowPos3fARB(x, y, z); -} - -void __indirect_glWindowPos3sARB(GLshort x, GLshort y, GLshort z) -{ - __indirect_glWindowPos3fARB(x, y, z); -} - -void __indirect_glWindowPos3dvARB(const GLdouble * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], p[2]); -} - -void __indirect_glWindowPos3ivARB(const GLint * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], p[2]); -} - -void __indirect_glWindowPos3svARB(const GLshort * p) -{ - __indirect_glWindowPos3fARB(p[0], p[1], p[2]); -} diff --git a/src/glx/x11/indirect.h b/src/glx/x11/indirect.h index e625896..442c4ab 100644 --- a/src/glx/x11/indirect.h +++ b/src/glx/x11/indirect.h @@ -407,7 +407,7 @@ glxvendr_enum1_4(MultiTexCoord4d, X_GLrop_MultiTexCoord4dvARB, GLdouble, ARB) glxvendr_enum1_V(PointParameterf, X_GLrop_PointParameterf, GLfloat, ARB) glxproto_enum1_V(PointParameteri, X_GLrop_PointParameteri, GLint) -glxvendr_3(WindowPos3f, X_GLrop_WindowPos3fARB, GLfloat, ARB) +glxvendr_3(WindowPos3f, X_GLrop_WindowPos3fARB, GLfloat, MESA) glxproto_1s(ActiveStencilFaceEXT, X_GLrop_ActiveStencilFaceEXT, GLenum) @@ -549,20 +549,20 @@ void __indirect_glClientActiveTextureARB(GLenum texture); void __indirect_glSampleCoverageARB( GLfloat value, GLboolean invert ); -void __indirect_glWindowPos2dARB(GLdouble x, GLdouble y); -void __indirect_glWindowPos2iARB(GLint x, GLint y); -void __indirect_glWindowPos2fARB(GLfloat x, GLfloat y); -void __indirect_glWindowPos2sARB(GLshort x, GLshort y); -void __indirect_glWindowPos2dvARB(const GLdouble * p); -void __indirect_glWindowPos2fvARB(const GLfloat * p); -void __indirect_glWindowPos2ivARB(const GLint * p); -void __indirect_glWindowPos2svARB(const GLshort * p); -void __indirect_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z); -void __indirect_glWindowPos3iARB(GLint x, GLint y, GLint z); -void __indirect_glWindowPos3sARB(GLshort x, GLshort y, GLshort z); -void __indirect_glWindowPos3dvARB(const GLdouble * p); -void __indirect_glWindowPos3ivARB(const GLint * p); -void __indirect_glWindowPos3svARB(const GLshort * p); +void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y); +void __indirect_glWindowPos2iMESA(GLint x, GLint y); +void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y); +void __indirect_glWindowPos2sMESA(GLshort x, GLshort y); +void __indirect_glWindowPos2dvMESA(const GLdouble * p); +void __indirect_glWindowPos2fvMESA(const GLfloat * p); +void __indirect_glWindowPos2ivMESA(const GLint * p); +void __indirect_glWindowPos2svMESA(const GLshort * p); +void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z); +void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z); +void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z); +void __indirect_glWindowPos3dvMESA(const GLdouble * p); +void __indirect_glWindowPos3ivMESA(const GLint * p); +void __indirect_glWindowPos3svMESA(const GLshort * p); void __indirect_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid ** indices, GLsizei primcount); diff --git a/src/glx/x11/indirect_init.c b/src/glx/x11/indirect_init.c index d587a87..5fcfab6 100644 --- a/src/glx/x11/indirect_init.c +++ b/src/glx/x11/indirect_init.c @@ -507,23 +507,23 @@ __GLapi *__glXNewIndirectAPI(void) glAPI->PointParameterfvEXT = __indirect_glPointParameterfvARB; /* ARB 15. GL_ARB_window_pos */ - glAPI->WindowPos2dMESA = __indirect_glWindowPos2dARB; - glAPI->WindowPos2iMESA = __indirect_glWindowPos2iARB; - glAPI->WindowPos2fMESA = __indirect_glWindowPos2fARB; - glAPI->WindowPos2iMESA = __indirect_glWindowPos2iARB; - glAPI->WindowPos2sMESA = __indirect_glWindowPos2sARB; - glAPI->WindowPos2dvMESA = __indirect_glWindowPos2dvARB; - glAPI->WindowPos2fvMESA = __indirect_glWindowPos2fvARB; - glAPI->WindowPos2ivMESA = __indirect_glWindowPos2ivARB; - glAPI->WindowPos2svMESA = __indirect_glWindowPos2svARB; - glAPI->WindowPos3dMESA = __indirect_glWindowPos3dARB; - glAPI->WindowPos3fMESA = __indirect_glWindowPos3fARB; - glAPI->WindowPos3iMESA = __indirect_glWindowPos3iARB; - glAPI->WindowPos3sMESA = __indirect_glWindowPos3sARB; - glAPI->WindowPos3dvMESA = __indirect_glWindowPos3dvARB; - glAPI->WindowPos3fvMESA = __indirect_glWindowPos3fvARB; - glAPI->WindowPos3ivMESA = __indirect_glWindowPos3ivARB; - glAPI->WindowPos3svMESA = __indirect_glWindowPos3svARB; + glAPI->WindowPos2dMESA = __indirect_glWindowPos2dMESA; + glAPI->WindowPos2iMESA = __indirect_glWindowPos2iMESA; + glAPI->WindowPos2fMESA = __indirect_glWindowPos2fMESA; + glAPI->WindowPos2iMESA = __indirect_glWindowPos2iMESA; + glAPI->WindowPos2sMESA = __indirect_glWindowPos2sMESA; + glAPI->WindowPos2dvMESA = __indirect_glWindowPos2dvMESA; + glAPI->WindowPos2fvMESA = __indirect_glWindowPos2fvMESA; + glAPI->WindowPos2ivMESA = __indirect_glWindowPos2ivMESA; + glAPI->WindowPos2svMESA = __indirect_glWindowPos2svMESA; + glAPI->WindowPos3dMESA = __indirect_glWindowPos3dMESA; + glAPI->WindowPos3fMESA = __indirect_glWindowPos3fMESA; + glAPI->WindowPos3iMESA = __indirect_glWindowPos3iMESA; + glAPI->WindowPos3sMESA = __indirect_glWindowPos3sMESA; + glAPI->WindowPos3dvMESA = __indirect_glWindowPos3dvMESA; + glAPI->WindowPos3fvMESA = __indirect_glWindowPos3fvMESA; + glAPI->WindowPos3ivMESA = __indirect_glWindowPos3ivMESA; + glAPI->WindowPos3svMESA = __indirect_glWindowPos3svMESA; /* 25. GL_SGIS_multisample */ glAPI->SampleMaskSGIS = __indirect_glSampleMaskSGIS; diff --git a/src/glx/x11/indirect_window_pos.c b/src/glx/x11/indirect_window_pos.c new file mode 100644 index 0000000..533f8ef --- /dev/null +++ b/src/glx/x11/indirect_window_pos.c @@ -0,0 +1,98 @@ +/* + * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. + * (C) Copyright IBM Corporation 2004 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sub license, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * PRECISION INSIGHT, IBM, + * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include "indirect.h" + +void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y) +{ + __indirect_glWindowPos3fMESA(x, y, 0.0); +} + +void __indirect_glWindowPos2iMESA(GLint x, GLint y) +{ + __indirect_glWindowPos3fMESA(x, y, 0.0); +} + +void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y) +{ + __indirect_glWindowPos3fMESA(x, y, 0.0); +} + +void __indirect_glWindowPos2sMESA(GLshort x, GLshort y) +{ + __indirect_glWindowPos3fMESA(x, y, 0.0); +} + +void __indirect_glWindowPos2dvMESA(const GLdouble * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], 0.0); +} + +void __indirect_glWindowPos2fvMESA(const GLfloat * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], 0.0); +} + +void __indirect_glWindowPos2ivMESA(const GLint * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], 0.0); +} + +void __indirect_glWindowPos2svMESA(const GLshort * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], 0.0); +} + +void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z) +{ + __indirect_glWindowPos3fMESA(x, y, z); +} + +void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z) +{ + __indirect_glWindowPos3fMESA(x, y, z); +} + +void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z) +{ + __indirect_glWindowPos3fMESA(x, y, z); +} + +void __indirect_glWindowPos3dvMESA(const GLdouble * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], p[2]); +} + +void __indirect_glWindowPos3ivMESA(const GLint * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], p[2]); +} + +void __indirect_glWindowPos3svMESA(const GLshort * p) +{ + __indirect_glWindowPos3fMESA(p[0], p[1], p[2]); +} -- 2.7.4