Module: Mesa Branch: master Commit: 2faa1a414c985c3dd86bcfc9c0dfa33784ad67ab URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2faa1a414c985c3dd86bcfc9c0dfa33784ad67ab
Author: Matt Turner <[email protected]> Date: Tue Jun 17 12:14:44 2014 -0700 i965: Update JIP/UIP compaction code to operate on bytes. JIP/UIP were previously in units of compacted instructions. On Gen8 they're in units of bytes. Reviewed-by: Kenneth Graunke <[email protected]> --- src/mesa/drivers/dri/i965/brw_eu_compact.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c b/src/mesa/drivers/dri/i965/brw_eu_compact.c index 25a96e7..ecd9797 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_compact.c +++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c @@ -653,16 +653,20 @@ static void update_uip_jip(struct brw_context *brw, brw_inst *insn, int this_old_ip, int *compacted_counts) { - int jip = brw_inst_jip(brw, insn); - jip -= compacted_between(this_old_ip, this_old_ip + jip, compacted_counts); + int scale = brw->gen >= 8 ? sizeof(brw_compact_inst) : 1; + + int32_t jip = brw_inst_jip(brw, insn); + jip -= scale * + compacted_between(this_old_ip, this_old_ip + jip, compacted_counts); brw_inst_set_jip(brw, insn, jip); if (brw_inst_opcode(brw, insn) == BRW_OPCODE_ENDIF || brw_inst_opcode(brw, insn) == BRW_OPCODE_WHILE) return; - int uip = brw_inst_uip(brw, insn); - uip -= compacted_between(this_old_ip, this_old_ip + uip, compacted_counts); + int32_t uip = brw_inst_uip(brw, insn); + uip -= scale * + compacted_between(this_old_ip, this_old_ip + uip, compacted_counts); brw_inst_set_uip(brw, insn, uip); } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
