Files
Seth WilliamsandLain 16e3faf0d0 win-capture: Fix Vulkan race condition
This race condition is caused when one thread creates a swap chain,
which calls OBS_CreateSwapchainKHR, at the same time another thread
calls OBS_CreateImageView.

OBS_CreateSwapchainKHR allocates swap data, publishes this into the
data->swaps linked list, then initializes it. Meanwhile,
OBS_CreateImageView is iterating the swaps linked list, to see if the
image matches any swap chain images. Due to the order in
OBS_CreateSwapchainKHR, there's no guarantee this data is initialized
so it often ends up running out of bounds on the swap_images array.

The fix is simply to defer the swap data publish to after init.

(cherry picked from commit aa1f2dea84)
2023-11-08 22:35:58 -06:00
..
2023-05-20 01:31:18 -07:00
2023-05-20 01:31:18 -07:00
2023-05-20 01:31:18 -07:00