Mesa (master): i965: Remove artificial dependency between math instructions.

Matt Turner mattst88 at kemper.freedesktop.org
Tue Jul 8 18:10:40 UTC 2014


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

Author: Matt Turner <mattst88 at gmail.com>
Date:   Sun Jul  6 21:31:28 2014 -0700

i965: Remove artificial dependency between math instructions.

... on Gen6+. I'm not actually sure which class Gen6 fits into.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
index 10a8f6d..04ac242 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -1356,6 +1356,7 @@ vec4_instruction_scheduler::issue_time(backend_instruction *inst)
 void
 instruction_scheduler::schedule_instructions(backend_instruction *next_block_header)
 {
+   struct brw_context *brw = bv->brw;
    time = 0;
 
    /* Remove non-DAG heads from the list. */
@@ -1424,7 +1425,7 @@ instruction_scheduler::schedule_instructions(backend_instruction *next_block_hea
        * the next math instruction isn't going to make progress until the first
        * is done.
        */
-      if (chosen->inst->is_math()) {
+      if (brw->gen < 6 && chosen->inst->is_math()) {
          foreach_in_list(schedule_node, n, &instructions) {
 	    if (n->inst->is_math())
 	       n->unblocked_time = MAX2(n->unblocked_time,




More information about the mesa-commit mailing list