From 0db1ae1f01c989bd93000779957a9739bbc58926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 27 Nov 2025 11:58:08 +0100 Subject: [PATCH] aco: disable XNACK on all GPUs Affects code generation on GFX8 and GFX9 APUs where we misunderstood the feature. XNACK replay is not being used with graphics APIs. Totals from 41759 (65.90% of 63370) affected shaders: (Raven) MaxWaves: 298672 -> 299000 (+0.11%) Instrs: 19200726 -> 19138227 (-0.33%); split: -0.33%, +0.00% CodeSize: 98501904 -> 98253196 (-0.25%); split: -0.26%, +0.00% SGPRs: 3058544 -> 2831492 (-7.42%) VGPRs: 1644896 -> 1643660 (-0.08%) Latency: 193383803 -> 193224047 (-0.08%); split: -0.08%, +0.00% InvThroughput: 92741082 -> 92698975 (-0.05%); split: -0.05%, +0.00% SClause: 678580 -> 630107 (-7.14%); split: -7.15%, +0.00% Copies: 1863375 -> 1863406 (+0.00%); split: -0.04%, +0.04% VALU: 13791245 -> 13791267 (+0.00%); split: -0.00%, +0.00% SALU: 2066726 -> 2066741 (+0.00%); split: -0.04%, +0.04% Part-of: --- src/amd/compiler/aco_ir.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index c7611d6df47..9754ebf5f62 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -146,16 +146,10 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info, program->dev.simd_per_cu = program->gfx_level >= GFX10 ? 2 : 4; - switch (program->family) { - /* GFX8 APUs */ - case CHIP_CARRIZO: - case CHIP_STONEY: - /* GFX9 APUS */ - case CHIP_RAVEN: - case CHIP_RAVEN2: - case CHIP_RENOIR: program->dev.xnack_enabled = true; break; - default: break; - } + /* XNACK replay can be used for demand paging and page migration. + * This is only relevant to GPGPU programming with unified shared memory. + */ + program->dev.xnack_enabled = false; program->dev.sram_ecc_enabled = program->family == CHIP_VEGA20 || program->family == CHIP_MI100 || program->family == CHIP_MI200 ||