@ -1667,13 +1667,17 @@ static void ImGui_ImplVulkan_CreateWindow(ImGuiViewport* viewport)
}
// Select Surface Format
const VkFormat requestSurfaceImageFormat [ ] = {
# if defined(IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING)
v - > UseDynamicRendering & & v - > ColorAttachmentFormat ? v - > ColorAttachmentFormat : VK_FORMAT_B8G8R8A8_UNORM ,
ImVector < VkFormat > requestSurfaceImageFormats ;
# ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
for ( uint32_t n = 0 ; n < v - > PipelineRenderingCreateInfo . colorAttachmentCount ; n + + )
requestSurfaceImageFormats . push_back ( v - > PipelineRenderingCreateInfo . pColorAttachmentFormats [ n ] ) ;
# endif
VK_FORMAT_B8G8R8A8_UNORM , VK_FORMAT_R8G8B8A8_UNORM , VK_FORMAT_B8G8R8_UNORM , VK_FORMAT_R8G8B8_UNORM } ;
const VkFormat defaultFormats [ ] = { VK_FORMAT_B8G8R8A8_UNORM , VK_FORMAT_R8G8B8A8_UNORM , VK_FORMAT_B8G8R8_UNORM , VK_FORMAT_R8G8B8_UNORM } ;
for ( VkFormat format : defaultFormats )
requestSurfaceImageFormats . push_back ( format ) ;
const VkColorSpaceKHR requestSurfaceColorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR ;
wd - > SurfaceFormat = ImGui_ImplVulkanH_SelectSurfaceFormat ( v - > PhysicalDevice , wd - > Surface , requestSurfaceImageFormat , ( size_t ) IM_ARRAYSIZE ( requestSurfaceImageFormat ) , requestSurfaceColorSpace ) ;
wd - > SurfaceFormat = ImGui_ImplVulkanH_SelectSurfaceFormat ( v - > PhysicalDevice , wd - > Surface , requestSurfaceImageFormats . Data , ( size_t ) requestSurfaceImageFormats . Size , requestSurfaceColorSpace ) ;
// Select Present Mode
// FIXME-VULKAN: Even thought mailbox seems to get us maximum framerate with a single window, it halves framerate with a second window etc. (w/ Nvidia and SDK 1.82.1)