Fix crash on Vulkan when vkGetPhysicalDeviceSurfaceFormatsKHR returns VK_INCOMPLETE

This commit is contained in:
2026-04-14 16:38:03 +02:00
parent a14599bb15
commit 3f55833939
@@ -232,11 +232,13 @@ bool GPUSwapChainVulkan::CreateSwapChain(int32 width, int32 height)
VkSurfaceFormatKHR result;
Platform::MemoryClear(&result, sizeof(result));
{
uint32 surfaceFormatsCount;
VALIDATE_VULKAN_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR(gpu, _surface, &surfaceFormatsCount, nullptr));
uint32 surfaceFormatsCount = 0;
vkGetPhysicalDeviceSurfaceFormatsKHR(gpu, _surface, &surfaceFormatsCount, nullptr);
Array<VkSurfaceFormatKHR, InlinedAllocation<16>> surfaceFormats;
surfaceFormats.AddZeroed(surfaceFormatsCount);
VALIDATE_VULKAN_RESULT(vkGetPhysicalDeviceSurfaceFormatsKHR(gpu, _surface, &surfaceFormatsCount, surfaceFormats.Get()));
VkResult vkResult = vkGetPhysicalDeviceSurfaceFormatsKHR(gpu, _surface, &surfaceFormatsCount, surfaceFormats.Get());
if (vkResult != VK_SUCCESS && vkResult != VK_INCOMPLETE)
RenderToolsVulkan::LogVkResult(vkResult, __FILE__, __LINE__);
if (resultFormat != PixelFormat::Unknown)
{