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

Author: Timur Kristóf <timur.kris...@gmail.com>
Date:   Sat Jan  6 11:14:45 2024 +0100

radv: Correct binding index for transfer buffer-image copies.

Signed-off-by: Timur Kristóf <timur.kris...@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuy...@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26913>

---

 src/amd/vulkan/meta/radv_meta_copy.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/meta/radv_meta_copy.c 
b/src/amd/vulkan/meta/radv_meta_copy.c
index 9c35ddb6b61..a25405c5564 100644
--- a/src/amd/vulkan/meta/radv_meta_copy.c
+++ b/src/amd/vulkan/meta/radv_meta_copy.c
@@ -95,11 +95,12 @@ transfer_copy_buffer_image(struct radv_cmd_buffer 
*cmd_buffer, struct radv_buffe
 {
    const struct radv_device *device = cmd_buffer->device;
    struct radeon_cmdbuf *cs = cmd_buffer->cs;
+   const VkImageAspectFlags aspect_mask = region->imageSubresource.aspectMask;
+   const unsigned binding_idx = image->disjoint ? 
radv_plane_from_aspect(aspect_mask) : 0;
 
-   radv_cs_add_buffer(device->ws, cs, image->bindings[0].bo);
+   radv_cs_add_buffer(device->ws, cs, image->bindings[binding_idx].bo);
    radv_cs_add_buffer(device->ws, cs, buffer->bo);
 
-   const VkImageAspectFlags aspect_mask = region->imageSubresource.aspectMask;
    struct radv_sdma_surf buf = radv_sdma_get_buf_surf(buffer, image, region, 
aspect_mask);
    const struct radv_sdma_surf img =
       radv_sdma_get_surf(device, image, region->imageSubresource, 
region->imageOffset, aspect_mask);

Reply via email to