diff --git a/gdk/wayland/gdkglcontext-wayland.c b/gdk/wayland/gdkglcontext-wayland.c index 558c9cfed0..0bc24824f6 100644 --- a/gdk/wayland/gdkglcontext-wayland.c +++ b/gdk/wayland/gdkglcontext-wayland.c @@ -276,6 +276,16 @@ gdk_wayland_gl_context_make_current (GdkGLContext *context, egl_surface, context_wayland->egl_context); } + +static void +gdk_wayland_gl_context_begin_frame (GdkDrawContext *draw_context, + cairo_region_t *region) +{ + GDK_DRAW_CONTEXT_CLASS (gdk_wayland_gl_context_parent_class)->begin_frame (draw_context, region); + + glDrawBuffers (1, (GLenum[1]) { GL_BACK }); +} + static void gdk_wayland_gl_context_end_frame (GdkDrawContext *draw_context, cairo_region_t *painted) @@ -337,6 +347,7 @@ gdk_wayland_gl_context_class_init (GdkWaylandGLContextClass *klass) gobject_class->dispose = gdk_wayland_gl_context_dispose; + draw_context_class->begin_frame = gdk_wayland_gl_context_begin_frame; draw_context_class->end_frame = gdk_wayland_gl_context_end_frame; context_class->realize = gdk_wayland_gl_context_realize; diff --git a/gdk/x11/gdkglcontext-egl.c b/gdk/x11/gdkglcontext-egl.c index a4de68d228..eb5fd33724 100644 --- a/gdk/x11/gdkglcontext-egl.c +++ b/gdk/x11/gdkglcontext-egl.c @@ -312,6 +312,15 @@ gdk_x11_surface_destroy_egl_surface (GdkX11Surface *self) self->egl_surface = NULL; } +static void +gdk_x11_gl_context_egl_begin_frame (GdkDrawContext *draw_context, + cairo_region_t *region) +{ + GDK_DRAW_CONTEXT_CLASS (gdk_x11_gl_context_egl_parent_class)->begin_frame (draw_context, region); + + glDrawBuffers (1, (GLenum[1]) { GL_BACK }); +} + static void gdk_x11_gl_context_egl_end_frame (GdkDrawContext *draw_context, cairo_region_t *painted) @@ -638,6 +647,7 @@ gdk_x11_gl_context_egl_class_init (GdkX11GLContextEGLClass *klass) context_class->clear_current = gdk_x11_gl_context_egl_clear_current; context_class->get_damage = gdk_x11_gl_context_egl_get_damage; + draw_context_class->begin_frame = gdk_x11_gl_context_egl_begin_frame; draw_context_class->end_frame = gdk_x11_gl_context_egl_end_frame; gobject_class->dispose = gdk_x11_gl_context_egl_dispose;