From 450bce522a2d33b2ab051d975eb063e16acc33a0 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 20 Jun 2019 09:17:35 +0200 Subject: [PATCH] radv: add fast clears support for mipmapped color images with DCC Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_meta_clear.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c index dea0cae6d96..b8ca5c2c9b2 100644 --- a/src/amd/vulkan/radv_meta_clear.c +++ b/src/amd/vulkan/radv_meta_clear.c @@ -1364,10 +1364,20 @@ radv_clear_dcc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image, const VkImageSubresourceRange *range, uint32_t value) { + uint32_t level_count = radv_get_levelCount(image, range); + uint32_t flush_bits = 0; + /* Mark the image as being compressed. */ radv_update_dcc_metadata(cmd_buffer, image, range, true); - return radv_dcc_clear_level(cmd_buffer, image, 0, value); + for (uint32_t l = 0; l < level_count; l++) { + uint32_t level = range->baseMipLevel + l; + + flush_bits |= radv_dcc_clear_level(cmd_buffer, image, + level, value); + } + + return flush_bits; } uint32_t -- 2.30.2