summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2013-10-22 16:23:27 -0700
committerMatt Turner <mattst88@gmail.com>2013-10-30 19:49:27 -0700
commita93d54eb68f8c73ed65e4a7e861b810a9111c5a4 (patch)
tree3acafff017158aba53726a40ec605a5f29260b99
parent20d0297ff2d507aab42e59ebfde375d5205642cb (diff)
i965/fs: Use reads_flag and writes_flag methods in the scheduler.
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>
-rw-r--r--src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp16
1 files 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 9e4de29150b..5dcd0e8b881 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -645,7 +645,7 @@ fs_instruction_scheduler::calculate_deps()
}
}
- if (inst->predicate) {
+ if (inst->reads_flag()) {
add_dep(last_conditional_mod[inst->flag_subreg], n);
}
@@ -692,11 +692,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;
}
@@ -755,7 +751,7 @@ fs_instruction_scheduler::calculate_deps()
}
}
- if (inst->predicate) {
+ if (inst->reads_flag()) {
add_dep(n, last_conditional_mod[inst->flag_subreg]);
}
@@ -800,11 +796,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;
}
}