Mesa (main): panvk: Use vk_image_buffer_copy_layout

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 7 18:25:03 UTC 2022


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

Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Mon Jun  6 08:27:41 2022 -0500

panvk: Use vk_image_buffer_copy_layout

Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873>

---

 src/panfrost/vulkan/panvk_vX_meta_copy.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/panfrost/vulkan/panvk_vX_meta_copy.c b/src/panfrost/vulkan/panvk_vX_meta_copy.c
index 6df1d52429b..6dffbfa1236 100644
--- a/src/panfrost/vulkan/panvk_vX_meta_copy.c
+++ b/src/panfrost/vulkan/panvk_vX_meta_copy.c
@@ -1152,15 +1152,14 @@ panvk_meta_copy_buf2img(struct panvk_cmd_buffer *cmdbuf,
    const struct panfrost_ubo_push *pushmap =
       &cmdbuf->device->physical_device->meta.copy.buf2img[fmtidx].pushmap;
 
-   unsigned buftexelsz = panvk_meta_copy_buf_texelsize(key.imgfmt, key.mask);
+   const struct vk_image_buffer_layout buflayout =
+      vk_image_buffer_copy_layout(&img->vk, region);
    struct panvk_meta_copy_buf2img_info info = {
       .buf.ptr = panvk_buffer_gpu_ptr(buf, region->bufferOffset),
-      .buf.stride.line = (region->bufferRowLength ? : region->imageExtent.width) * buftexelsz,
+      .buf.stride.line = buflayout.row_stride_B,
+      .buf.stride.surf = buflayout.image_stride_B,
    };
 
-   info.buf.stride.surf =
-      (region->bufferImageHeight ? : region->imageExtent.height) * info.buf.stride.line;
-
    mali_ptr pushconsts =
       panvk_meta_copy_emit_push_constants(pdev, pushmap, &cmdbuf->desc_pool.base,
                                           &info, sizeof(info));



More information about the mesa-commit mailing list