Module: Mesa Branch: main Commit: c2e2a78c72e786f603f8ead1c589d8e4cbbd77c7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2e2a78c72e786f603f8ead1c589d8e4cbbd77c7
Author: Qiang Yu <[email protected]> Date: Mon Sep 4 15:44:00 2023 +0800 radeonsi: set use_aco when no llvm available Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Qiang Yu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25632> --- src/gallium/drivers/radeonsi/si_pipe.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 8824bf29dd9..c824236774c 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -25,6 +25,8 @@ #include "vl/vl_decoder.h" #include "si_utrace.h" +#include "aco_interface.h" + #ifdef LLVM_AVAILABLE #include "ac_llvm_util.h" #endif @@ -1200,8 +1202,18 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws, sscreen->info.has_dedicated_vram; } - /* ACO does not support compute cards yet. */ - sscreen->use_aco = (sscreen->debug_flags & DBG(USE_ACO)) && sscreen->info.has_graphics; +#ifdef LLVM_AVAILABLE + sscreen->use_aco = (sscreen->debug_flags & DBG(USE_ACO)); +#else + sscreen->use_aco = true; +#endif + + if (sscreen->use_aco && !aco_is_gpu_supported(&sscreen->info)) { + fprintf(stderr, "radeonsi: ACO does not support this chip yet\n"); + FREE(sscreen->nir_options); + FREE(sscreen); + return NULL; + } if (sscreen->debug_flags & DBG(NO_GFX)) sscreen->info.has_graphics = false;
