mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 04:50:11 +01:00
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.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
48eb1fe6f9
commit
6af968b673
2 changed files with 5 additions and 1 deletions
|
|
@ -361,6 +361,7 @@ public:
|
||||||
* for the ir->location's used.
|
* for the ir->location's used.
|
||||||
*/
|
*/
|
||||||
dst_reg output_reg[BRW_VERT_RESULT_MAX];
|
dst_reg output_reg[BRW_VERT_RESULT_MAX];
|
||||||
|
const char *output_reg_annotation[BRW_VERT_RESULT_MAX];
|
||||||
int uniform_size[MAX_UNIFORMS];
|
int uniform_size[MAX_UNIFORMS];
|
||||||
int uniform_vector_size[MAX_UNIFORMS];
|
int uniform_vector_size[MAX_UNIFORMS];
|
||||||
int uniforms;
|
int uniforms;
|
||||||
|
|
|
||||||
|
|
@ -800,6 +800,7 @@ vec4_visitor::visit(ir_variable *ir)
|
||||||
output_reg[ir->location + i] = *reg;
|
output_reg[ir->location + i] = *reg;
|
||||||
output_reg[ir->location + i].reg_offset = i;
|
output_reg[ir->location + i].reg_offset = i;
|
||||||
output_reg[ir->location + i].type = BRW_REGISTER_TYPE_F;
|
output_reg[ir->location + i].type = BRW_REGISTER_TYPE_F;
|
||||||
|
output_reg_annotation[ir->location + i] = ir->name;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -1856,7 +1857,7 @@ vec4_visitor::emit_urb_slot(int mrf, int vert_result)
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
assert (vert_result < VERT_RESULT_MAX);
|
assert (vert_result < VERT_RESULT_MAX);
|
||||||
current_annotation = NULL;
|
current_annotation = output_reg_annotation[vert_result];
|
||||||
/* Copy the register, saturating if necessary */
|
/* Copy the register, saturating if necessary */
|
||||||
vec4_instruction *inst = emit(MOV(reg,
|
vec4_instruction *inst = emit(MOV(reg,
|
||||||
src_reg(output_reg[vert_result])));
|
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);
|
vec4_instruction *inst = emit(VS_OPCODE_URB_WRITE);
|
||||||
inst->base_mrf = base_mrf;
|
inst->base_mrf = base_mrf;
|
||||||
inst->mlen = align_interleaved_urb_mlen(brw, 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]);
|
emit_urb_slot(mrf++, c->vue_map.slot_to_vert_result[slot]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
current_annotation = "URB write";
|
||||||
inst = emit(VS_OPCODE_URB_WRITE);
|
inst = emit(VS_OPCODE_URB_WRITE);
|
||||||
inst->base_mrf = base_mrf;
|
inst->base_mrf = base_mrf;
|
||||||
inst->mlen = align_interleaved_urb_mlen(brw, mrf - base_mrf);
|
inst->mlen = align_interleaved_urb_mlen(brw, mrf - base_mrf);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue