summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDrew Davenport <ddavenport@google.com>2021-03-09 16:49:47 -0700
committerEric Engestrom <eric@engestrom.ch>2021-04-20 19:42:25 +0200
commit0514031a0ffd8b49ba37ac503795e0a39b2266e1 (patch)
tree4cecdd083872672b79cae18cb5582eee3476c378 /src
parentaf0926bac0631d27f76f925c23b4da4e7c487558 (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.c3
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;