Mesa (master): freedreno: scissor fix

Rob Clark robclark at kemper.freedesktop.org
Thu May 23 18:35:32 UTC 2013


Module: Mesa
Branch: master
Commit: 95670bdee2f51196c1f34871a23faae1348d4b60
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95670bdee2f51196c1f34871a23faae1348d4b60

Author: Rob Clark <robclark at freedesktop.org>
Date:   Tue May 14 20:05:55 2013 -0400

freedreno: scissor fix

Don't assume the state-tracker will set the scissor after the
framebuffer state is changed.

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/freedreno_state.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c
index dcac624..ce9a522 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




More information about the mesa-commit mailing list