From 6bec3533cda0518fcc3fbecc62601808003d3454 Mon Sep 17 00:00:00 2001 From: scribam Date: Wed, 15 Jan 2025 21:47:42 +0100 Subject: [PATCH] gui: use init_info.DescriptorPoolSize --- vita3k/app/src/app_init.cpp | 1 - .../gui/imgui_impl_sdl_vulkan_texture.h | 2 -- vita3k/gui/src/gui.cpp | 18 +----------------- .../gui/src/imgui_impl_sdl_vulkan_texture.cpp | 2 -- 4 files changed, 1 insertion(+), 22 deletions(-) diff --git a/vita3k/app/src/app_init.cpp b/vita3k/app/src/app_init.cpp index 3b8ee62e37..5ad3a3b72d 100644 --- a/vita3k/app/src/app_init.cpp +++ b/vita3k/app/src/app_init.cpp @@ -454,7 +454,6 @@ void destroy(EmuEnvState &emuenv, GuiState &gui) { gui.manuals.clear(); gui.trophy_window_icon = {}; ImGui_ImplVulkan_Shutdown(); - dynamic_cast(*emuenv.renderer).device.destroy(imgui_descriptor_pool); break; default: LOG_ERROR("Missing ImGui init for backend {}.", static_cast(emuenv.renderer->current_backend)); diff --git a/vita3k/gui/include/gui/imgui_impl_sdl_vulkan_texture.h b/vita3k/gui/include/gui/imgui_impl_sdl_vulkan_texture.h index 5a1f4e2faa..d876099da8 100644 --- a/vita3k/gui/include/gui/imgui_impl_sdl_vulkan_texture.h +++ b/vita3k/gui/include/gui/imgui_impl_sdl_vulkan_texture.h @@ -21,8 +21,6 @@ #include #include -extern VkDescriptorPool imgui_descriptor_pool; - struct VKTextureData : ImguiTextureData { private: diff --git a/vita3k/gui/src/gui.cpp b/vita3k/gui/src/gui.cpp index 26d794d350..cef7e8bd60 100644 --- a/vita3k/gui/src/gui.cpp +++ b/vita3k/gui/src/gui.cpp @@ -675,22 +675,6 @@ void pre_init(GuiState &gui, EmuEnvState &emuenv) { } else if (emuenv.renderer->current_backend == renderer::Backend::Vulkan) { auto& vk_state = dynamic_cast(*emuenv.renderer); - /** - * Create descriptor pool - */ - static constexpr uint32_t nb_descriptor_sets = 1024; - - vk::DescriptorPoolSize pool_size{ - .type = vk::DescriptorType::eCombinedImageSampler, - .descriptorCount = nb_descriptor_sets - }; - vk::DescriptorPoolCreateInfo pool_info{ - .maxSets = nb_descriptor_sets, - }; - pool_info.setFlags(vk::DescriptorPoolCreateFlagBits::eFreeDescriptorSet); - pool_info.setPoolSizes(pool_size); - imgui_descriptor_pool = vk_state.device.createDescriptorPool(pool_info); - ImGui_ImplSDL2_InitForVulkan(emuenv.window.get()); ImGui_ImplVulkan_InitInfo init_info = {}; init_info.Instance = vk_state.instance; @@ -699,7 +683,7 @@ void pre_init(GuiState &gui, EmuEnvState &emuenv) { init_info.QueueFamily = vk_state.general_family_index; init_info.Queue = vk_state.general_queue; init_info.PipelineCache = VK_NULL_HANDLE; - init_info.DescriptorPool = imgui_descriptor_pool; + init_info.DescriptorPoolSize = 1024; init_info.RenderPass = vk_state.screen_renderer.default_render_pass; init_info.Subpass = 0; init_info.MinImageCount = vk_state.screen_renderer.surface_capabilities.minImageCount; diff --git a/vita3k/gui/src/imgui_impl_sdl_vulkan_texture.cpp b/vita3k/gui/src/imgui_impl_sdl_vulkan_texture.cpp index a7eee6e92a..84ae639e7c 100644 --- a/vita3k/gui/src/imgui_impl_sdl_vulkan_texture.cpp +++ b/vita3k/gui/src/imgui_impl_sdl_vulkan_texture.cpp @@ -20,8 +20,6 @@ #include -VkDescriptorPool imgui_descriptor_pool; - // Helper function to find Vulkan memory type bits. See ImGui_ImplVulkan_MemoryType() in imgui_impl_vulkan.cpp uint32_t findMemoryType(vk::PhysicalDevice physicalDevice, uint32_t type_filter, vk::MemoryPropertyFlags properties) { vk::PhysicalDeviceMemoryProperties mem_properties = physicalDevice.getMemoryProperties();