mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-30 08:20:41 +02:00
vk/meta: Fix buffer -> image copy using a graphics pipeline
Unlike 3D image views, 2D array image views created by meta_copy only
contain the layers needed for rendering, so we shouldn't consider the
base layer an image offset.
Fixes: 07c6459cd8 ("vk/meta: Add copy/fill/update helpers")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31439>
This commit is contained in:
parent
7dc6826bc3
commit
767a7d785b
1 changed files with 3 additions and 11 deletions
|
|
@ -1193,14 +1193,6 @@ copy_buffer_image_prepare_gfx_push_const(
|
|||
{
|
||||
struct vk_device *dev = cmd->base.device;
|
||||
const struct vk_device_dispatch_table *disp = &dev->dispatch_table;
|
||||
uint32_t depth_or_layer_count =
|
||||
MAX2(region->imageExtent.depth,
|
||||
vk_image_subresource_layer_count(img, ®ion->imageSubresource));
|
||||
VkImageViewType img_view_type =
|
||||
vk_image_render_view_type(img, depth_or_layer_count);
|
||||
VkOffset3D img_offs =
|
||||
base_layer_as_offset(img_view_type, region->imageOffset,
|
||||
region->imageSubresource.baseArrayLayer);
|
||||
|
||||
/* vk_meta_copy_buffer_image_info::image_stride is 32-bit for now.
|
||||
* We might want to make it a 64-bit integer (and patch the shader code
|
||||
|
|
@ -1216,9 +1208,9 @@ copy_buffer_image_prepare_gfx_push_const(
|
|||
VK_WHOLE_SIZE),
|
||||
},
|
||||
.img.offset = {
|
||||
.x = img_offs.x,
|
||||
.y = img_offs.y,
|
||||
.z = img_offs.z,
|
||||
.x = region->imageOffset.x,
|
||||
.y = region->imageOffset.y,
|
||||
.z = region->imageOffset.z,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue