[Mesa-dev] [PATCH 4.5/7] i965/fs: Use reads_flag and writes_flag methods in the scheduler.

Matt Turner mattst88 at gmail.com
Wed Oct 23 06:19:56 CEST 2013


---
 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



More information about the mesa-dev mailing list