summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2020-06-30 13:19:01 +0200
committerMarge Bot <eric+marge@anholt.net>2020-10-13 21:21:31 +0000
commitbf20a5e7b7d87245ac1c5a685b1d7942e30d072b (patch)
treefb515d73e7050518ff614192a77bb37662630d46
parent6053e85ee4521b57a597b4f7ac4d3818e21a65a5 (diff)
v3dv: fix srcSubresource description for image to buffer blits
We are emitting a loop copying layer by layer here. Fixes: dEQP-VK.pipeline.render_to_image.core.*.huge.* Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
-rw-r--r--src/broadcom/vulkan/v3dv_cmd_buffer.c1
-rw-r--r--src/broadcom/vulkan/v3dv_meta_copy.c4
2 files changed, 2 insertions, 3 deletions
diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c
index 95d17d5d12a..7926defa86f 100644
--- a/src/broadcom/vulkan/v3dv_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c
@@ -3735,7 +3735,6 @@ cmd_buffer_emit_draw(struct v3dv_cmd_buffer *cmd_buffer,
v3dv_cl_ensure_space_with_branch(
&job->bcl, cl_packet_length(VERTEX_ARRAY_PRIMS));
v3dv_return_if_oom(cmd_buffer, NULL);
-
cl_emit(&job->bcl, VERTEX_ARRAY_PRIMS, prim) {
prim.mode = hw_prim_type;
prim.length = info->vertex_count;
diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c
index c93d1b7fb0f..95be84d0f30 100644
--- a/src/broadcom/vulkan/v3dv_meta_copy.c
+++ b/src/broadcom/vulkan/v3dv_meta_copy.c
@@ -910,8 +910,8 @@ copy_image_to_buffer_blit(struct v3dv_cmd_buffer *cmd_buffer,
.srcSubresource = {
.aspectMask = copy_aspect,
.mipLevel = region->imageSubresource.mipLevel,
- .baseArrayLayer = region->imageSubresource.baseArrayLayer,
- .layerCount = region->imageSubresource.layerCount,
+ .baseArrayLayer = region->imageSubresource.baseArrayLayer + i,
+ .layerCount = 1,
},
.srcOffsets = {
{