diff options
-rw-r--r-- | src/amd/vulkan/radv_meta_fast_clear.c | 8 |
1 files changed, 7 insertions, 1 deletions
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. */ |