projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7cbb705
)
Revert "i965: Do FS SLT, SGT, and friends using CMP, SEL instead of CMP, MOV, MOV."
author
Eric Anholt
<eric@anholt.net>
Tue, 16 Mar 2010 18:22:29 +0000
(11:22 -0700)
committer
Eric Anholt
<eric@anholt.net>
Tue, 16 Mar 2010 20:18:54 +0000
(13:18 -0700)
This reverts commit
46450c1f3f93bf4dc96696fc7e0f0eb808d9c08a
. I was
wrong about null reg behavior -- it reads undefined, not 0. And
they're not kidding.
src/mesa/drivers/dri/i965/brw_wm_emit.c
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/i965/brw_wm_emit.c
b/src/mesa/drivers/dri/i965/brw_wm_emit.c
index 05e464d4b61726693af09a639dba25487234af26..1869fd06d5a392dc1ec1631e94435b2495de6ca0 100644
(file)
--- a/
src/mesa/drivers/dri/i965/brw_wm_emit.c
+++ b/
src/mesa/drivers/dri/i965/brw_wm_emit.c
@@
-545,8
+545,11
@@
void emit_sop(struct brw_compile *p,
for (i = 0; i < 4; i++) {
if (mask & (1<<i)) {
brw_push_insn_state(p);
- brw_CMP(p, brw_null_reg(), cond, arg1[i], arg0[i]);
- brw_SEL(p, dst[i], brw_null_reg(), brw_imm_f(1.0));
+ brw_CMP(p, brw_null_reg(), cond, arg0[i], arg1[i]);
+ brw_set_predicate_control(p, BRW_PREDICATE_NONE);
+ brw_MOV(p, dst[i], brw_imm_f(0));
+ brw_set_predicate_control(p, BRW_PREDICATE_NORMAL);
+ brw_MOV(p, dst[i], brw_imm_f(1.0));
brw_pop_insn_state(p);
}
}