radeonsi: don't expose formats that CB supports, but not shaders

e.g. R4G4B4A4_UINT

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
This commit is contained in:
Marek Olšák
2022-04-25 05:06:29 -04:00
parent 54ccf24e79
commit e0adb5be4d
+6
View File
@@ -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;