50#if defined(IMGUI_IMPL_VULKAN_NO_PROTOTYPES) && !defined(VK_NO_PROTOTYPES)
51#define VK_NO_PROTOTYPES
53#if defined(VK_USE_PLATFORM_WIN32_KHR) && !defined(NOMINMAX)
58#ifdef IMGUI_IMPL_VULKAN_USE_VOLK
61#include <vulkan/vulkan.h>
63#if defined(VK_VERSION_1_3) || defined(VK_KHR_dynamic_rendering)
64#define IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
92#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
93 VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo;
104IMGUI_IMPL_API
void ImGui_ImplVulkan_Shutdown();
105IMGUI_IMPL_API
void ImGui_ImplVulkan_NewFrame();
106IMGUI_IMPL_API
void ImGui_ImplVulkan_RenderDrawData(
ImDrawData* draw_data, VkCommandBuffer command_buffer, VkPipeline pipeline = VK_NULL_HANDLE);
107IMGUI_IMPL_API
bool ImGui_ImplVulkan_CreateFontsTexture();
108IMGUI_IMPL_API
void ImGui_ImplVulkan_DestroyFontsTexture();
109IMGUI_IMPL_API
void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count);
114IMGUI_IMPL_API VkDescriptorSet ImGui_ImplVulkan_AddTexture(VkSampler sampler, VkImageView image_view, VkImageLayout image_layout);
115IMGUI_IMPL_API
void ImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set);
119IMGUI_IMPL_API
bool ImGui_ImplVulkan_LoadFunctions(PFN_vkVoidFunction(*loader_func)(
const char* function_name,
void* user_data),
void* user_data =
nullptr);
141IMGUI_IMPL_API
void ImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device,
ImGui_ImplVulkanH_Window* wd, uint32_t queue_family,
const VkAllocationCallbacks* allocator,
int w,
int h, uint32_t min_image_count);
142IMGUI_IMPL_API
void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device,
ImGui_ImplVulkanH_Window* wd,
const VkAllocationCallbacks* allocator);
143IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface,
const VkFormat* request_formats,
int request_formats_count, VkColorSpaceKHR request_color_space);
144IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface,
const VkPresentModeKHR* request_modes,
int request_modes_count);
145IMGUI_IMPL_API
int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
189 memset((
void*)
this, 0,
sizeof(*
this));
Definition imgui_impl_vulkan.h:161
VkSemaphore RenderCompleteSemaphore
Definition imgui_impl_vulkan.h:163
VkSemaphore ImageAcquiredSemaphore
Definition imgui_impl_vulkan.h:162
Definition imgui_impl_vulkan.h:151
VkCommandBuffer CommandBuffer
Definition imgui_impl_vulkan.h:153
VkFramebuffer Framebuffer
Definition imgui_impl_vulkan.h:157
VkFence Fence
Definition imgui_impl_vulkan.h:154
VkCommandPool CommandPool
Definition imgui_impl_vulkan.h:152
VkImageView BackbufferView
Definition imgui_impl_vulkan.h:156
VkImage Backbuffer
Definition imgui_impl_vulkan.h:155
Definition imgui_impl_vulkan.h:169
bool ClearEnable
Definition imgui_impl_vulkan.h:178
VkSurfaceKHR Surface
Definition imgui_impl_vulkan.h:173
uint32_t SemaphoreIndex
Definition imgui_impl_vulkan.h:183
ImGui_ImplVulkanH_Window()
Definition imgui_impl_vulkan.h:187
uint32_t SemaphoreCount
Definition imgui_impl_vulkan.h:182
VkSwapchainKHR Swapchain
Definition imgui_impl_vulkan.h:172
ImGui_ImplVulkanH_Frame * Frames
Definition imgui_impl_vulkan.h:184
uint32_t FrameIndex
Definition imgui_impl_vulkan.h:180
int Height
Definition imgui_impl_vulkan.h:171
ImGui_ImplVulkanH_FrameSemaphores * FrameSemaphores
Definition imgui_impl_vulkan.h:185
VkSurfaceFormatKHR SurfaceFormat
Definition imgui_impl_vulkan.h:174
VkRenderPass RenderPass
Definition imgui_impl_vulkan.h:176
bool UseDynamicRendering
Definition imgui_impl_vulkan.h:177
VkPresentModeKHR PresentMode
Definition imgui_impl_vulkan.h:175
int Width
Definition imgui_impl_vulkan.h:170
uint32_t ImageCount
Definition imgui_impl_vulkan.h:181
VkClearValue ClearValue
Definition imgui_impl_vulkan.h:179
Definition imgui_impl_vulkan.h:73
VkSampleCountFlagBits MSAASamples
Definition imgui_impl_vulkan.h:83
bool UseDynamicRendering
Definition imgui_impl_vulkan.h:91
uint32_t Subpass
Definition imgui_impl_vulkan.h:87
const VkAllocationCallbacks * Allocator
Definition imgui_impl_vulkan.h:97
VkDeviceSize MinAllocationSize
Definition imgui_impl_vulkan.h:99
VkQueue Queue
Definition imgui_impl_vulkan.h:78
VkPhysicalDevice PhysicalDevice
Definition imgui_impl_vulkan.h:75
void(* CheckVkResultFn)(VkResult err)
Definition imgui_impl_vulkan.h:98
uint32_t QueueFamily
Definition imgui_impl_vulkan.h:77
VkInstance Instance
Definition imgui_impl_vulkan.h:74
VkDescriptorPool DescriptorPool
Definition imgui_impl_vulkan.h:79
VkDevice Device
Definition imgui_impl_vulkan.h:76
VkRenderPass RenderPass
Definition imgui_impl_vulkan.h:80
uint32_t ImageCount
Definition imgui_impl_vulkan.h:82
VkPipelineCache PipelineCache
Definition imgui_impl_vulkan.h:86
uint32_t MinImageCount
Definition imgui_impl_vulkan.h:81