Mesa (master): nv50: make sure we don't re-emit outdated scissor state

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Fri Aug 14 16:31:36 UTC 2009


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

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Aug 14 18:16:46 2009 +0200

nv50: make sure we don't re-emit outdated scissor state

Since we don't turn off scissors, we need to update the
stateobj when the framebuffer size changes.

---

 src/gallium/drivers/nv50/nv50_state_validate.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c
index b872684..42ecf05 100644
--- a/src/gallium/drivers/nv50/nv50_state_validate.c
+++ b/src/gallium/drivers/nv50/nv50_state_validate.c
@@ -124,10 +124,6 @@ nv50_state_validate_fb(struct nv50_context *nv50)
 	so_method(so, tesla, NV50TCL_VIEWPORT_HORIZ, 2);
 	so_data  (so, w << 16);
 	so_data  (so, h << 16);
-	/* set window scissor rectangle to window extents */
-	so_method(so, tesla, NV50TCL_SCISSOR_HORIZ, 2);
-	so_data  (so, w << 16);
-	so_data  (so, h << 16);
 	/* set window lower left corner */
 	so_method(so, tesla, NV50TCL_WINDOW_LEFT, 2);
 	so_data  (so, 0);
@@ -137,6 +133,10 @@ nv50_state_validate_fb(struct nv50_context *nv50)
 	so_data  (so, w << 16);
 	so_data  (so, h << 16);
 
+	/* we set scissors to framebuffer size when they're 'turned off' */
+	nv50->dirty |= NV50_NEW_SCISSOR;
+	so_ref(NULL, &nv50->state.scissor);
+
 	so_ref(so, &nv50->state.fb);
 	so_ref(NULL, &so);
 }




More information about the mesa-commit mailing list