1234567891011121314151617181920212223242526272829303132333435 |
- #if defined(TORQUE_OPENGL) && !defined(TORQUE_SDL)
- #include "platform/platformGL.h"
- #include "gfx/gl/tGL/tWGL.h"
- #include "gfx/gl/gfxGLUtils.h"
- void PlatformGL::setVSync(const int i)
- {
- if (gglHasWExtension(EXT_swap_control))
- {
- PRESERVE_FRAMEBUFFER();
- // NVidia needs to have the default framebuffer bound or the vsync calls fail
- glBindFramebuffer(GL_FRAMEBUFFER, 0);
- if (gglHasWExtension(EXT_swap_control_tear))
- {
- if (i == 1 || i == -1)
- {
- BOOL ret = wglSwapIntervalEXT(-1);
- if (!ret)
- wglSwapIntervalEXT(1);
- }
- else
- {
- wglSwapIntervalEXT(i);
- }
- return;
- }
- //fallback with no EXT_swap_control_tear
- wglSwapIntervalEXT(i);
- }
- }
- #endif
|