To be consistent with the fs backend. Also the instruction scheduler
incorrectly considered SEL with a conditional modifier to read the flag
register.
Reviewed-by: Eric Anholt <eric@anholt.net>
}
}
- if (inst->conditional_mod) {
+ if (inst->writes_flag()) {
add_dep(last_conditional_mod, n, 0);
last_conditional_mod = n;
}
}
}
- if (inst->conditional_mod) {
+ if (inst->writes_flag()) {
last_conditional_mod = n;
}
}
{
return predicate || opcode == VS_OPCODE_UNPACK_FLAGS_SIMD4X2;
}
+
+ bool writes_flag()
+ {
+ return conditional_mod && opcode != BRW_OPCODE_SEL;
+ }
};
/**