diff options
author | Marek Olšák <[email protected]> | 2012-08-27 02:08:37 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-08-28 18:27:03 +0200 |
commit | 999b7f66655c86eb8e8e1686631511e27f50cc98 (patch) | |
tree | b79d7e6940207154b433e44e975f0dadd8f0617f /src/gallium/drivers/r600/r600_asm.c | |
parent | 3e20605c16281308d8d8dbe561830e756a1d205d (diff) |
r600g: fix relative addressing on RS780 and RS880
They should be treated like RV670.
Tested-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index f01de41e129..03ded6c5877 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -256,16 +256,15 @@ static struct r600_bytecode_tex *r600_bytecode_tex(void) void r600_bytecode_init(struct r600_bytecode *bc, enum chip_class chip_class, enum radeon_family family) { - if ((chip_class == R600) && (family != CHIP_RV670)) + if ((chip_class == R600) && + (family != CHIP_RV670 && family != CHIP_RS780 && family != CHIP_RS880)) { bc->ar_handling = AR_HANDLE_RV6XX; - else - bc->ar_handling = AR_HANDLE_NORMAL; - - if ((chip_class == R600) && (family != CHIP_RV670 && family != CHIP_RS780 && - family != CHIP_RS880)) bc->r6xx_nop_after_rel_dst = 1; - else + } else { + bc->ar_handling = AR_HANDLE_NORMAL; bc->r6xx_nop_after_rel_dst = 0; + } + LIST_INITHEAD(&bc->cf); bc->chip_class = chip_class; } |