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