|
@@ -135,18 +135,24 @@ struct ImGui_ImplVulkan_RenderState
|
|
|
|
|
|
//-------------------------------------------------------------------------
|
|
//-------------------------------------------------------------------------
|
|
// Internal / Miscellaneous Vulkan Helpers
|
|
// Internal / Miscellaneous Vulkan Helpers
|
|
-// (Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own engine/app.)
|
|
|
|
//-------------------------------------------------------------------------
|
|
//-------------------------------------------------------------------------
|
|
|
|
+// Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own engine/app.
|
|
|
|
+//
|
|
// You probably do NOT need to use or care about those functions.
|
|
// You probably do NOT need to use or care about those functions.
|
|
// Those functions only exist because:
|
|
// Those functions only exist because:
|
|
// 1) they facilitate the readability and maintenance of the multiple main.cpp examples files.
|
|
// 1) they facilitate the readability and maintenance of the multiple main.cpp examples files.
|
|
// 2) the multi-viewport / platform window implementation needs them internally.
|
|
// 2) the multi-viewport / platform window implementation needs them internally.
|
|
-// Generally we avoid exposing any kind of superfluous high-level helpers in the bindings,
|
|
|
|
|
|
+// Generally we avoid exposing any kind of superfluous high-level helpers in the backends,
|
|
// but it is too much code to duplicate everywhere so we exceptionally expose them.
|
|
// but it is too much code to duplicate everywhere so we exceptionally expose them.
|
|
//
|
|
//
|
|
-// Your engine/app will likely _already_ have code to setup all that stuff (swap chain, render pass, frame buffers, etc.).
|
|
|
|
-// You may read this code to learn about Vulkan, but it is recommended you use you own custom tailored code to do equivalent work.
|
|
|
|
-// (The ImGui_ImplVulkanH_XXX functions do not interact with any of the state used by the regular ImGui_ImplVulkan_XXX functions)
|
|
|
|
|
|
+// Your engine/app will likely _already_ have code to setup all that stuff (swap chain,
|
|
|
|
+// render pass, frame buffers, etc.). You may read this code if you are curious, but
|
|
|
|
+// it is recommended you use you own custom tailored code to do equivalent work.
|
|
|
|
+//
|
|
|
|
+// We don't provide a strong guarantee that we won't change those functions API.
|
|
|
|
+//
|
|
|
|
+// The ImGui_ImplVulkanH_XXX functions should NOT interact with any of the state used
|
|
|
|
+// by the regular ImGui_ImplVulkan_XXX functions).
|
|
//-------------------------------------------------------------------------
|
|
//-------------------------------------------------------------------------
|
|
|
|
|
|
struct ImGui_ImplVulkanH_Frame;
|
|
struct ImGui_ImplVulkanH_Frame;
|
|
@@ -157,6 +163,8 @@ IMGUI_IMPL_API void ImGui_ImplVulkanH_CreateOrResizeWindow(VkIns
|
|
IMGUI_IMPL_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window* wnd, const VkAllocationCallbacks* allocator);
|
|
IMGUI_IMPL_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window* wnd, const VkAllocationCallbacks* allocator);
|
|
IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
|
|
IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
|
|
IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
|
|
IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
|
|
|
|
+IMGUI_IMPL_API VkPhysicalDevice ImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance);
|
|
|
|
+IMGUI_IMPL_API uint32_t ImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device);
|
|
IMGUI_IMPL_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
|
|
IMGUI_IMPL_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
|
|
|
|
|
|
// Helper structure to hold the data needed by one rendering frame
|
|
// Helper structure to hold the data needed by one rendering frame
|