radv: stop special-casing multi-planar formats in radv_get_modifier_flags

In radv_get_modifier_flags, we had a special case for multi-planar
formats. However ac_is_modifier_supported should already take care of
rejecting unsupported modifiers for multi-planar buffers.

Some time ago, ac_is_modifier_supported rejected any non-linear modifier
for multi-planar formats. 35e25ea1d0 ("ac/surface: allow non-DCC modifiers
for YUV on GFX9+") changed that to allow non-DCC modifiers with
multi-planar formats on GFX9+. Since then, the radv check has been out
of sync.

A similar patch was applied to radeonsi in 979e138695 ("radeonsi: stop
special-casing YUV formats in si_query_dmabuf_modifiers").

This fixes tiling artifacts with NV12 buffers.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10623>
This commit is contained in:
Simon Ser 2021-05-04 17:18:51 +02:00 committed by Marge Bot
parent e9c6569227
commit 0e94675494
1 changed files with 0 additions and 3 deletions

View File

@ -1134,9 +1134,6 @@ radv_get_modifier_flags(struct radv_physical_device *dev, VkFormat format, uint6
else
features = props->optimalTilingFeatures;
if (modifier != DRM_FORMAT_MOD_LINEAR && vk_format_get_plane_count(format) > 1)
return 0;
if (ac_modifier_has_dcc(modifier)) {
features &= ~VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;