Mesa (master): i965: Move more code into codegen-branch of the fs_visitor: :run() if statement

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Nov 15 03:38:17 UTC 2014


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

Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Thu Nov 13 16:28:17 2014 -0800

i965: Move more code into codegen-branch of the fs_visitor::run() if statement

These last few operations all only apply when we've actually generated
code, optimized and allocated registers.  The dummy and the repclear
shaders don't need the gen4 send workaround, and don't spill.  This
means we can move these lines into the else-branch, which will make
the following refactoring easier.

v2 (Ken): Rebase on master, which removed the uncompressed stack.

Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |   23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 1289a40..0bdd8ab 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -3624,22 +3624,21 @@ fs_visitor::run()
                break;
          }
       }
-   }
 
-   /* This must come after all optimization and register allocation, since
-    * it inserts dead code that happens to have side effects, and it does
-    * so based on the actual physical registers in use.
-    */
-   insert_gen4_send_dependency_workarounds();
+      /* This must come after all optimization and register allocation, since
+       * it inserts dead code that happens to have side effects, and it does
+       * so based on the actual physical registers in use.
+       */
+      insert_gen4_send_dependency_workarounds();
 
-   if (failed)
-      return false;
+      if (failed)
+         return false;
 
-   if (!allocated_without_spills)
-      schedule_instructions(SCHEDULE_POST);
+      if (!allocated_without_spills)
+         schedule_instructions(SCHEDULE_POST);
 
-   if (last_scratch > 0) {
-      prog_data->total_scratch = brw_get_scratch_size(last_scratch);
+      if (last_scratch > 0)
+         prog_data->total_scratch = brw_get_scratch_size(last_scratch);
    }
 
    if (stage == MESA_SHADER_FRAGMENT) {




More information about the mesa-commit mailing list