summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Girlin <vadimgirlin@gmail.com>2012-01-22 01:49:46 +0400
committerDave Airlie <airlied@redhat.com>2012-01-22 07:22:50 +0000
commit840a342cd0ac4a9937798a2137122387c0d3d7f6 (patch)
treed454edcdb7536e7f05a51d2eaa6ff88c802ef4c8
parent60bf0f05b472e66bf1175fcec7a274dab6f7e2a3 (diff)
r600g: take into account kcache banks for bank swizzle check
Due to the changes for multiple kcache banks support, now we are assigning final SRCx_SEL values for kcache access at the later stage, when building the bytecode. So we need to take into account kcache banks to distinguish the constants with the same address but different bank index. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/gallium/drivers/r600/r600_asm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c
index 00ba8e09c6a..70efc14ca04 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -671,7 +671,7 @@ static int check_vector(struct r600_bytecode *bc, struct r600_bytecode_alu *alu,
return r;
}
} else if (is_cfile(sel)) {
- r = reserve_cfile(bc, bs, sel, elem);
+ r = reserve_cfile(bc, bs, (alu->src[src].kc_bank<<16) + sel, elem);
if (r)
return r;
}
@@ -698,7 +698,7 @@ static int check_scalar(struct r600_bytecode *bc, struct r600_bytecode_alu *alu,
const_count++;
}
if (is_cfile(sel)) {
- r = reserve_cfile(bc, bs, sel, elem);
+ r = reserve_cfile(bc, bs, (alu->src[src].kc_bank<<16) + sel, elem);
if (r)
return r;
}