radeonsi: Report multi-plane formats as unsupported

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6693 added
NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM, which regressed some
video decode use cases in radeonsi, for example CtsDecodeTestCases in
android CTS. There are also discolored frames in video playback use
cases (i.e. youtube).

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3632
previously fixed similar issues in radeonsi. This change takes that a
step further to report any multi-plane format as unsupported.

Fixes: 826a10255f ("st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9490>
This commit is contained in:
Drew Davenport
2021-03-09 16:49:47 -07:00
committed by Marge Bot
parent 64367f2359
commit 9b7814779b
+3
View File
@@ -2169,6 +2169,9 @@ static bool si_is_format_supported(struct pipe_screen *screen, enum pipe_format
!sscreen->info.has_3d_cube_border_color_mipmap)
return false;
if (util_format_get_num_planes(format) >= 2)
return false;
if (MAX2(1, sample_count) < MAX2(1, storage_sample_count))
return false;