diff options
author | Chad Versace <chadversary@chromium.org> | 2022-11-08 09:43:50 -0800 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-01-03 17:20:30 +0000 |
commit | 0a256f79d4600a33c7f8c3e161041b5dcec1fbf0 (patch) | |
tree | 8b3d3d3cf2c165aa1d153449a882f2ebb203744c | |
parent | b0f07a3e856498c05a717b1cfd30c536d8b0d55e (diff) |
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 <chadversary@chromium.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20477>
-rw-r--r-- | src/vulkan/runtime/vk_synchronization2.c | 3 |
1 files changed, 3 insertions, 0 deletions
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, |