Mesa (master): i965/fs: Do instruction pre-scheduling just before register allocation.

Eric Anholt anholt at kemper.freedesktop.org
Tue Nov 12 23:21:09 UTC 2013


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

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Nov  6 17:43:25 2013 -0800

i965/fs: Do instruction pre-scheduling just before register allocation.

Long ago, the HW_REG usage in assign_curb/urb_setup() were scheduling
barriers, so we had to run scheduler before them in order for it to be
able to do basically anything.  Now that that's fixed, we can delay the
scheduling until we go to allocate (which will make the next change less
scary).

Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index ee7b07d..afa82c9 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -3281,13 +3281,13 @@ fs_visitor::run()
 	 progress = compute_to_mrf() || progress;
       } while (progress);
 
-      schedule_instructions(false);
-
       lower_uniform_pull_constant_loads();
 
       assign_curb_setup();
       assign_urb_setup();
 
+      schedule_instructions(false);
+
       if (0)
 	 assign_regs_trivial();
       else {




More information about the mesa-commit mailing list