|
26 | 26 |
|
27 | 27 | // CHANGELOG
|
28 | 28 | // (minor and older changes stripped away, please see git history for details)
|
| 29 | +// 2025-02-13: Vulkan: Added ApiVersion field in ImGui_ImplVulkan_InitInfo. Default to header version if unspecified. Dynamic rendering path loads "vkCmdBeginRendering/vkCmdEndRendering" (without -KHR suffix) on API 1.3. (#8326) |
29 | 30 | // 2025-01-09: Vulkan: Added IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE to clarify how many image sampler descriptors are expected to be available in descriptor pool. (#6642)
|
30 | 31 | // 2025-01-06: Vulkan: Added more ImGui_ImplVulkanH_XXXX helper functions to simplify our examples.
|
31 | 32 | // 2024-12-11: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222)
|
@@ -1082,9 +1083,11 @@ void ImGui_ImplVulkan_DestroyDeviceObjects()
|
1082 | 1083 | #ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
1083 | 1084 | static void ImGui_ImplVulkan_LoadDynamicRenderingFunctions(PFN_vkVoidFunction(*loader_func)(const char* function_name, void* user_data), void* user_data)
|
1084 | 1085 | {
|
1085 |
| - // Manually load those two (see #5446) |
1086 |
| - ImGuiImplVulkanFuncs_vkCmdBeginRenderingKHR = reinterpret_cast<PFN_vkCmdBeginRenderingKHR>(loader_func("vkCmdBeginRenderingKHR", user_data)); |
1087 |
| - ImGuiImplVulkanFuncs_vkCmdEndRenderingKHR = reinterpret_cast<PFN_vkCmdEndRenderingKHR>(loader_func("vkCmdEndRenderingKHR", user_data)); |
| 1086 | + // Manually load those two (see #5446, #8326, #8365) |
| 1087 | + ImGui_ImplVulkan_Data* bd = ImGui_ImplVulkan_GetBackendData(); |
| 1088 | + ImGui_ImplVulkan_InitInfo* v = &bd->VulkanInitInfo; |
| 1089 | + ImGuiImplVulkanFuncs_vkCmdBeginRenderingKHR = reinterpret_cast<PFN_vkCmdBeginRenderingKHR>(loader_func(v->ApiVersion < VK_API_VERSION_1_3 ? "vkCmdBeginRenderingKHR" : "vkCmdBeginRendering", user_data)); |
| 1090 | + ImGuiImplVulkanFuncs_vkCmdEndRenderingKHR = reinterpret_cast<PFN_vkCmdEndRenderingKHR>(loader_func(v->ApiVersion < VK_API_VERSION_1_3 ? "vkCmdEndRenderingKHR" : "vkCmdEndRendering", user_data)); |
1088 | 1091 | }
|
1089 | 1092 | #endif
|
1090 | 1093 |
|
@@ -1155,6 +1158,8 @@ bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info)
|
1155 | 1158 | IM_ASSERT(info->RenderPass != VK_NULL_HANDLE);
|
1156 | 1159 |
|
1157 | 1160 | bd->VulkanInitInfo = *info;
|
| 1161 | + if (bd->VulkanInitInfo.ApiVersion == 0) |
| 1162 | + bd->VulkanInitInfo.ApiVersion = VK_HEADER_VERSION_COMPLETE; |
1158 | 1163 |
|
1159 | 1164 | ImGui_ImplVulkan_CreateDeviceObjects();
|
1160 | 1165 |
|
|
0 commit comments