From 94f2b3f7bccbe1fc1e807dac7fa620962841d0be Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Fri, 19 Jul 2024 08:45:04 +0200 Subject: [PATCH] radeonsi: consider PIPE_BIND_LINEAR when filtering modifiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If PIPE_BIND_LINEAR is set the only valid modifier we can use is DRM_FORMAT_MOD_LINEAR. Reviewed-by: Marek Olšák Part-of: --- src/gallium/drivers/radeonsi/si_texture.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c index 403a853974e..3f9344112c5 100644 --- a/src/gallium/drivers/radeonsi/si_texture.c +++ b/src/gallium/drivers/radeonsi/si_texture.c @@ -1610,6 +1610,9 @@ si_modifier_supports_resource(struct pipe_screen *screen, struct si_screen *sscreen = (struct si_screen *)screen; uint32_t max_width, max_height; + if (templ->bind & PIPE_BIND_LINEAR && modifier != DRM_FORMAT_MOD_LINEAR) + return false; + ac_modifier_max_extent(&sscreen->info, modifier, &max_width, &max_height); return templ->width0 <= max_width && templ->height0 <= max_height; }