From 0a256f79d4600a33c7f8c3e161041b5dcec1fbf0 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Tue, 8 Nov 2022 09:43:50 -0800 Subject: [PATCH] vulkan/runtime: Preserve pNext when upgrading to synchronization2 structs The functions that upgraded VkFooMemoryBarrier to VkFooMemoryBarrier2 dropped the pNext pointers. It loses VkSampleLocationsInfoEXT, and may lose additional structs too if VkFooMemoryBarrier receives further extensions in the future. Signed-off-by: Chad Versace Reviewed-by: Jason Ekstrand Part-of: --- src/vulkan/runtime/vk_synchronization2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vulkan/runtime/vk_synchronization2.c b/src/vulkan/runtime/vk_synchronization2.c index 8c291091bac..8fb1d102141 100644 --- a/src/vulkan/runtime/vk_synchronization2.c +++ b/src/vulkan/runtime/vk_synchronization2.c @@ -52,6 +52,7 @@ upgrade_memory_barrier(const VkMemoryBarrier *barrier, { return (VkMemoryBarrier2) { .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, + .pNext = barrier->pNext, .srcStageMask = src_stage_mask2, .srcAccessMask = (VkAccessFlags2) barrier->srcAccessMask, .dstStageMask = dst_stage_mask2, @@ -66,6 +67,7 @@ upgrade_buffer_memory_barrier(const VkBufferMemoryBarrier *barrier, { return (VkBufferMemoryBarrier2) { .sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, + .pNext = barrier->pNext, .srcStageMask = src_stage_mask2, .srcAccessMask = (VkAccessFlags2) barrier->srcAccessMask, .dstStageMask = dst_stage_mask2, @@ -85,6 +87,7 @@ upgrade_image_memory_barrier(const VkImageMemoryBarrier *barrier, { return (VkImageMemoryBarrier2) { .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, + .pNext = barrier->pNext, .srcStageMask = src_stage_mask2, .srcAccessMask = (VkAccessFlags2) barrier->srcAccessMask, .dstStageMask = dst_stage_mask2,