From a7a9aad14dbca5f1ac755a63ae7a5336a0a38dba Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 9 Aug 2022 19:29:34 +0100 Subject: [PATCH] aco: limit GFX11 to 128 VGPRs for now MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit See https://reviews.llvm.org/D128054 Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 1 + src/amd/compiler/aco_ir.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index df18d08..4cff8417 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -12107,6 +12107,7 @@ select_vs_prolog(Program* program, const struct aco_vs_prolog_key* key, ac_shade init_program(program, compute_cs, info, options->gfx_level, options->family, options->wgp_mode, config); + program->dev.vgpr_limit = 256; Block* block = program->create_and_insert_block(); block->kind = block_kind_top_level; diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 6ff059d..f09524e 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -95,7 +95,7 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info, /* apparently gfx702 also has 16-bank LDS but I can't find a family for that */ program->dev.has_16bank_lds = family == CHIP_KABINI || family == CHIP_STONEY; - program->dev.vgpr_limit = 256; + program->dev.vgpr_limit = gfx_level >= GFX11 ? 128 : 256; //TODO: fix encoding for 16-bit v128+ program->dev.physical_vgprs = 256; program->dev.vgpr_alloc_granule = 4; -- 2.7.4