if (!gl_backend->make_current(gl_backend, true)) {
VIGS_LOG_CRITICAL("make_current failed");
}
-
- /*
- * Wait until previous rendering is finished. If we don't do this
- * then in case if vsync is off many frames will be batched together and
- * then flushed once the display is finally updated. This can cause lags
- * on some GPUs.
- */
- gl_backend->Finish();
}
/*
{
struct vigs_gl_backend *gl_backend = (struct vigs_gl_backend*)backend;
+ gl_backend->Finish();
gl_backend->make_current(gl_backend, false);
}
{
struct yagl_egl_onscreen_surface *osfc =
(struct yagl_egl_onscreen_surface*)sfc;
+ struct yagl_egl_onscreen *egl_onscreen =
+ (struct yagl_egl_onscreen*)sfc->dpy->backend;
+
+ egl_onscreen->gles_driver->Finish();
osfc->ws_sfc->base.set_dirty(&osfc->ws_sfc->base);
{
struct yagl_egl_onscreen_surface *osfc =
(struct yagl_egl_onscreen_surface*)sfc;
+ struct yagl_egl_onscreen *egl_onscreen =
+ (struct yagl_egl_onscreen*)sfc->dpy->backend;
+
+ egl_onscreen->gles_driver->Finish();
osfc->ws_sfc->base.set_dirty(&osfc->ws_sfc->base);
{
struct yagl_egl_onscreen_surface *osfc =
(struct yagl_egl_onscreen_surface*)sfc;
+ struct yagl_egl_onscreen *egl_onscreen =
+ (struct yagl_egl_onscreen*)sfc->dpy->backend;
- /*
- * M.b. glFinish here ?
- */
+ egl_onscreen->gles_driver->Finish();
osfc->ws_sfc->base.set_dirty(&osfc->ws_sfc->base);
}