From ef12b6f7a27ff63a0d94dcb80bb09a3ea84105d2 Mon Sep 17 00:00:00 2001 From: ikits Date: Sun, 9 May 2004 09:26:51 +0000 Subject: [PATCH] fixed GLEW_MX bugs git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@262 783a27ee-832a-0410-bc00-9f386506c6dd --- auto/bin/fix_OML_sync_control.sh | 6 +++--- auto/src/glewinfo_post.c | 8 +++++++- auto/src/glewinfo_pre.c | 12 +++++++++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/auto/bin/fix_OML_sync_control.sh b/auto/bin/fix_OML_sync_control.sh index e35639f..5012334 100755 --- a/auto/bin/fix_OML_sync_control.sh +++ b/auto/bin/fix_OML_sync_control.sh @@ -8,9 +8,9 @@ perl -e 's/#ifndef GLX_OML_sync_control/#if !defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include /;' -pi $1 perl -e 's/#ifdef GLX_OML_sync_control/#if defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include /;' -pi $1 -perl -e 's/(GLXEW_EXPORT PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1 -perl -e 's/(GLXEW_EXPORT PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;)/\1\n#endif/' -pi $1 -perl -e 's/(GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1 +perl -e 's/(extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1 +perl -e 's/(extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;)/\1\n#endif/' -pi $1 +perl -e 's/(extern GLboolean __GLXEW_OML_sync_control;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1 perl -e 's/(PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1 perl -e 's/(PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL;)/\1\n#endif/' -pi $1 perl -e 's/(GLboolean __GLXEW_OML_sync_control = GL_FALSE;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1 diff --git a/auto/src/glewinfo_post.c b/auto/src/glewinfo_post.c index c0fdc6f..d5eb45d 100644 --- a/auto/src/glewinfo_post.c +++ b/auto/src/glewinfo_post.c @@ -41,7 +41,13 @@ int main (void) } glewExperimental = GL_TRUE; #ifdef GLEW_MX - err = glewContextInit(ctx); + err = glewContextInit(glewGetContext()); +#ifdef _WIN32 + err = err || wglewContextInit(wglewGetContext()); +#else + err = err || glxewContextInit(glxewGetContext()); +#endif + #else err = glewInit(); #endif diff --git a/auto/src/glewinfo_pre.c b/auto/src/glewinfo_pre.c index 6aeaa4d..eb32eaa 100644 --- a/auto/src/glewinfo_pre.c +++ b/auto/src/glewinfo_pre.c @@ -42,9 +42,15 @@ static FILE* f; #ifdef GLEW_MX -GLEWContext _ctx; -GLEWContext* ctx = &_ctx; -#define glewGetContext() ctx +GLEWContext _glewctx; +#define glewGetContext() (&_glewctx) +#ifdef _WIN32 +WGLEWContext _wglewctx; +#define wglewGetContext() (&_wglewctx) +#else +GLXEWContext _glxewctx; +#define glxewGetContext() (&_glxewctx) +#endif #endif #if defined(_WIN32)