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

Author: Karmjit Mahil <[email protected]>
Date:   Fri Sep 22 10:11:09 2023 +0100

pvr: Adjust EOT PBE state to account for the iview's base array layer

Fixes various dEQP array tests.
E.g.
  dEQP-VK.pipeline.monolithic.framebuffer_attachment
    .1d_array_32_64_4

Reported-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/25348>

---

 src/imagination/vulkan/pvr_cmd_buffer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c 
b/src/imagination/vulkan/pvr_cmd_buffer.c
index f7ae345f885..317e59cd565 100644
--- a/src/imagination/vulkan/pvr_cmd_buffer.c
+++ b/src/imagination/vulkan/pvr_cmd_buffer.c
@@ -973,6 +973,9 @@ static void pvr_setup_pbe_state(
    surface_params.addr =
       PVR_DEV_ADDR_OFFSET(image->vma->dev_addr,
                           image->mip_levels[iview->vk.base_mip_level].offset);
+   surface_params.addr =
+      PVR_DEV_ADDR_OFFSET(surface_params.addr,
+                          iview->vk.base_array_layer * image->layer_size);
 
    surface_params.mem_layout = image->memlayout;
    surface_params.stride = pvr_stride_from_pitch(level_pitch, 
iview->vk.format);

Reply via email to