From: Eric Anholt Date: Tue, 6 Sep 2011 20:29:21 +0000 (-0700) Subject: i965/vs: Add annotation to more of the URB write. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6af968b6736c87c05ea579df50e23b6f23b900d4;p=mesa.git 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 Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 67b509ac48a..0bfd88b25d3 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 dac8cf91a63..afbd8d9eb58 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);