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

Author: Eric Anholt <e...@anholt.net>
Date:   Tue Sep  6 13:29:21 2011 -0700

i965/vs: Add annotation to more of the URB write.

While we had nice debug output for most of the instruction stream, it
was terminated by a series of anonymous MOVs and a send.

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_vec4.h           |    1 +
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp |    5 ++++-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h 
b/src/mesa/drivers/dri/i965/brw_vec4.h
index 67b509a..0bfd88b 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -361,6 +361,7 @@ public:
     * for the ir->location's used.
     */
    dst_reg output_reg[BRW_VERT_RESULT_MAX];
+   const char *output_reg_annotation[BRW_VERT_RESULT_MAX];
    int uniform_size[MAX_UNIFORMS];
    int uniform_vector_size[MAX_UNIFORMS];
    int uniforms;
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index dac8cf9..afbd8d9 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -800,6 +800,7 @@ vec4_visitor::visit(ir_variable *ir)
         output_reg[ir->location + i] = *reg;
         output_reg[ir->location + i].reg_offset = i;
         output_reg[ir->location + i].type = BRW_REGISTER_TYPE_F;
+        output_reg_annotation[ir->location + i] = ir->name;
       }
       break;
 
@@ -1856,7 +1857,7 @@ vec4_visitor::emit_urb_slot(int mrf, int vert_result)
       break;
    default: {
       assert (vert_result < VERT_RESULT_MAX);
-      current_annotation = NULL;
+      current_annotation = output_reg_annotation[vert_result];
       /* Copy the register, saturating if necessary */
       vec4_instruction *inst = emit(MOV(reg,
                                         src_reg(output_reg[vert_result])));
@@ -1947,6 +1948,7 @@ vec4_visitor::emit_urb_writes()
       }
    }
 
+   current_annotation = "URB write";
    vec4_instruction *inst = emit(VS_OPCODE_URB_WRITE);
    inst->base_mrf = base_mrf;
    inst->mlen = align_interleaved_urb_mlen(brw, mrf - base_mrf);
@@ -1962,6 +1964,7 @@ vec4_visitor::emit_urb_writes()
          emit_urb_slot(mrf++, c->vue_map.slot_to_vert_result[slot]);
       }
 
+      current_annotation = "URB write";
       inst = emit(VS_OPCODE_URB_WRITE);
       inst->base_mrf = base_mrf;
       inst->mlen = align_interleaved_urb_mlen(brw, mrf - base_mrf);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to