From 3a1c466084ed466582f5e1a268f96c1e96ce68db Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Wed, 22 Apr 2026 11:25:28 +0200 Subject: [PATCH] radeonsi: add has_gfx_compute property to si_screen Reviewed-by: David Rosca Reviewed-by: Qiang Yu Part-of: --- src/gallium/drivers/radeonsi/si_get.c | 4 +++- src/gallium/drivers/radeonsi/si_pipe.c | 4 ++++ src/gallium/drivers/radeonsi/si_pipe.h | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index bdc3f3cae91..85a2f3987db 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -134,7 +134,9 @@ static void si_init_renderer_string(struct si_screen *sscreen) "ACO"; snprintf(sscreen->renderer_string, sizeof(sscreen->renderer_string), - "%s (radeonsi, %s, %s, DRM %i.%i%s)", first_name, second_name, compiler_name, + "%s (radeonsi, %s%s%s, DRM %i.%i%s)", first_name, second_name, + sscreen->has_gfx_compute ? ", " : "", + sscreen->has_gfx_compute ? compiler_name : "", sscreen->info.drm_major, sscreen->info.drm_minor, kernel_version); } diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index d982b7ba2ff..e110009812c 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -1397,6 +1397,10 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws, } } +#ifdef HAVE_GFX_COMPUTE + sscreen->has_gfx_compute = true; +#endif + util_idalloc_mt_init_tc(&sscreen->buffer_ids); /* Set functions first. */ diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 37ec80af0d3..e05690a1ac7 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -518,6 +518,9 @@ struct si_screen { unsigned eqaa_force_color_samples; unsigned pbb_context_states_per_bin; unsigned pbb_persistent_states_per_bin; + + bool has_gfx_compute; + bool has_draw_indirect_multi; bool dpbb_allowed; bool use_ngg;