Mesa (master): i956: Make state dependency of SF on drawbuffer bounds match Mesa's.

Eric Anholt anholt at kemper.freedesktop.org
Thu May 21 17:48:30 UTC 2009


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

Author: Eric Anholt <eric at anholt.net>
Date:   Wed May 20 15:59:07 2009 -0700

i956: Make state dependency of SF on drawbuffer bounds match Mesa's.

Noticed while debugging a weird 1D FBO testcase that left its existing
viewport and projection matrix in place when switching drawbuffers.  Didn't
fix the testcase, though.

---

 src/mesa/drivers/dri/i965/brw_sf_state.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c
index 68fa982..c999187 100644
--- a/src/mesa/drivers/dri/i965/brw_sf_state.c
+++ b/src/mesa/drivers/dri/i965/brw_sf_state.c
@@ -66,7 +66,9 @@ static void upload_sf_vp(struct brw_context *brw)
    sfv.viewport.m31 = v[MAT_TY] * y_scale + y_bias;
    sfv.viewport.m32 = v[MAT_TZ] * depth_scale;
 
-   /* _NEW_SCISSOR */
+   /* _NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT
+    * for DrawBuffer->_[XY]{min,max}
+    */
 
    /* The scissor only needs to handle the intersection of drawable and
     * scissor rect.  Clipping to the boundaries of static shared buffers
@@ -97,7 +99,8 @@ static void upload_sf_vp(struct brw_context *brw)
 const struct brw_tracked_state brw_sf_vp = {
    .dirty = {
       .mesa  = (_NEW_VIEWPORT | 
-		_NEW_SCISSOR),
+		_NEW_SCISSOR |
+		_NEW_BUFFERS),
       .brw   = 0,
       .cache = 0
    },




More information about the mesa-commit mailing list