summaryrefslogtreecommitdiff
path: root/clients
diff options
context:
space:
mode:
authorStanislav Vorobiov <s.vorobiov@samsung.com>2013-08-28 10:14:35 +0400
committerKristian Høgsberg <krh@bitplanet.net>2013-08-28 22:31:33 -0700
commit6346e501ac4146b3fdff8d36ef575e5fbbd96e34 (patch)
tree7f6b9a7180a314283f3524886e77bc9c77821f4d /clients
parentf66f99d9db2480bb4e58bc3c76e8193dbd4e241a (diff)
subsurfaces: fix rendering problem with cairo-glesv2
when using cairo-glesv2 subsurface rendering code implicitly calls eglMakeCurrent(dpy, NULL, NULL, ctx) (since EGL_KHR_surfaceless_context is used), thus, triangle_frame_callback:eglSwapBuffers returns EGL_BAD_SURFACE error for all invocations other that the first one
Diffstat (limited to 'clients')
-rw-r--r--clients/subsurfaces.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/clients/subsurfaces.c b/clients/subsurfaces.c
index 51b07a2f..101ff17e 100644
--- a/clients/subsurfaces.c
+++ b/clients/subsurfaces.c
@@ -398,6 +398,9 @@ triangle_frame_callback(void *data, struct wl_callback *callback,
if (callback)
wl_callback_destroy(callback);
+ eglMakeCurrent(tri->egl->dpy, tri->egl_surface,
+ tri->egl_surface, tri->egl->ctx);
+
glViewport(0, 0, tri->width, tri->height);
triangle_draw(&tri->gl, tri->time);