radv: fix decompressing DCC levels with compute
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
@@ -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. */
|
||||
|
||||
Reference in New Issue
Block a user