From 8a2842291de8de74654bdfa9670dd1baf2a3be61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 12 Jun 2024 09:05:38 +0200 Subject: [PATCH] aco/assembler: fix MTBUF opcode encoding on GFX11 We have accidentally set the tfe bit for some opcodes. Cc: mesa-stable Part-of: (cherry picked from commit 14f4906e535a2f0367e4769bebb38f633d42ea75) --- .pick_status.json | 2 +- src/amd/compiler/aco_assembler.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index f0889cce186..6ca741417bd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3174,7 +3174,7 @@ "description": "aco/assembler: fix MTBUF opcode encoding on GFX11", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index 961cce9d20b..f97553d9737 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -611,7 +611,7 @@ emit_mtbuf_instruction(asm_context& ctx, std::vector& out, Instruction encoding |= reg(ctx, instr->definitions[0], 8) << 8; encoding |= reg(ctx, instr->operands[1], 8); - if (ctx.gfx_level >= GFX10) { + if (ctx.gfx_level >= GFX10 && ctx.gfx_level < GFX11) { encoding |= (((opcode & 0x08) >> 3) << 21); /* MSB of 4-bit OPCODE */ }