Mesa (master): i965/vs: Handle destinations in the MRF file.

Eric Anholt anholt at kemper.freedesktop.org
Tue Sep 20 19:07:56 UTC 2011


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

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Sep  6 12:29:15 2011 -0700

i965/vs: Handle destinations in the MRF file.

We've been referencing MRFs through the HW_REG file so far, but that
makes it harder to handle compute-to-MRF and similar optimizations.

---

 src/mesa/drivers/dri/i965/brw_vec4_emit.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
index 7031d2a..15f2458 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
@@ -165,6 +165,12 @@ vec4_instruction::get_dst(void)
       brw_reg.dw1.bits.writemask = dst.writemask;
       break;
 
+   case MRF:
+      brw_reg = brw_message_reg(dst.reg + dst.reg_offset);
+      brw_reg = retype(brw_reg, dst.type);
+      brw_reg.dw1.bits.writemask = dst.writemask;
+      break;
+
    case HW_REG:
       brw_reg = dst.fixed_hw_reg;
       break;




More information about the mesa-commit mailing list