base.Conformant = disp->ClientAPIs;
base.MinSwapInterval = 0;
- base.MaxSwapInterval = 1;
+ base.MaxSwapInterval = 4;
base.YInvertedNOK = EGL_TRUE;
if (!_eglValidateConfig(&base, EGL_FALSE)) {
return NULL;
}
+ wgl_surf->fb->swap_interval = 1;
stw_framebuffer_unlock(wgl_surf->fb);
return &wgl_surf->base;
return NULL;
}
+ wgl_surf->fb->swap_interval = 1;
stw_framebuffer_unlock(wgl_surf->fb);
return &wgl_surf->base;
}
static EGLBoolean
+wgl_swap_interval(_EGLDisplay *disp, _EGLSurface *surf, EGLint interval)
+{
+ struct wgl_egl_surface *wgl_surf = wgl_egl_surface(surf);
+ wgl_surf->fb->swap_interval = interval;
+ return EGL_TRUE;
+}
+
+static EGLBoolean
wgl_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw)
{
struct wgl_egl_display *wgl_disp = wgl_egl_display(disp);
.BindTexImage = wgl_bind_tex_image,
.ReleaseTexImage = _eglReleaseTexImage,
.GetProcAddress = _glapi_get_proc_address,
+ .SwapInterval = wgl_swap_interval,
.SwapBuffers = wgl_swap_buffers,
};