diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2021-11-16 11:08:15 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-11-18 14:45:54 +0000 |
commit | 341278f069a54a173fa646b16e0b68eefd28e5ed (patch) | |
tree | eda1020422957b20faba007c998bd52b813f0c3e | |
parent | d63cd245e1840ad31a3821c522d94bc67372c030 (diff) |
radv: disable HTILE for D32S8 format and mipmaps on GFX10
Stencil texturing with HTILE doesn't work with mipmapping on Navi10-14,
it's a hw bug. RadeonSI and PAL have a workaround too.
This fixes 35 piglit failures with Zink on Navi10.
Cc: 21.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13814>
-rw-r--r-- | src/amd/vulkan/radv_image.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index 69bfa19b388..962563936f4 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -352,6 +352,11 @@ radv_use_htile_for_image(const struct radv_device *device, const struct radv_ima bool use_htile_for_mips = image->info.array_size == 1 && device->physical_device->rad_info.chip_class >= GFX10; + /* Stencil texturing with HTILE doesn't work with mipmapping on Navi10-14. */ + if (device->physical_device->rad_info.chip_class == GFX10 && + image->vk_format == VK_FORMAT_D32_SFLOAT_S8_UINT && image->info.levels > 1) + return false; + /* Do not enable HTILE for very small images because it seems less performant but make sure it's * allowed with VRS attachments because we need HTILE. */ |