This DP4 had one of its operands missing, so we were generating garbage clip distances. Using the per-opcode instruction generators made it obvious. --- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 68c0ed9..7334a38 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1854,9 +1854,9 @@ vec4_visitor::emit_vue_header_gen6(int header_mrf) else m = brw_message_reg(header_mrf + 1); - emit(BRW_OPCODE_DP4, - dst_reg(brw_writemask(m, 1 << (i & 3))), - src_reg(c->userplane[i])); + emit(DP4(dst_reg(brw_writemask(m, 1 << (i & 3))), + src_reg(output_reg[VERT_RESULT_HPOS]), + src_reg(c->userplane[i]))); } header_mrf += 2; } -- 1.7.5.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev