summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.com>2012-06-26 17:19:14 +0200
committerTomeu Vizoso <tomeu.vizoso@collabora.com>2012-06-26 18:05:13 +0200
commitb4a37af1ade7b466ee7f9429f646093b2359d32b (patch)
treebfc2bd071872330a070f1724d8d2f1a34e42ba63
parent7123c9d94538a616ca4b59aa9aca0f16b8dbc566 (diff)
downloadcogl-wip/cogl-1.12.tar.gz
framebuffer: Only remember offscreen allocate flags when !COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCILwip/cogl-1.12
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> (cherry picked from commit 7d2156785da8196e129eb393efb0d09093c4783e)
-rw-r--r--cogl/cogl-framebuffer.c11
1 files 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