radv: do not decompress/resummarize levels without HTILE
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 15 Dec 2020 16:09:01 +0000 (17:09 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 27 Jan 2021 08:02:17 +0000 (09:02 +0100)
It's completely useless to decompress or resummarize levels that
are not compressed using HTILE.

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

src/amd/vulkan/radv_meta_decompress.c

index 011c353..31b993c 100644 (file)
@@ -508,6 +508,11 @@ static void radv_process_depth_stencil(struct radv_cmd_buffer *cmd_buffer,
        }
 
        for (uint32_t l = 0; l < radv_get_levelCount(image, subresourceRange); ++l) {
+
+               /* Do not decompress levels without HTILE. */
+               if (!radv_htile_enabled(image, subresourceRange->baseMipLevel + l))
+                       continue;
+
                uint32_t width =
                        radv_minify(image->info.width,
                                    subresourceRange->baseMipLevel + l);