Fetch swapInterval function pointer after binding a context

This fixes vsync on windows
This commit is contained in:
degasus 2014-02-24 12:45:02 +01:00
commit 8af3f751db
2 changed files with 15 additions and 6 deletions

View file

@ -110,7 +110,6 @@ bool cInterfaceGLX::Create(void *&window_handle)
PanicAlert("Unable to create GLX context.");
return false;
}
glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)GLInterface->GetFuncAddress("glXSwapIntervalSGI");
GLWin.x = _tx;
GLWin.y = _ty;
@ -131,7 +130,14 @@ bool cInterfaceGLX::MakeCurrent()
XMoveResizeWindow(GLWin.evdpy, GLWin.win, GLWin.x, GLWin.y,
GLWin.width, GLWin.height);
#endif
return glXMakeCurrent(GLWin.dpy, GLWin.win, GLWin.ctx);
bool success = glXMakeCurrent(GLWin.dpy, GLWin.win, GLWin.ctx);
if (success)
{
// load this function based on the current bound context
glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)GLInterface->GetFuncAddress("glXSwapIntervalSGI");
}
return success;
}
bool cInterfaceGLX::ClearCurrent()