From 95670bdee2f51196c1f34871a23faae1348d4b60 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 14 May 2013 20:05:55 -0400 Subject: [PATCH] freedreno: scissor fix Don't assume the state-tracker will set the scissor after the framebuffer state is changed. Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_state.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 -- 2.30.2