Mesa (main): radv: prevent fast clearing HTILE depth for unrestricted ranges

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 2 15:35:30 UTC 2021


Module: Mesa
Branch: main
Commit: 269795c838e7ffbd6ecef4f7dcd176e2fc4ead13
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=269795c838e7ffbd6ecef4f7dcd176e2fc4ead13

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue Jun 22 14:13:36 2021 +0200

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 <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10035>

---

 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)))



More information about the mesa-commit mailing list