diff options
author | Paul Berry <[email protected]> | 2011-06-12 10:47:46 -0700 |
---|---|---|
committer | Paul Berry <[email protected]> | 2011-06-24 15:35:49 -0700 |
commit | 95c2e0b601fd333cc73d7f214a3cd949f7e45aac (patch) | |
tree | de65f8ca6b729170ea708e2625727ad99d8475d3 | |
parent | 3acae4591566ed9560798e23edb5416e6a614a21 (diff) |
i965: fix mask used to write to clip distance registers when gen>6
In gen6 and above, clip distances 0-3 are written to message register
3's xyzw components, and 4-7 to message register 4's xyzw components.
Therefore when when writing the clip distances we need to examine the
lower 2 bits of the clip distance index to see which component to
write to.
emit_vertex_write() was examining the lower 3 bits, causing clip
distances 4-7 not to be written correctly.
Fixes piglit test vs-clip-vertex-01.shader_test
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_emit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index b6c9e5a1ceb..9d733344a26 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1635,7 +1635,7 @@ static void emit_vertex_write( struct brw_vs_compile *c) else m = brw_message_reg(4); - brw_DP4(p, brw_writemask(m, (1 << (i & 7))),pos, c->userplane[i]); + brw_DP4(p, brw_writemask(m, (1 << (i & 3))),pos, c->userplane[i]); } } } else if ((c->prog_data.outputs_written & |