radeonsi: determine compute shader LDS size from NIR instead of LLVM

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35529>
This commit is contained in:
Marek Olšák 2025-06-11 17:15:58 -04:00 committed by Marge Bot
parent 24260644e8
commit ece9b47196

View file

@ -443,6 +443,11 @@ static void calculate_needed_lds_size(struct si_screen *sscreen, struct si_shade
DIV_ROUND_UP(size_in_dw * 4, get_lds_granularity(sscreen, stage));
}
if (stage == MESA_SHADER_COMPUTE) {
shader->config.lds_size = DIV_ROUND_UP(shader->selector->info.base.shared_size,
sscreen->info.lds_encode_granularity);
}
/* Check that the LDS size is within hw limits. */
assert(shader->config.lds_size * get_lds_granularity(sscreen, stage) <=
(sscreen->info.gfx_level == GFX6 ? 32 : 64) * 1024);