The fragment shader needs gl_Position.w in order to do interpolation. Both the comments above and the old VS backend emitted this.
Fixes a ton of piglit tests on Ironlake with the new VS. Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 4babc56..04c49da 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1736,6 +1736,8 @@ vec4_visitor::emit_vue_header_gen4(int header_mrf) /* Pad so that vertex element data is aligned. */ header_mrf++; + + emit(BRW_OPCODE_MOV, brw_message_reg(header_mrf++), pos); } else { /* There are 8 dwords in VUE header pre-Ironlake: * dword 0-3 (m1) is indices, point width, clip flags. -- 1.7.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev