Examples: Vulkan: Moved CreateOrResizeWindowData func to imgui_impl_vulkan.h

This commit is contained in:
omar
2018-03-02 23:59:21 +01:00
parent 426930e028
commit e0cbfd74d7
4 changed files with 271 additions and 401 deletions

View File

@ -15,16 +15,16 @@
struct ImGui_ImplVulkan_InitInfo
{
const VkAllocationCallbacks* Allocator;
VkInstance Instance;
VkPhysicalDevice PhysicalDevice;
VkDevice Device;
VkRenderPass RenderPass;
VkPipelineCache PipelineCache;
VkDescriptorPool DescriptorPool;
const VkAllocationCallbacks* Allocator;
void (*CheckVkResultFn)(VkResult err);
};
IMGUI_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo *init_data);
IMGUI_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info, VkRenderPass render_pass);
IMGUI_API void ImGui_ImplVulkan_Shutdown();
IMGUI_API void ImGui_ImplVulkan_NewFrame();
IMGUI_API void ImGui_ImplVulkan_Render(VkCommandBuffer command_buffer);
@ -42,9 +42,17 @@ IMGUI_API bool ImGui_ImplVulkan_CreateDeviceObjects();
// But for the purpose of allowing multi-windows, we need those internally anyway. The code being not trivial are exposing it for the benefit of the example code.
// If your application/engine already has code to create all that data (swap chain, render pass, frame buffers, etc.) you can ignore all of this.
//-------------------------------------------------------------------------
// NB: Those functions do NOT use any of the state used/affected by the regular ImGui_ImplVulkan_XXX functions.
//-------------------------------------------------------------------------
IMGUI_API VkSurfaceFormatKHR ImGui_ImplVulkan_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
IMGUI_API VkPresentModeKHR ImGui_ImplVulkan_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
struct ImGui_ImplVulkan_FrameData;
struct ImGui_ImplVulkan_WindowData;
struct ImGui_ImplVulkan_WindowDataCreateInfo;
IMGUI_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
IMGUI_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
IMGUI_API void ImGui_ImplVulkanH_CreateOrResizeWindowData(VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkan_WindowData* wd, const VkAllocationCallbacks* allocator, int w, int h);
IMGUI_API void ImGui_ImplVulkanH_DestroyWindowData(VkInstance instance, VkDevice device, ImGui_ImplVulkan_WindowData* wd, const VkAllocationCallbacks* allocator);
struct ImGui_ImplVulkan_FrameData
{
@ -76,3 +84,4 @@ struct ImGui_ImplVulkan_WindowData
IMGUI_API ImGui_ImplVulkan_WindowData();
};