[cogl] framebuffer: Only remember offscreen allocate flags when !COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL



commit 7d2156785da8196e129eb393efb0d09093c4783e
Author: Tomeu Vizoso <tomeu vizoso collabora com>
Date:   Tue Jun 26 17:19:14 2012 +0200

    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 <neil linux intel com>

 cogl/cogl-framebuffer.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/cogl/cogl-framebuffer.c b/cogl/cogl-framebuffer.c
index ec4acf6..6933357 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]