summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-07-21 15:54:53 -0700
committerEric Anholt <[email protected]>2010-07-21 20:17:24 -0700
commit04de6861c1a41859dd85ca066b964e5df3ad63b6 (patch)
treef40100e8f58be1285f57a0dbceb2b26618a0c0eb
parentff81a1dd92f1bffcbfbd2c5268ea0d821b8e9dd4 (diff)
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.
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu_emit.c4
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 7164a22560e..7cda28a4674 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;
}