On 03/12/2013 20:14, Adam Jackson wrote: > This fixes up the indirect glx code to only call-by-name those symbols > present in the Linux OpenGL ABI, which corresponds to OpenGL 1.2.1. > Since that was available even on OSX 10.0 this should be sufficient for > xquartz as well.
When testing my code generator for the stubs I'm going to need, I notice that after these changes, we still link directly with glGetCompressedTexImage(). I'm not sure that GL_ARB_texture_compression is in OpenGL 1.2.1, but maybe I am looking at the wrong thing. There's also a consistency issue with ARB_multitexture functions, sometimes the ARB-suffixed name is used and sometimes not, e.g. glMultiTexCoord1fvARB and glMultiTexCoord1dv. Attached is a patch to consistently use the ARB-suffixed name, which I think is the one definitively in the OpenGL 1.2.1 ABI. 1 to 7, Reviewed-by: Jon TURNEY <[email protected]> 8 looks correct but only Jeremy can tell you if it works :D
>From a5d7a5e9793b49d47eb1e0448ae5d9e23a5c642a Mon Sep 17 00:00:00 2001 From: Jon TURNEY <[email protected]> Date: Fri, 6 Dec 2013 14:00:21 +0000 Subject: [PATCH] Consistently use ARB-suffixed names for ARB_multitexture functions At the moment we have a mix of ARB and non-ARB suffixed forms for ARB_multitexture functions e.g. glMultiTexCoord1fvARB and glMultiTexCoord1dv Consistently use the ARB-suffixed form, as that is the one present in the linux OpenGL 1.2.1 ABI Signed-off-by: Jon TURNEY <[email protected]> --- glx/indirect_dispatch.c | 26 ++++++++-------- glx/indirect_dispatch_swap.c | 72 ++++++++++++++++++++++---------------------- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/glx/indirect_dispatch.c b/glx/indirect_dispatch.c index a50f285..38ddd65 100644 --- a/glx/indirect_dispatch.c +++ b/glx/indirect_dispatch.c @@ -3460,7 +3460,7 @@ __glXDisp_CopyTexSubImage3D(GLbyte * pc) void __glXDisp_ActiveTexture(GLbyte * pc) { - glActiveTexture(*(GLenum *) (pc + 0)); + glActiveTextureARB(*(GLenum *) (pc + 0)); } void @@ -3473,7 +3473,7 @@ __glXDisp_MultiTexCoord1dv(GLbyte * pc) } #endif - glMultiTexCoord1dv(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0)); + glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0)); } void @@ -3485,13 +3485,13 @@ __glXDisp_MultiTexCoord1fvARB(GLbyte * pc) void __glXDisp_MultiTexCoord1iv(GLbyte * pc) { - glMultiTexCoord1iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); + glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void __glXDisp_MultiTexCoord1sv(GLbyte * pc) { - glMultiTexCoord1sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); + glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void @@ -3504,7 +3504,7 @@ __glXDisp_MultiTexCoord2dv(GLbyte * pc) } #endif - glMultiTexCoord2dv(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0)); + glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0)); } void @@ -3516,13 +3516,13 @@ __glXDisp_MultiTexCoord2fvARB(GLbyte * pc) void __glXDisp_MultiTexCoord2iv(GLbyte * pc) { - glMultiTexCoord2iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); + glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void __glXDisp_MultiTexCoord2sv(GLbyte * pc) { - glMultiTexCoord2sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); + glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void @@ -3535,7 +3535,7 @@ __glXDisp_MultiTexCoord3dv(GLbyte * pc) } #endif - glMultiTexCoord3dv(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0)); + glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0)); } void @@ -3547,13 +3547,13 @@ __glXDisp_MultiTexCoord3fvARB(GLbyte * pc) void __glXDisp_MultiTexCoord3iv(GLbyte * pc) { - glMultiTexCoord3iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); + glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void __glXDisp_MultiTexCoord3sv(GLbyte * pc) { - glMultiTexCoord3sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); + glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void @@ -3566,7 +3566,7 @@ __glXDisp_MultiTexCoord4dv(GLbyte * pc) } #endif - glMultiTexCoord4dv(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0)); + glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0)); } void @@ -3578,13 +3578,13 @@ __glXDisp_MultiTexCoord4fvARB(GLbyte * pc) void __glXDisp_MultiTexCoord4iv(GLbyte * pc) { - glMultiTexCoord4iv(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); + glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void __glXDisp_MultiTexCoord4sv(GLbyte * pc) { - glMultiTexCoord4sv(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); + glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void diff --git a/glx/indirect_dispatch_swap.c b/glx/indirect_dispatch_swap.c index 0d2dbf7..9f888b9 100644 --- a/glx/indirect_dispatch_swap.c +++ b/glx/indirect_dispatch_swap.c @@ -3821,7 +3821,7 @@ __glXDispSwap_CopyTexSubImage3D(GLbyte * pc) void __glXDispSwap_ActiveTexture(GLbyte * pc) { - glActiveTexture((GLenum) bswap_ENUM(pc + 0)); + glActiveTextureARB((GLenum) bswap_ENUM(pc + 0)); } void @@ -3834,8 +3834,8 @@ __glXDispSwap_MultiTexCoord1dv(GLbyte * pc) } #endif - glMultiTexCoord1dv((GLenum) bswap_ENUM(pc + 8), - (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + glMultiTexCoord1dvARB((GLenum) bswap_ENUM(pc + 8), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1)); } @@ -3850,17 +3850,17 @@ __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc) void __glXDispSwap_MultiTexCoord1iv(GLbyte * pc) { - glMultiTexCoord1iv((GLenum) bswap_ENUM(pc + 0), - (const GLint *) bswap_32_array((uint32_t *) (pc + 4), - 1)); + glMultiTexCoord1ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 1)); } void __glXDispSwap_MultiTexCoord1sv(GLbyte * pc) { - glMultiTexCoord1sv((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), - 1)); + glMultiTexCoord1svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 1)); } void @@ -3873,9 +3873,9 @@ __glXDispSwap_MultiTexCoord2dv(GLbyte * pc) } #endif - glMultiTexCoord2dv((GLenum) bswap_ENUM(pc + 16), - (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), - 2)); + glMultiTexCoord2dvARB((GLenum) bswap_ENUM(pc + 16), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 2)); } void @@ -3889,17 +3889,17 @@ __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc) void __glXDispSwap_MultiTexCoord2iv(GLbyte * pc) { - glMultiTexCoord2iv((GLenum) bswap_ENUM(pc + 0), - (const GLint *) bswap_32_array((uint32_t *) (pc + 4), - 2)); + glMultiTexCoord2ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 2)); } void __glXDispSwap_MultiTexCoord2sv(GLbyte * pc) { - glMultiTexCoord2sv((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), - 2)); + glMultiTexCoord2svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 2)); } void @@ -3912,9 +3912,9 @@ __glXDispSwap_MultiTexCoord3dv(GLbyte * pc) } #endif - glMultiTexCoord3dv((GLenum) bswap_ENUM(pc + 24), - (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), - 3)); + glMultiTexCoord3dvARB((GLenum) bswap_ENUM(pc + 24), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 3)); } void @@ -3928,17 +3928,17 @@ __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc) void __glXDispSwap_MultiTexCoord3iv(GLbyte * pc) { - glMultiTexCoord3iv((GLenum) bswap_ENUM(pc + 0), - (const GLint *) bswap_32_array((uint32_t *) (pc + 4), - 3)); + glMultiTexCoord3ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 3)); } void __glXDispSwap_MultiTexCoord3sv(GLbyte * pc) { - glMultiTexCoord3sv((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), - 3)); + glMultiTexCoord3svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 3)); } void @@ -3951,9 +3951,9 @@ __glXDispSwap_MultiTexCoord4dv(GLbyte * pc) } #endif - glMultiTexCoord4dv((GLenum) bswap_ENUM(pc + 32), - (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), - 4)); + glMultiTexCoord4dvARB((GLenum) bswap_ENUM(pc + 32), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 4)); } void @@ -3967,17 +3967,17 @@ __glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc) void __glXDispSwap_MultiTexCoord4iv(GLbyte * pc) { - glMultiTexCoord4iv((GLenum) bswap_ENUM(pc + 0), - (const GLint *) bswap_32_array((uint32_t *) (pc + 4), - 4)); + glMultiTexCoord4ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 4)); } void __glXDispSwap_MultiTexCoord4sv(GLbyte * pc) { - glMultiTexCoord4sv((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), - 4)); + glMultiTexCoord4svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); } void -- 1.8.3.4
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
