mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2025-09-04 06:07:49 -04:00
Linux patch for swapEXT swapMESA and swapSGI
This commit is contained in:
parent
a803a2d136
commit
a034c810df
@ -6,6 +6,10 @@
|
|||||||
#include <OpenGL/OpenGL.h>
|
#include <OpenGL/OpenGL.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
#include <dlfcn.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT = NULL;
|
PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT = NULL;
|
||||||
@ -50,22 +54,27 @@ void initGLExtensions() {
|
|||||||
CGLSetParameter (CGLGetCurrentContext(), kCGLCPSwapInterval, &gl_interval);
|
CGLSetParameter (CGLGetCurrentContext(), kCGLCPSwapInterval, &gl_interval);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
#ifdef __linux__
|
||||||
#ifdef LINUX
|
dlopen("libglx.so",RTLD_LAZY);
|
||||||
char* glext_str = NULL;
|
|
||||||
|
|
||||||
glXSwapIntervalSGIFunc glXSwapIntervalSGI = 0;
|
void (*glxSwapIntervalEXTFunc) (Display *dpy, GLXDrawable drawable, int interval);
|
||||||
glXSwapIntervalMESAFunc glXSwapIntervalMESA = 0;
|
int (*glxSwapIntervalMESAFunc)(unsigned int interval);
|
||||||
|
int (*glxSwapIntervalSGIFunc) (int interval);
|
||||||
|
|
||||||
glext_str = (char*)glXQueryExtensionsString (glXGetCurrentDisplay(), 0);
|
glxSwapIntervalEXTFunc = (void (*) (Display *dpy, GLXDrawable drawable, int interval)) dlsym(RTLD_DEFAULT,"glXSwapIntervalEXT");
|
||||||
if (strstr (glext_str, "GLX_SGI_swap_control") != NULL) {
|
glxSwapIntervalMESAFunc = (int (*)(unsigned int interval)) dlsym(RTLD_DEFAULT,"glXSwapIntervalMESA");
|
||||||
glXSwapIntervalSGI = (glXSwapIntervalSGIFunc) dlsym(RTLD_DEFAULT,"glXSwapIntervalSGI") && glXSwapIntervalSGI (interval);
|
glxSwapIntervalSGIFunc = (int (*) (int interval)) dlsym(RTLD_DEFAULT,"glXSwapIntervalSGI");
|
||||||
|
|
||||||
} else if (strstr(glext_str, "GLX_MESA_swap_control") != NULL) {
|
if (glxSwapIntervalEXTFunc) {
|
||||||
glXSwapIntervalMESA = (glXSwapIntervalMESAFunc) dlsym(RTLD_DEFAULT,"glXSwapIntervalMESA") && glXSwapIntervalMESA (interval);
|
Display *dpy = glXGetCurrentDisplay();
|
||||||
|
GLXDrawable drawable = glXGetCurrentDrawable();
|
||||||
|
glxSwapIntervalEXTFunc(dpy, drawable, interval);
|
||||||
|
} else if (glxSwapIntervalMESAFunc) {
|
||||||
|
glxSwapIntervalMESAFunc(interval);
|
||||||
|
} else if (glxSwapIntervalSGIFunc) {
|
||||||
|
glxSwapIntervalSGIFunc(interval);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
*/
|
|
||||||
|
|
||||||
GLExt_initialized = true;
|
GLExt_initialized = true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user