From 89bd7bd5957472738eec30e6cbf103e27f5227d2 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 6 May 2026 16:00:11 +0100 Subject: [PATCH] vulkan-renderer: Fix stages for sync in texture upload When we're uploading data to a texture, the hazard we're protecting against before upload is ensuring reads from the fragment shader are complete before writes from the transfer queue begin. The synchronisation after the buffer -> image copy was correct. Signed-off-by: Daniel Stone --- libweston/renderer-vulkan/vulkan-renderer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libweston/renderer-vulkan/vulkan-renderer.c b/libweston/renderer-vulkan/vulkan-renderer.c index be20e3348..4c4f882e8 100644 --- a/libweston/renderer-vulkan/vulkan-renderer.c +++ b/libweston/renderer-vulkan/vulkan-renderer.c @@ -2749,8 +2749,8 @@ update_texture_image(struct vulkan_renderer *vr, transition_image_layout(cmd_buffer, texture->image, expected_layout, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, - VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT); + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + VK_ACCESS_SHADER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT); copy_buffer_to_sub_image(cmd_buffer, texture->staging_buffer, texture->image, buffer_width, buffer_height, pitch, pixel_format->bpp,