[Cogl] [PATCH 1/2] kms-winsys: Mark the framebuffer to be bound when setting a new layout

Rui Matos tiagomatos at gmail.com
Wed Jan 28 06:08:54 PST 2015


We need to bind the context to the new EGL surface we just created.

https://bugzilla.gnome.org/show_bug.cgi?id=741881
---
 cogl/winsys/cogl-winsys-egl-kms.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c
index 9be1df1..86f57c0 100644
--- a/cogl/winsys/cogl-winsys-egl-kms.c
+++ b/cogl/winsys/cogl-winsys-egl-kms.c
@@ -1177,6 +1177,7 @@ cogl_kms_display_set_layout (CoglDisplay *display,
        height != kms_display->height) &&
       kms_display->onscreen)
     {
+      CoglContext *context = COGL_FRAMEBUFFER (kms_display->onscreen)->context;
       CoglOnscreenEGL *egl_onscreen = kms_display->onscreen->winsys;
       CoglOnscreenKMS *kms_onscreen = egl_onscreen->platform;
       struct gbm_surface *new_surface;
@@ -1219,6 +1220,7 @@ cogl_kms_display_set_layout (CoglDisplay *display,
       egl_onscreen->egl_surface = new_egl_surface;
 
       _cogl_framebuffer_winsys_update_size (COGL_FRAMEBUFFER (kms_display->onscreen), width, height);
+      context->current_draw_buffer_changes |= COGL_FRAMEBUFFER_STATE_BIND;
     }
 
   kms_display->width = width;
-- 
2.1.0



More information about the Cogl mailing list