From 78df1977fe3025eb2acc62b4658570e220a10c30 Mon Sep 17 00:00:00 2001 From: James Glanville Date: Tue, 25 Apr 2023 21:20:02 +0100 Subject: [PATCH] pvr: Fix image to buffer copies The code to increment the destination buffer address was wrong. Instead of incrementing an address on every iteration, the buffer slice size was added as a static offset to all blits. Seen in dEQP-VK.draw.renderpass.depth_clamp.d16_unorm, though issues remain. Signed-off-by: James Glanville Signed-off-by: Karmjit Mahil Reviewed-by: Frank Binns Part-of: --- src/imagination/vulkan/pvr_blit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imagination/vulkan/pvr_blit.c b/src/imagination/vulkan/pvr_blit.c index e40c73f..f0cb783 100644 --- a/src/imagination/vulkan/pvr_blit.c +++ b/src/imagination/vulkan/pvr_blit.c @@ -923,7 +923,7 @@ pvr_copy_image_to_buffer_region(struct pvr_device *device, return result; } - transfer_cmd->dst.dev_addr.addr += buffer_slice_size; + dst_surface.dev_addr.addr += buffer_slice_size; if (src_surface.mem_layout == PVR_MEMLAYOUT_3DTWIDDLED) src_surface.z_position += 1.0f; -- 2.7.4