Mesa (main): radv: remove unused fast depth-stencil gfx clear path with expclear

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 23 09:49:17 UTC 2021


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Aug 11 13:33:30 2021 +0200

radv: remove unused fast depth-stencil gfx clear path with expclear

This has never been used because it requires to know the previous
clear values which is not really possible in Vulkan.

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/12326>

---

 src/amd/vulkan/radv_constants.h  |  2 +-
 src/amd/vulkan/radv_meta_clear.c | 14 ++++----------
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/amd/vulkan/radv_constants.h b/src/amd/vulkan/radv_constants.h
index 327365c91f0..b98d0027f83 100644
--- a/src/amd/vulkan/radv_constants.h
+++ b/src/amd/vulkan/radv_constants.h
@@ -53,7 +53,7 @@
 #define MAX_INLINE_UNIFORM_BLOCK_COUNT 64
 #define MAX_BIND_POINTS                3 /* compute + graphics + raytracing */
 
-#define NUM_DEPTH_CLEAR_PIPELINES      3
+#define NUM_DEPTH_CLEAR_PIPELINES      2
 #define NUM_DEPTH_DECOMPRESS_PIPELINES 3
 
 /*
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index fdb1a9f900a..459d43747cf 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -29,7 +29,7 @@
 #include "util/format_rgb9e5.h"
 #include "vk_format.h"
 
-enum { DEPTH_CLEAR_SLOW, DEPTH_CLEAR_FAST_EXPCLEAR, DEPTH_CLEAR_FAST_NO_EXPCLEAR };
+enum { DEPTH_CLEAR_SLOW, DEPTH_CLEAR_FAST };
 
 static void
 build_color_shaders(struct nir_shader **out_vs, struct nir_shader **out_fs, uint32_t frag_output)
@@ -636,11 +636,11 @@ create_depthstencil_pipeline(struct radv_device *device, VkImageAspectFlags aspe
 
    if (aspects & VK_IMAGE_ASPECT_DEPTH_BIT) {
       extra.db_depth_clear = index == DEPTH_CLEAR_SLOW ? false : true;
-      extra.db_depth_disable_expclear = index == DEPTH_CLEAR_FAST_NO_EXPCLEAR ? true : false;
+      extra.db_depth_disable_expclear = index == DEPTH_CLEAR_FAST ? true : false;
    }
    if (aspects & VK_IMAGE_ASPECT_STENCIL_BIT) {
       extra.db_stencil_clear = index == DEPTH_CLEAR_SLOW ? false : true;
-      extra.db_stencil_disable_expclear = index == DEPTH_CLEAR_FAST_NO_EXPCLEAR ? true : false;
+      extra.db_stencil_disable_expclear = index == DEPTH_CLEAR_FAST ? true : false;
    }
    result =
       create_pipeline(device, radv_render_pass_from_handle(render_pass), samples, vs_nir, fs_nir,
@@ -688,15 +688,9 @@ pick_depthstencil_pipeline(struct radv_cmd_buffer *cmd_buffer, struct radv_meta_
    bool fast = depth_view_can_fast_clear(cmd_buffer, iview, aspects, layout, in_render_loop,
                                          clear_rect, clear_value);
    bool unrestricted = cmd_buffer->device->vk.enabled_extensions.EXT_depth_range_unrestricted;
-   int index = DEPTH_CLEAR_SLOW;
+   int index = fast ? DEPTH_CLEAR_FAST : DEPTH_CLEAR_SLOW;
    VkPipeline *pipeline;
 
-   if (fast) {
-      /* we don't know the previous clear values, so we always have
-       * the NO_EXPCLEAR path */
-      index = DEPTH_CLEAR_FAST_NO_EXPCLEAR;
-   }
-
    switch (aspects) {
    case VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT:
       pipeline = unrestricted



More information about the mesa-commit mailing list