From: Samuel Pitoiset Date: Thu, 20 Jun 2019 07:17:35 +0000 (+0200) Subject: radv: add fast clears support for mipmapped color images with DCC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=450bce522a2d33b2ab051d975eb063e16acc33a0;p=mesa.git radv: add fast clears support for mipmapped color images with DCC Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- 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