Mesa (master): i965/vs: Do VUE writes using the MRF file instead of hardware register.

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


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

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

i965/vs: Do VUE writes using the MRF file instead of hardware register.

We'll only do compute-to-MRF on accesses to this file.

---

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

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 83f543f..833349a 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -1831,13 +1831,15 @@ vec4_visitor::emit_clip_distances(struct brw_reg reg, int offset)
 void
 vec4_visitor::emit_urb_slot(int mrf, int vert_result)
 {
-   struct brw_reg reg = brw_message_reg(mrf);
+   struct brw_reg hw_reg = brw_message_reg(mrf);
+   dst_reg reg = dst_reg(MRF, mrf);
+   reg.type = BRW_REGISTER_TYPE_F;
 
    switch (vert_result) {
    case VERT_RESULT_PSIZ:
       /* PSIZ is always in slot 0, and is coupled with other flags. */
       current_annotation = "indices, point width, clip flags";
-      emit_psiz_and_flags(reg);
+      emit_psiz_and_flags(hw_reg);
       break;
    case BRW_VERT_RESULT_NDC:
       current_annotation = "NDC";
@@ -1850,11 +1852,11 @@ vec4_visitor::emit_urb_slot(int mrf, int vert_result)
       break;
    case BRW_VERT_RESULT_CLIP0:
       current_annotation = "user clip distances";
-      emit_clip_distances(reg, 0);
+      emit_clip_distances(hw_reg, 0);
       break;
    case BRW_VERT_RESULT_CLIP1:
       current_annotation = "user clip distances";
-      emit_clip_distances(reg, 4);
+      emit_clip_distances(hw_reg, 4);
       break;
    case BRW_VERT_RESULT_PAD:
       /* No need to write to this slot */




More information about the mesa-commit mailing list