From 269795c838e7ffbd6ecef4f7dcd176e2fc4ead13 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 22 Jun 2021 14:13:36 +0200 Subject: [PATCH] radv: prevent fast clearing HTILE depth for unrestricted ranges VK_EXT_depth_range_unrestricted removes the restriction that the clear value must be between 0.0 and 1.0. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_meta_clear.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c index a9369b2ee80..ca99fc0b14a 100644 --- a/src/amd/vulkan/radv_meta_clear.c +++ b/src/amd/vulkan/radv_meta_clear.c @@ -975,6 +975,11 @@ radv_can_fast_clear_depth(struct radv_cmd_buffer *cmd_buffer, const struct radv_ if (!view_mask && clear_rect->layerCount != iview->image->info.array_size) return false; + if (cmd_buffer->device->vk.enabled_extensions.EXT_depth_range_unrestricted && + (aspects & VK_IMAGE_ASPECT_DEPTH_BIT) && + (clear_value.depth < 0.0 || clear_value.depth > 1.0)) + return false; + if (((aspects & VK_IMAGE_ASPECT_DEPTH_BIT) && !radv_is_fast_clear_depth_allowed(clear_value)) || ((aspects & VK_IMAGE_ASPECT_STENCIL_BIT) && !radv_is_fast_clear_stencil_allowed(clear_value)))