aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_atom_framebuffer.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-05-01 17:03:50 +0200
committermarha <marha@users.sourceforge.net>2014-05-01 17:03:50 +0200
commitaadab8d97e31348ffe45d1e5d36ad90b0ccd17aa (patch)
tree37bc7921f864ead4f6eb357b31a1eb66d46aaef9 /mesalib/src/mesa/state_tracker/st_atom_framebuffer.c
parent2e0adb33e03e3142f1412ed570415c5ce616dcef (diff)
parentea0cd87ecbe9fc3c5503ccad7f87a895a458d6d4 (diff)
downloadvcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.gz
vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.tar.bz2
vcxsrv-aadab8d97e31348ffe45d1e5d36ad90b0ccd17aa.zip
Merge remote-tracking branch 'origin/released'
Conflicts: libxcb/src/xcb_util.c mesalib/src/mesa/drivers/dri/common/dri_util.c xorg-server/os/utils.c
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_atom_framebuffer.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_framebuffer.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_atom_framebuffer.c b/mesalib/src/mesa/state_tracker/st_atom_framebuffer.c
index a17417c35..b195c55b3 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_framebuffer.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_framebuffer.c
@@ -113,6 +113,12 @@ update_framebuffer_state( struct st_context *st )
pipe_surface_reference(&framebuffer->cbufs[i], NULL);
}
+ /* Remove trailing GL_NONE draw buffers. */
+ while (framebuffer->nr_cbufs &&
+ !framebuffer->cbufs[framebuffer->nr_cbufs-1]) {
+ framebuffer->nr_cbufs--;
+ }
+
/*
* Depth/Stencil renderbuffer/surface.
*/
@@ -147,11 +153,10 @@ update_framebuffer_state( struct st_context *st )
}
#endif
- /* _mesa_test_framebuffer_completeness refuses framebuffers with no
- * attachments, so this should never happen.
- */
- assert(framebuffer->width != UINT_MAX);
- assert(framebuffer->height != UINT_MAX);
+ if (framebuffer->width == UINT_MAX)
+ framebuffer->width = 0;
+ if (framebuffer->height == UINT_MAX)
+ framebuffer->height = 0;
cso_set_framebuffer(st->cso_context, framebuffer);
}