From efbf91cb6c6c547ff14b9775fcf68cf586d1f00f Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 12 Feb 2020 13:10:59 +0100 Subject: [PATCH] v3dv: fix copy size for image to buffer copies For some reason we were ignoring the extent to copy that was passed in the region to copy and instead we were computing a a region based on the image size and the selected miplevel. Part-of: --- src/broadcom/vulkan/v3dv_meta_copy.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c index b062b0d7cb2..e48d48b4df4 100644 --- a/src/broadcom/vulkan/v3dv_meta_copy.c +++ b/src/broadcom/vulkan/v3dv_meta_copy.c @@ -483,14 +483,11 @@ copy_image_to_buffer_tlb(struct v3dv_cmd_buffer *cmd_buffer, uint32_t num_layers = region->imageSubresource.layerCount; assert(num_layers > 0); - uint32_t width = - u_minify(image->extent.width, region->imageSubresource.mipLevel); - uint32_t height = - u_minify(image->extent.height, region->imageSubresource.mipLevel); - struct fake_framebuffer framebuffer; - setup_framebuffer_params(&framebuffer, width, height, num_layers, - internal_bpp, internal_type); + setup_framebuffer_params(&framebuffer, + region->imageExtent.width, + region->imageExtent.height, + num_layers, internal_bpp, internal_type); /* Limit supertile coverage to the requested region */ uint32_t supertile_w_in_pixels =