summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimur Kristóf <[email protected]>2019-09-26 17:50:48 +0200
committerTimur Kristóf <[email protected]>2019-10-10 09:57:53 +0200
commitd3a48c272fe83c1b8757565aff94d6c85e2492e0 (patch)
tree63430f765edef1cdf56c26eac0436377ec3cd950 /src
parente6330d71b51efd53b26a7e2922162f0dcaae6ba5 (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.cpp8
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;