summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_cse.cpp10
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp16
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp13
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp2
5 files changed, 29 insertions, 15 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp b/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
index 1b91db95a80..bf7e4a4f070 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
@@ -182,8 +182,9 @@ vec4_visitor::opt_cse_local(bblock_t *block)
NULL), inst->dst.type);
for (unsigned i = 0; i < regs_written(entry->generator); ++i) {
- vec4_instruction *copy = MOV(offset(entry->generator->dst, i),
- offset(entry->tmp, i));
+ vec4_instruction *copy =
+ MOV(byte_offset(entry->generator->dst, i * REG_SIZE),
+ byte_offset(entry->tmp, i * REG_SIZE));
copy->force_writemask_all =
entry->generator->force_writemask_all;
entry->generator->insert_after(block, copy);
@@ -197,8 +198,9 @@ vec4_visitor::opt_cse_local(bblock_t *block)
assert(inst->dst.type == entry->tmp.type);
for (unsigned i = 0; i < regs_written(inst); ++i) {
- vec4_instruction *copy = MOV(offset(inst->dst, i),
- offset(entry->tmp, i));
+ vec4_instruction *copy =
+ MOV(byte_offset(inst->dst, i * REG_SIZE),
+ byte_offset(entry->tmp, i * REG_SIZE));
copy->force_writemask_all = inst->force_writemask_all;
inst->insert_before(block, copy);
}
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp b/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
index 50706a977cb..916a3fb26d1 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
@@ -61,8 +61,9 @@ vec4_visitor::dead_code_eliminate()
if (inst->dst.file == VGRF) {
for (unsigned i = 0; i < regs_written(inst); i++) {
for (int c = 0; c < 4; c++)
- result_live[c] |= BITSET_TEST(
- live, var_from_reg(alloc, offset(inst->dst, i), c));
+ result_live[c] |= BITSET_TEST(live,
+ var_from_reg(alloc,
+ byte_offset(inst->dst, i * REG_SIZE), c));
}
} else {
for (unsigned c = 0; c < 4; c++)
@@ -113,8 +114,11 @@ vec4_visitor::dead_code_eliminate()
for (unsigned i = 0; i < regs_written(inst); i++) {
for (int c = 0; c < 4; c++) {
if (inst->dst.writemask & (1 << c)) {
- BITSET_CLEAR(live, var_from_reg(alloc,
- offset(inst->dst, i), c));
+ BITSET_CLEAR(live,
+ var_from_reg(alloc,
+ byte_offset(inst->dst,
+ i * REG_SIZE),
+ c));
}
}
}
@@ -135,7 +139,9 @@ vec4_visitor::dead_code_eliminate()
for (unsigned j = 0; j < regs_read(inst, i); j++) {
for (int c = 0; c < 4; c++) {
BITSET_SET(live, var_from_reg(alloc,
- offset(inst->src[i], j), c));
+ byte_offset(inst->src[i],
+ j * REG_SIZE),
+ c));
}
}
}
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
index 20344ed1770..b70d6c2fab6 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
@@ -79,7 +79,9 @@ vec4_live_variables::setup_def_use()
for (unsigned j = 0; j < regs_read(inst, i); j++) {
for (int c = 0; c < 4; c++) {
const unsigned v =
- var_from_reg(alloc, offset(inst->src[i], j), c);
+ var_from_reg(alloc,
+ byte_offset(inst->src[i], j * REG_SIZE),
+ c);
if (!BITSET_TEST(bd->def, v))
BITSET_SET(bd->use, v);
}
@@ -103,7 +105,8 @@ vec4_live_variables::setup_def_use()
for (int c = 0; c < 4; c++) {
if (inst->dst.writemask & (1 << c)) {
const unsigned v =
- var_from_reg(alloc, offset(inst->dst, i), c);
+ var_from_reg(alloc,
+ byte_offset(inst->dst, i * REG_SIZE), c);
if (!BITSET_TEST(bd->use, v))
BITSET_SET(bd->def, v);
}
@@ -260,7 +263,8 @@ vec4_visitor::calculate_live_intervals()
for (unsigned j = 0; j < regs_read(inst, i); j++) {
for (int c = 0; c < 4; c++) {
const unsigned v =
- var_from_reg(alloc, offset(inst->src[i], j), c);
+ var_from_reg(alloc,
+ byte_offset(inst->src[i], j * REG_SIZE), c);
start[v] = MIN2(start[v], ip);
end[v] = ip;
}
@@ -273,7 +277,8 @@ vec4_visitor::calculate_live_intervals()
for (int c = 0; c < 4; c++) {
if (inst->dst.writemask & (1 << c)) {
const unsigned v =
- var_from_reg(alloc, offset(inst->dst, i), c);
+ var_from_reg(alloc,
+ byte_offset(inst->dst, i * REG_SIZE), c);
start[v] = MIN2(start[v], ip);
end[v] = ip;
}
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
index 124632cdbc5..c6a6b5e1516 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
@@ -240,7 +240,8 @@ vec4_tcs_visitor::emit_urb_write(const src_reg &value,
inst = emit(TCS_OPCODE_SET_OUTPUT_URB_OFFSETS, dst_reg(message),
brw_imm_ud(writemask), indirect_offset);
inst->force_writemask_all = true;
- inst = emit(MOV(offset(dst_reg(retype(message, value.type)), 1), value));
+ inst = emit(MOV(byte_offset(dst_reg(retype(message, value.type)), REG_SIZE),
+ value));
inst->force_writemask_all = true;
inst = emit(TCS_OPCODE_URB_WRITE, dst_null_f(), message);
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index eca753c7a74..954f147fe7e 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -781,7 +781,7 @@ vec4_visitor::emit_pull_constant_load_reg(dst_reg dst,
else
emit(pull);
- dst_reg index_reg = retype(offset(dst_reg(header), 1),
+ dst_reg index_reg = retype(byte_offset(dst_reg(header), REG_SIZE),
offset_reg.type);
pull = MOV(writemask(index_reg, WRITEMASK_X), offset_reg);