summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2016-09-01 21:22:03 -0700
committerFrancisco Jerez <currojerez@riseup.net>2016-09-14 14:50:57 -0700
commit1c67e272475f576c8ab4b2be367f4c3c664cb23c (patch)
tree56c778e1cf3dc85e80c14ec45c0832c6cf0c221d
parent2d7d4a791083ff63f37ac1e40bfe8b448e7f8045 (diff)
i965/fs: Simplify copy propagation LOAD_PAYLOAD ACP setup.
By keeping track of 'offset' in byte units. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
index bd534bf65b..0da5f13014 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -818,8 +818,7 @@ fs_visitor::opt_copy_propagate_local(void *copy_prop_ctx, bblock_t *block,
type_sz(inst->src[i].type);
if (inst->src[i].file == VGRF) {
acp_entry *entry = ralloc(copy_prop_ctx, acp_entry);
- entry->dst = inst->dst;
- entry->dst.offset += offset * REG_SIZE;
+ entry->dst = byte_offset(inst->dst, offset);
entry->src = inst->src[i];
entry->size_written = size_written;
entry->size_read = inst->size_read(i);
@@ -830,7 +829,7 @@ fs_visitor::opt_copy_propagate_local(void *copy_prop_ctx, bblock_t *block,
ralloc_free(entry);
}
}
- offset += DIV_ROUND_UP(size_written, REG_SIZE);
+ offset += size_written;
}
}
}