Mesa (10.3): i965: Fix JIP/UIP calculations.
Matt Turner
mattst88 at kemper.freedesktop.org
Fri Aug 22 16:28:21 UTC 2014
Module: Mesa
Branch: 10.3
Commit: 53728f60aa5ddf93579abd0d424eeac545fa57d3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53728f60aa5ddf93579abd0d424eeac545fa57d3
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Aug 21 23:02:49 2014 -0700
i965: Fix JIP/UIP calculations.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82846
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82929
(cherry picked from commit d77f5603a5de26e66561ec003118bbfb1a07666b)
---
src/mesa/drivers/dri/i965/brw_eu_compact.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_eu_compact.c b/src/mesa/drivers/dri/i965/brw_eu_compact.c
index 3680c55..4f509dd 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_compact.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_compact.c
@@ -1029,19 +1029,17 @@ update_uip_jip(struct brw_context *brw, brw_inst *insn,
{
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);
+ int32_t jip = brw_inst_jip(brw, insn) / scale;
+ jip -= compacted_between(this_old_ip, this_old_ip + jip, compacted_counts);
+ brw_inst_set_jip(brw, insn, jip * scale);
if (brw_inst_opcode(brw, insn) == BRW_OPCODE_ENDIF ||
brw_inst_opcode(brw, insn) == BRW_OPCODE_WHILE)
return;
- 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);
+ int32_t uip = brw_inst_uip(brw, insn) / scale;
+ uip -= compacted_between(this_old_ip, this_old_ip + uip, compacted_counts);
+ brw_inst_set_uip(brw, insn, uip * scale);
}
void
More information about the mesa-commit
mailing list