From b4a37af1ade7b466ee7f9429f646093b2359d32b Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 26 Jun 2012 17:19:14 +0200 Subject: framebuffer: Only remember offscreen allocate flags when !COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL Otherwise, if a texture is created before all the other FBOs, a new atlas will be created, with a FBO with COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL causing last_offscreen_allocate_flags to be 0. Reviewed-by: Neil Roberts (cherry picked from commit 7d2156785da8196e129eb393efb0d09093c4783e) --- cogl/cogl-framebuffer.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cogl/cogl-framebuffer.c b/cogl/cogl-framebuffer.c index 48337f8f..69dab6f7 100644 --- a/cogl/cogl-framebuffer.c +++ b/cogl/cogl-framebuffer.c @@ -1132,10 +1132,13 @@ _cogl_offscreen_allocate (CoglOffscreen *offscreen, { fb->samples_per_pixel = gl_framebuffer->samples_per_pixel; - /* Record that the last set of flags succeeded so that we can - try that set first next time */ - ctx->last_offscreen_allocate_flags = flags; - ctx->have_last_offscreen_allocate_flags = TRUE; + if (!offscreen->create_flags & COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL) + { + /* Record that the last set of flags succeeded so that we can + try that set first next time */ + ctx->last_offscreen_allocate_flags = flags; + ctx->have_last_offscreen_allocate_flags = TRUE; + } /* Save the flags we managed so successfully allocate the * renderbuffers with in case we need to make renderbuffers for a -- cgit v1.2.1