Module: Mesa
Branch: main
Commit: 78df1977fe3025eb2acc62b4658570e220a10c30
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=78df1977fe3025eb2acc62b4658570e220a10c30

Author: James Glanville <[email protected]>
Date:   Tue Apr 25 21:20:02 2023 +0100

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 <[email protected]>
Signed-off-by: Karmjit Mahil <[email protected]>
Reviewed-by: Frank Binns <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22747>

---

 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 e40c73f2bae..f0cb7831b71 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;

Reply via email to