[Mesa-dev] [PATCH] i965: Avoid dependency hints on math opcodes

mike at lunarg.com mike at lunarg.com
Wed Feb 12 16:24:55 PST 2014


From: Mike Stroyan <mike at LunarG.com>

  Putting NoDDClr and NoDDChk dependency control on instruction
sequences that include math opcodes can cause corruption of channels.
Treat math opcodes like send opcodes and suppress dependency hinting.

Signed-off-by: Mike Stroyan <mike at LunarG.com>
Tested-by: Tony Bertapelli <anthony.p.bertapelli at intel.com>
---
 src/mesa/drivers/dri/i965/brw_vec4.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index dd23ed4..1c42ca8 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -717,6 +717,14 @@ vec4_visitor::opt_set_dependency_control()
             continue;
          }
 
+         /* Dependency control does not work well over math instructions.
+          */
+         if (inst->is_math()) {
+            memset(last_grf_write, 0, sizeof(last_grf_write));
+            memset(last_mrf_write, 0, sizeof(last_mrf_write));
+            continue;
+         }
+
          /* Now, see if we can do dependency control for this instruction
           * against a previous one writing to its destination.
           */
-- 
1.8.3.2



More information about the mesa-dev mailing list