diff options
author | Vincent Lejeune <[email protected]> | 2013-04-06 18:12:26 +0200 |
---|---|---|
committer | Vincent Lejeune <[email protected]> | 2013-04-08 15:11:59 +0200 |
commit | 5019af21453d0e9fc5b0f8c1c2bfeb29029882c1 (patch) | |
tree | 461021937ef19e44f7301034b62df841e0a01efd /src/gallium/drivers/r600/r600_asm.c | |
parent | eff66bc9f855fff5c4f5f57f247254a97431e8ad (diff) |
r600g/llvm: Add support for native isa for pre EG
This fixes bug 62756 :
https://bugs.freedesktop.org/show_bug.cgi?id=62756#c12
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index a0dc1deb8eb..26a848ad1aa 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -1494,7 +1494,11 @@ static int r600_bytecode_cf_build(struct r600_bytecode *bc, struct r600_bytecode const struct cf_op_info *cfop = r600_isa_cf(cf->op); unsigned opcode = r600_isa_cf_opcode(bc->isa->hw_class, cf->op); - if (cfop->flags & CF_ALU) { + + if (cf->op == CF_NATIVE) { + bc->bytecode[id++] = cf->isa[0]; + bc->bytecode[id++] = cf->isa[1]; + } else if (cfop->flags & CF_ALU) { bc->bytecode[id++] = S_SQ_CF_ALU_WORD0_ADDR(cf->addr >> 1) | S_SQ_CF_ALU_WORD0_KCACHE_MODE0(cf->kcache[0].mode) | S_SQ_CF_ALU_WORD0_KCACHE_BANK0(cf->kcache[0].bank) | |