Mesa (master): v3dv: fix stride in buffer copy
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Mar 17 06:54:04 UTC 2021
Module: Mesa
Branch: master
Commit: 164a51c80f52795da26ce180758232269f098587
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=164a51c80f52795da26ce180758232269f098587
Author: Lukas Feller <mail at luckyxxl.de>
Date: Mon Mar 8 07:54:40 2021 +0100
v3dv: fix stride in buffer copy
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9402>
---
src/broadcom/vulkan/v3dv_meta_copy.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c
index de71f2da189..f934c5891d3 100644
--- a/src/broadcom/vulkan/v3dv_meta_copy.c
+++ b/src/broadcom/vulkan/v3dv_meta_copy.c
@@ -2212,9 +2212,10 @@ emit_copy_buffer(struct v3dv_job *job,
uint32_t dst_offset,
uint32_t src_offset,
struct framebuffer_data *framebuffer,
- uint32_t format)
+ uint32_t format,
+ uint32_t item_size)
{
- const uint32_t stride = job->frame_tiling.width * 4;
+ const uint32_t stride = job->frame_tiling.width * item_size;
emit_copy_buffer_per_tile_list(job, dst, src,
dst_offset, src_offset,
stride, format);
@@ -2228,13 +2229,17 @@ emit_copy_buffer_rcl(struct v3dv_job *job,
uint32_t dst_offset,
uint32_t src_offset,
struct framebuffer_data *framebuffer,
- uint32_t format)
+ uint32_t format,
+ uint32_t item_size)
{
struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL);
v3dv_return_if_oom(NULL, job);
emit_frame_setup(job, 0, NULL);
- emit_copy_buffer(job, dst, src, dst_offset, src_offset, framebuffer, format);
+
+ emit_copy_buffer(job, dst, src, dst_offset, src_offset,
+ framebuffer, format, item_size);
+
cl_emit(rcl, END_OF_RENDERING, end);
}
@@ -2337,7 +2342,7 @@ copy_buffer(struct v3dv_cmd_buffer *cmd_buffer,
v3dv_job_emit_binning_flush(job);
emit_copy_buffer_rcl(job, dst, src, dst_offset, src_offset,
- &framebuffer, format);
+ &framebuffer, format, item_size);
v3dv_cmd_buffer_finish_job(cmd_buffer);
More information about the mesa-commit
mailing list