summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_vs_emit.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-01-16 15:07:10 -0800
committerEric Anholt <eric@anholt.net>2008-01-16 15:19:29 -0800
commit9bae03a583fc6d2d0b916961279abe9156078d1e (patch)
tree36c55c943739d418ba62b226f342a09f423b7981 /src/mesa/drivers/dri/i965/brw_vs_emit.c
parent6a5e86b3444b4228c5232bf5a297159e66f02077 (diff)
[965] Fix inversion of SLT/SGE results in vertex programs.
The WM code had this right, so copy its behavior. This reverts a flipping of the arguments to SLT in brw_vs_tnl which came in with the GLSL code that probably occurred to work around the flipped results, and brings the code back in line with t_vp_build.c.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vs_emit.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vs_emit.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c
index 7322123fb4..447e1182b3 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c
@@ -229,13 +229,10 @@ static void emit_sop( struct brw_compile *p,
struct brw_reg arg1,
GLuint cond)
{
- brw_push_insn_state(p);
+ brw_MOV(p, dst, brw_imm_f(0.0f));
brw_CMP(p, brw_null_reg(), cond, arg0, arg1);
- brw_set_predicate_control(p, BRW_PREDICATE_NONE);
brw_MOV(p, dst, brw_imm_f(1.0f));
- brw_set_predicate_control(p, BRW_PREDICATE_NORMAL);
- brw_MOV(p, dst, brw_imm_f(0.0f));
- brw_pop_insn_state(p);
+ brw_set_predicate_control_flag_value(p, 0xff);
}
static void emit_seq( struct brw_compile *p,