summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-09-06 12:29:15 -0700
committerEric Anholt <[email protected]>2011-09-20 11:28:56 -0700
commit65d46c96c2540f8181293c318b412446a953faef (patch)
treed64ba9d9cf5e4f629d3384aa594aa227d5ffba09 /src
parent160848d8ef96cf3a760c02cc576df7dbffc1f669 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_emit.cpp6
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 7031d2a82da..15f2458a88a 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;