From 6b46754bc050766afe5c3d8d02b5510d61efd360 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 23 Mar 2011 21:58:06 +0100 Subject: [PATCH] st/mesa: Validate state before doing blits. Specifically, this ensures things like the front buffer actually exist. This fixes piglt fbo/fbo-sys-blit and fd.o bug 35483. Signed-off-by: Henri Verbeet (cherry picked from commit 5d7c27f5ec2f30c264dc2d53c4980970b3a13ee5) --- src/mesa/state_tracker/st_cb_blit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c index 536748402f4..b4640996b92 100644 --- a/src/mesa/state_tracker/st_cb_blit.c +++ b/src/mesa/state_tracker/st_cb_blit.c @@ -38,6 +38,7 @@ #include "st_texture.h" #include "st_cb_blit.h" #include "st_cb_fbo.h" +#include "st_atom.h" #include "util/u_blit.h" #include "util/u_inlines.h" @@ -75,6 +76,8 @@ st_BlitFramebuffer(GLcontext *ctx, struct gl_framebuffer *readFB = ctx->ReadBuffer; struct gl_framebuffer *drawFB = ctx->DrawBuffer; + st_validate_state(st); + if (!_mesa_clip_blit(ctx, &srcX0, &srcY0, &srcX1, &srcY1, &dstX0, &dstY0, &dstX1, &dstY1)) { return; /* nothing to draw/blit */