Mesa (master): i965/fs: Use reads_flag and writes_flag methods in the scheduler.

Matt Turner mattst88 at kemper.freedesktop.org
Thu Oct 31 02:49:55 UTC 2013


Module: Mesa
Branch: master
Commit: a93d54eb68f8c73ed65e4a7e861b810a9111c5a4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a93d54eb68f8c73ed65e4a7e861b810a9111c5a4

Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Oct 22 16:23:27 2013 -0700

i965/fs: Use reads_flag and writes_flag methods in the scheduler.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 .../drivers/dri/i965/brw_schedule_instructions.cpp |   16 ++++------------
 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 9e4de29..5dcd0e8 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;
       }
    }




More information about the mesa-commit mailing list