From f937a32742d09e5f891aca6fd96a668c65d1a14a Mon Sep 17 00:00:00 2001 From: Ronan Cailleau Date: Thu, 4 Sep 2025 16:27:33 +0200 Subject: [PATCH] Backends: Vulkan: added ImGui_ImplVulkan_CreateMainPipeline() - amend for docking branch. (8110, 8111, 8053) --- backends/imgui_impl_vulkan.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/backends/imgui_impl_vulkan.cpp b/backends/imgui_impl_vulkan.cpp index cbdbe9620..73212996d 100644 --- a/backends/imgui_impl_vulkan.cpp +++ b/backends/imgui_impl_vulkan.cpp @@ -1997,7 +1997,24 @@ static void ImGui_ImplVulkan_CreateWindow(ImGuiViewport* viewport) // Create pipeline (shared by all secondary viewports) if (bd->PipelineForViewports == VK_NULL_HANDLE) - ImGui_ImplVulkan_CreatePipeline(v->Device, v->Allocator, VK_NULL_HANDLE, wd->RenderPass, VK_SAMPLE_COUNT_1_BIT, &bd->PipelineForViewports, 0); + { + VkPipelineRenderingCreateInfoKHR* p_rendering_info = nullptr; +#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING + VkPipelineRenderingCreateInfoKHR rendering_info = {}; + if (wd->UseDynamicRendering) + { + rendering_info.sType = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO; + rendering_info.pNext = nullptr; + rendering_info.viewMask = 0; + rendering_info.colorAttachmentCount = 1; + rendering_info.pColorAttachmentFormats = &wd->SurfaceFormat.format; + rendering_info.depthAttachmentFormat = VK_FORMAT_UNDEFINED; + rendering_info.stencilAttachmentFormat = VK_FORMAT_UNDEFINED; + p_rendering_info = &rendering_info; + } +#endif + bd->PipelineForViewports = ImGui_ImplVulkan_CreatePipeline(v->Device, v->Allocator, VK_NULL_HANDLE, wd->UseDynamicRendering ? VK_NULL_HANDLE : wd->RenderPass, VK_SAMPLE_COUNT_1_BIT, 0, p_rendering_info); + } } static void ImGui_ImplVulkan_DestroyWindow(ImGuiViewport* viewport)