Mesa (main): anv: Use the common image<->buffer copy helper
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 7 18:25:03 UTC 2022
Module: Mesa
Branch: main
Commit: 81603e7dc21366959aeab6666db046327a1fbb1d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=81603e7dc21366959aeab6666db046327a1fbb1d
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Sat Jun 4 23:07:51 2022 -0500
anv: Use the common image<->buffer copy helper
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873>
---
src/intel/vulkan/anv_blorp.c | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
index e2c7ed32d06..6dab9036ea1 100644
--- a/src/intel/vulkan/anv_blorp.c
+++ b/src/intel/vulkan/anv_blorp.c
@@ -508,21 +508,8 @@ copy_buffer_to_image(struct anv_cmd_buffer *cmd_buffer,
const struct isl_format_layout *linear_fmtl =
isl_format_get_layout(linear_format);
- const uint32_t buffer_row_length =
- region->bufferRowLength ?
- region->bufferRowLength : extent.width;
-
- const uint32_t buffer_image_height =
- region->bufferImageHeight ?
- region->bufferImageHeight : extent.height;
-
- const uint32_t buffer_row_pitch =
- DIV_ROUND_UP(buffer_row_length, linear_fmtl->bw) *
- (linear_fmtl->bpb / 8);
-
- const uint32_t buffer_layer_stride =
- DIV_ROUND_UP(buffer_image_height, linear_fmtl->bh) *
- buffer_row_pitch;
+ const struct vk_image_buffer_layout buffer_layout =
+ vk_image_buffer_copy_layout(&anv_image->vk, region);
/* Some formats have additional restrictions which may cause ISL to
* fail to create a surface for us. For example, YCbCr formats
@@ -543,8 +530,8 @@ copy_buffer_to_image(struct anv_cmd_buffer *cmd_buffer,
get_blorp_surf_for_anv_buffer(cmd_buffer->device,
anv_buffer, region->bufferOffset,
buffer_extent.width, buffer_extent.height,
- buffer_row_pitch, buffer_format, false,
- &buffer.surf, &buffer_isl_surf);
+ buffer_layout.row_stride_B, buffer_format,
+ false, &buffer.surf, &buffer_isl_surf);
bool dst_has_shadow = false;
struct blorp_surf dst_shadow_surf;
@@ -583,7 +570,7 @@ copy_buffer_to_image(struct anv_cmd_buffer *cmd_buffer,
}
image.offset.z++;
- buffer.surf.addr.offset += buffer_layer_stride;
+ buffer.surf.addr.offset += buffer_layout.image_stride_B;
}
}
More information about the mesa-commit
mailing list