From 5b2cb6f91126f5fce24db20ecd86139f4d3e2895 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Fri, 18 Feb 2011 16:54:55 +0100 Subject: [PATCH] compositor: Generate Framebuffer in the backends --- compositor/compositor-drm.c | 3 +++ compositor/compositor-wayland.c | 3 +++ compositor/compositor-x11.c | 3 +++ compositor/compositor.c | 2 -- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c index 806afc6..6f1ce70 100644 --- a/compositor/compositor-drm.c +++ b/compositor/compositor-drm.c @@ -352,6 +352,9 @@ drm_compositor_create(struct wl_display *display, int connector) ec->base.create_buffer = wlsc_drm_buffer_create; ec->base.focus = 1; + glGenFramebuffers(1, &ec->base.fbo); + glBindFramebuffer(GL_FRAMEBUFFER, ec->base.fbo); + /* Can't init base class until we have a current egl context */ if (wlsc_compositor_init(&ec->base, display) < 0) return NULL; diff --git a/compositor/compositor-wayland.c b/compositor/compositor-wayland.c index 1793089..fea189b 100644 --- a/compositor/compositor-wayland.c +++ b/compositor/compositor-wayland.c @@ -519,6 +519,9 @@ wayland_compositor_create(struct wl_display *display, int width, int height) c->base.present = wayland_compositor_present; c->base.create_buffer = wlsc_drm_buffer_create; + glGenFramebuffers(1, &c->base.fbo); + glBindFramebuffer(GL_FRAMEBUFFER, c->base.fbo); + /* Can't init base class until we have a current egl context */ if (wlsc_compositor_init(&c->base, display) < 0) return NULL; diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c index 27b7cd9..afe7adc 100644 --- a/compositor/compositor-x11.c +++ b/compositor/compositor-x11.c @@ -731,6 +731,9 @@ x11_compositor_create(struct wl_display *display, int width, int height) c->base.present = x11_compositor_present; c->base.create_buffer = wlsc_drm_buffer_create; + glGenFramebuffers(1, &c->base.fbo); + glBindFramebuffer(GL_FRAMEBUFFER, c->base.fbo); + /* Can't init base class until we have a current egl context */ if (wlsc_compositor_init(&c->base, display) < 0) return NULL; diff --git a/compositor/compositor.c b/compositor/compositor.c index e3989d5..6b75447 100644 --- a/compositor/compositor.c +++ b/compositor/compositor.c @@ -1353,8 +1353,6 @@ wlsc_compositor_init(struct wlsc_compositor *ec, struct wl_display *display) return -1; } - glGenFramebuffers(1, &ec->fbo); - glBindFramebuffer(GL_FRAMEBUFFER, ec->fbo); glActiveTexture(GL_TEXTURE0); if (init_shaders(ec) < 0) return -1; -- 2.7.4