From 17cb7ea6fced033d4b8daaf8311d09aa693c7fd7 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 27 Jun 2019 15:06:17 +0200 Subject: radv: fix decompressing DCC levels with compute Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_meta_fast_clear.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c index f18f7637593..a642d6243d4 100644 --- a/src/amd/vulkan/radv_meta_fast_clear.c +++ b/src/amd/vulkan/radv_meta_fast_clear.c @@ -807,11 +807,17 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, device->meta_state.fast_clear_flush.dcc_decompress_compute_pipeline); for (uint32_t l = 0; l < radv_get_levelCount(image, subresourceRange); l++) { + uint32_t width, height; /* Do not decompress levels without DCC. */ if (!radv_dcc_enabled(image, subresourceRange->baseMipLevel + l)) continue; + width = radv_minify(image->info.width, + subresourceRange->baseMipLevel + l); + height = radv_minify(image->info.height, + subresourceRange->baseMipLevel + l); + radv_image_view_init(&iview, cmd_buffer->device, &(VkImageViewCreateInfo) { .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, @@ -863,7 +869,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, } }); - radv_unaligned_dispatch(cmd_buffer, image->info.width, image->info.height, 1); + radv_unaligned_dispatch(cmd_buffer, width, height, 1); } /* Mark this image as actually being decompressed. */ -- cgit v1.2.3