--- src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp index 84b74ff..9cc752e 100644 --- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp +++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp @@ -604,7 +604,7 @@ fs_instruction_scheduler::calculate_deps() } } - if (inst->predicate) { + if (inst->reads_flag()) { add_dep(last_conditional_mod[inst->flag_subreg], n); } @@ -651,11 +651,7 @@ fs_instruction_scheduler::calculate_deps() } } - /* Treat FS_OPCODE_MOV_DISPATCH_TO_FLAGS as though it had a - * conditional_mod, because it sets the flag register. - */ - if (inst->conditional_mod || - inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) { + if (inst->writes_flag()) { add_dep(last_conditional_mod[inst->flag_subreg], n, 0); last_conditional_mod[inst->flag_subreg] = n; } @@ -714,7 +710,7 @@ fs_instruction_scheduler::calculate_deps() } } - if (inst->predicate) { + if (inst->reads_flag()) { add_dep(n, last_conditional_mod[inst->flag_subreg]); } @@ -759,11 +755,7 @@ fs_instruction_scheduler::calculate_deps() } } - /* Treat FS_OPCODE_MOV_DISPATCH_TO_FLAGS as though it had a - * conditional_mod, because it sets the flag register. - */ - if (inst->conditional_mod || - inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) { + if (inst->writes_flag()) { last_conditional_mod[inst->flag_subreg] = n; } } -- 1.8.3.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev