From e0adb5be4de93806c70e9e66f67260afec0caf2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 25 Apr 2022 05:06:29 -0400 Subject: [PATCH] radeonsi: don't expose formats that CB supports, but not shaders e.g. R4G4B4A4_UINT Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_state.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 155cb6c99f4..bdbda1a9af8 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -2319,6 +2319,12 @@ static bool si_is_format_supported(struct pipe_screen *screen, enum pipe_format return false; } + /* Require PIPE_BIND_SAMPLER_VIEW support when PIPE_BIND_RENDER_TARGET + * is requested. + */ + if (usage & PIPE_BIND_RENDER_TARGET) + usage |= PIPE_BIND_SAMPLER_VIEW; + if ((target == PIPE_TEXTURE_3D || target == PIPE_TEXTURE_CUBE) && !sscreen->info.has_3d_cube_border_color_mipmap) return false;