Mesa (master): i956: Set the execution size correctly for scratch space writes.

Eric Anholt anholt at kemper.freedesktop.org
Thu Jul 22 03:25:58 UTC 2010


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

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jul 21 15:54:53 2010 -0700

i956: Set the execution size correctly for scratch space writes.

Otherwise, the second half isn't written, and we end up reading back
black.

Fixes the remaining junk drawn in glsl-max-varyings, and will likely
help with a number of large real-world shaders.

---

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

diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
index 7164a22..7cda28a 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
@@ -1091,10 +1091,10 @@ void brw_dp_WRITE_16( struct brw_compile *p,
        * spilling within a thread.
        */
       if (intel->gen >= 6) {
-	 dest = retype(brw_null_reg(), BRW_REGISTER_TYPE_UW);
+	 dest = retype(vec16(brw_null_reg()), BRW_REGISTER_TYPE_UW);
 	 send_commit_msg = 0;
       } else {
-	 dest = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW);
+	 dest = brw_uw16_grf(0, 0);
 	 send_commit_msg = 1;
       }
 




More information about the mesa-commit mailing list