From: Rob Clark Date: Wed, 15 May 2013 00:05:55 +0000 (-0400) Subject: freedreno: scissor fix X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=95670bdee2f51196c1f34871a23faae1348d4b60;p=mesa.git freedreno: scissor fix Don't assume the state-tracker will set the scissor after the framebuffer state is changed. Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c index dcac6244a33..ce9a522c6ab 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.c +++ b/src/gallium/drivers/freedreno/freedreno_state.c @@ -135,6 +135,17 @@ fd_set_framebuffer_state(struct pipe_context *pctx, pipe_surface_reference(&cso->zsbuf, framebuffer->zsbuf); ctx->dirty |= FD_DIRTY_FRAMEBUFFER; + + /* also need to reset the scissor.. mesa/gl state tracker + * does this for us, but u_blitter doesn't and other + * state trackers might not.. + */ + ctx->scissor.minx = 0; + ctx->scissor.miny = 0; + ctx->scissor.maxx = cso->width; + ctx->scissor.maxy = cso->height; + + ctx->dirty |= FD_DIRTY_SCISSOR; } static void