diff options
author | Drew Davenport <ddavenport@google.com> | 2021-03-09 16:49:47 -0700 |
---|---|---|
committer | Eric Engestrom <eric@engestrom.ch> | 2021-04-20 19:42:25 +0200 |
commit | 0514031a0ffd8b49ba37ac503795e0a39b2266e1 (patch) | |
tree | 4cecdd083872672b79cae18cb5582eee3476c378 /src | |
parent | af0926bac0631d27f76f925c23b4da4e7c487558 (diff) |
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: 826a10255f5 ("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>
(cherry picked from commit 9b7814779b2d3226ee8c3ed145e30f301ff4b2e5)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 88e6bb7109c..7cdaf78413e 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -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; |