diff options
author | Zhenyu Wang <[email protected]> | 2010-09-17 12:57:35 +0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2010-09-28 18:34:22 -0700 |
commit | a4f126beaf7d77f017f4c2e949f551a04c6c4023 (patch) | |
tree | 8f3252869994fbfef88847b42fcf3ec6c10d5b84 | |
parent | 0d5400519eb93ec15bbde006f109e331bc9591c5 (diff) |
i965: Fix color interpolation on sandybridge
Don't double store position in vertex attribute. This makes color
interpolation right by using barycentric coordinates.
(cherry picked from commit 41c31c2ebd5ed2ca021ff9d89f79270562e6c368)
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_emit.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index ad0d00b87c4..ed2625e16f6 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -254,7 +254,7 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) c->first_overflow_output = 0; if (intel->gen >= 6) - mrf = 4; + mrf = 3; /* no more pos store in attribute */ else if (intel->gen == 5) mrf = 8; else @@ -1451,8 +1451,7 @@ static void emit_vertex_write( struct brw_vs_compile *c) * position. */ brw_MOV(p, brw_message_reg(2), pos); - brw_MOV(p, brw_message_reg(3), pos); - len_vertex_header = 2; + len_vertex_header = 1; } else if (intel->gen == 5) { /* There are 20 DWs (D0-D19) in VUE header on Ironlake: * dword 0-3 (m1) of the header is indices, point width, clip flags. |