diff options
author | Timur Kristóf <[email protected]> | 2019-09-26 17:50:48 +0200 |
---|---|---|
committer | Timur Kristóf <[email protected]> | 2019-10-10 09:57:53 +0200 |
commit | d3a48c272fe83c1b8757565aff94d6c85e2492e0 (patch) | |
tree | 63430f765edef1cdf56c26eac0436377ec3cd950 /src | |
parent | e6330d71b51efd53b26a7e2922162f0dcaae6ba5 (diff) |
aco: Support GFX10 EXP in aco_assembler.
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/compiler/aco_assembler.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index 39bf9eca21c..9070d88e1c6 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -415,7 +415,13 @@ void emit_instruction(asm_context& ctx, std::vector<uint32_t>& out, Instruction* } case Format::EXP: { Export_instruction* exp = static_cast<Export_instruction*>(instr); - uint32_t encoding = (0b110001 << 26); + uint32_t encoding; + if (ctx.chip_class <= GFX9) { + encoding = (0b110001 << 26); + } else if (ctx.chip_class >= GFX10) { + encoding = (0b111110 << 26); + } + encoding |= exp->valid_mask ? 0b1 << 12 : 0; encoding |= exp->done ? 0b1 << 11 : 0; encoding |= exp->compressed ? 0b1 << 10 : 0; |