Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
imgui_impl_vulkan.h
Go to the documentation of this file.
1 // dear imgui: Renderer for Vulkan
2 // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..)
3 
4 // Implemented features:
5 // [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
6 // Missing features:
7 // [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this binding! See https://github.com/ocornut/imgui/pull/914
8 
9 // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
10 // If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
11 // https://github.com/ocornut/imgui
12 
13 // The aim of imgui_impl_vulkan.h/.cpp is to be usable in your engine without any modification.
14 // IF YOU FEEL YOU NEED TO MAKE ANY CHANGE TO THIS CODE, please share them and your feedback at https://github.com/ocornut/imgui/
15 
16 // Important note to the reader who wish to integrate imgui_impl_vulkan.cpp/.h in their own engine/app.
17 // - Common ImGui_ImplVulkan_XXX functions and structures are used to interface with imgui_impl_vulkan.cpp/.h.
18 // You will use those if you want to use this rendering back-end in your engine/app.
19 // - Helper ImGui_ImplVulkanH_XXX functions and structures are only used by this example (main.cpp) and by
20 // the back-end itself (imgui_impl_vulkan.cpp), but should PROBABLY NOT be used by your own engine/app code.
21 // Read comments in imgui_impl_vulkan.h.
22 
23 #pragma once
24 
25 #include <vulkan/vulkan.h>
26 #include "../../imgui.h" // IMGUI_IMPL_API
27 
28 // Initialization data, for ImGui_ImplVulkan_Init()
29 // [Please zero-clear before use!]
31 {
32  VkInstance Instance;
33  VkPhysicalDevice PhysicalDevice;
34  VkDevice Device;
36  VkQueue Queue;
37  VkPipelineCache PipelineCache;
38  VkDescriptorPool DescriptorPool;
40  uint32_t ImageCount; // >= MinImageCount
41  VkSampleCountFlagBits MSAASamples; // >= VK_SAMPLE_COUNT_1_BIT
42  const VkAllocationCallbacks* Allocator;
43  void (*CheckVkResultFn)(VkResult err);
44 };
45 
46 // Called by user code
47 IMGUI_IMPL_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info, VkRenderPass render_pass);
50 IMGUI_IMPL_API void ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data, VkCommandBuffer command_buffer);
51 IMGUI_IMPL_API bool ImGui_ImplVulkan_CreateFontsTexture(VkCommandBuffer command_buffer);
53 IMGUI_IMPL_API void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count); // To override MinImageCount after initialization (e.g. if swap chain is recreated)
54 
55 
56 //-------------------------------------------------------------------------
57 // Internal / Miscellaneous Vulkan Helpers
58 // (Used by example's main.cpp. Used by multi-viewport features. PROBABLY NOT used by your own engine/app.)
59 //-------------------------------------------------------------------------
60 // You probably do NOT need to use or care about those functions.
61 // Those functions only exist because:
62 // 1) they facilitate the readability and maintenance of the multiple main.cpp examples files.
63 // 2) the upcoming multi-viewport feature will need them internally.
64 // Generally we avoid exposing any kind of superfluous high-level helpers in the bindings,
65 // but it is too much code to duplicate everywhere so we exceptionally expose them.
66 //
67 // Your engine/app will likely _already_ have code to setup all that stuff (swap chain, render pass, frame buffers, etc.).
68 // You may read this code to learn about Vulkan, but it is recommended you use you own custom tailored code to do equivalent work.
69 // (The ImGui_ImplVulkanH_XXX functions do not interact with any of the state used by the regular ImGui_ImplVulkan_XXX functions)
70 //-------------------------------------------------------------------------
71 
74 
75 // Helpers
76 IMGUI_IMPL_API void ImGui_ImplVulkanH_CreateWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window* wnd, uint32_t queue_family, const VkAllocationCallbacks* allocator, int w, int h, uint32_t min_image_count);
77 IMGUI_IMPL_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window* wnd, const VkAllocationCallbacks* allocator);
78 IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat* request_formats, int request_formats_count, VkColorSpaceKHR request_color_space);
79 IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR* request_modes, int request_modes_count);
80 IMGUI_IMPL_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
81 
82 // Helper structure to hold the data needed by one rendering frame
83 // (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
84 // [Please zero-clear before use!]
86 {
87  VkCommandPool CommandPool;
88  VkCommandBuffer CommandBuffer;
89  VkFence Fence;
90  VkImage Backbuffer;
91  VkImageView BackbufferView;
92  VkFramebuffer Framebuffer;
93 };
94 
96 {
99 };
100 
101 // Helper structure to hold the data needed by one rendering context into one OS window
102 // (Used by example's main.cpp. Used by multi-viewport features. Probably NOT used by your own engine/app.)
104 {
105  int Width;
106  int Height;
107  VkSwapchainKHR Swapchain;
108  VkSurfaceKHR Surface;
109  VkSurfaceFormatKHR SurfaceFormat;
110  VkPresentModeKHR PresentMode;
111  VkRenderPass RenderPass;
113  VkClearValue ClearValue;
114  uint32_t FrameIndex; // Current frame being rendered to (0 <= FrameIndex < FrameInFlightCount)
115  uint32_t ImageCount; // Number of simultaneous in-flight frames (returned by vkGetSwapchainImagesKHR, usually derived from min_image_count)
116  uint32_t SemaphoreIndex; // Current set of swapchain wait semaphores we're using (needs to be distinct from per frame data)
119 
121  {
122  memset(this, 0, sizeof(*this));
123  PresentMode = VK_PRESENT_MODE_MAX_ENUM_KHR;
124  ClearEnable = true;
125  }
126 };
127 
ImGui_ImplVulkan_InitInfo
Definition: imgui_impl_vulkan.h:30
ImGuiBackendFlags_RendererHasVtxOffset
@ ImGuiBackendFlags_RendererHasVtxOffset
Definition: imgui.h:1021
ImGui_ImplVulkanH_SelectSurfaceFormat
IMGUI_IMPL_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat *request_formats, int request_formats_count, VkColorSpaceKHR request_color_space)
Definition: imgui_impl_vulkan.cpp:870
ImGui_ImplVulkan_Shutdown
IMGUI_IMPL_API void ImGui_ImplVulkan_Shutdown()
Definition: imgui_impl_vulkan.cpp:831
ImDrawList::VtxBuffer
ImVector< ImDrawVert > VtxBuffer
Definition: imgui.h:1886
ImGui_ImplVulkanH_FrameSemaphores::ImageAcquiredSemaphore
VkSemaphore ImageAcquiredSemaphore
Definition: imgui_impl_vulkan.h:97
ImGui_ImplVulkanH_FrameRenderBuffers::IndexBufferMemory
VkDeviceMemory IndexBufferMemory
Definition: imgui_impl_vulkan.cpp:56
ImVec4::x
float x
Definition: imgui.h:194
ImGui_ImplVulkanH_FrameSemaphores
Definition: imgui_impl_vulkan.h:95
ImGui_ImplVulkanH_SelectPresentMode
VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR *request_modes, int request_modes_count)
Definition: imgui_impl_vulkan.cpp:914
ImGui_ImplVulkanH_Window
Definition: imgui_impl_vulkan.h:103
ImGui_ImplVulkan_SetMinImageCount
void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count)
Definition: imgui_impl_vulkan.cpp:840
ImVector::resize
void resize(int new_size)
Definition: imgui.h:1263
ImGui_ImplVulkanH_Window::Width
int Width
Definition: imgui_impl_vulkan.h:105
ImGui_ImplVulkanH_Frame::Framebuffer
VkFramebuffer Framebuffer
Definition: imgui_impl_vulkan.h:92
ImGui_ImplVulkanH_CreateWindowCommandBuffers
void ImGui_ImplVulkanH_CreateWindowCommandBuffers(VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window *wd, uint32_t queue_family, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:936
ImGui_ImplVulkan_Init
bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo *info, VkRenderPass render_pass)
Definition: imgui_impl_vulkan.cpp:808
ImGui_ImplVulkan_CreateFontsTexture
bool ImGui_ImplVulkan_CreateFontsTexture(VkCommandBuffer command_buffer)
Definition: imgui_impl_vulkan.cpp:435
width
int width
Definition: bgfx.cpp:19
ImGui_ImplVulkanH_SelectSurfaceFormat
VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkFormat *request_formats, int request_formats_count, VkColorSpaceKHR request_color_space)
Definition: imgui_impl_vulkan.cpp:870
ImGui_ImplVulkanH_Frame
Definition: imgui_impl_vulkan.h:85
ImGui_ImplVulkanH_Window::ClearEnable
bool ClearEnable
Definition: imgui_impl_vulkan.h:112
ImGui_ImplVulkanH_FrameRenderBuffers::VertexBufferSize
VkDeviceSize VertexBufferSize
Definition: imgui_impl_vulkan.cpp:57
ImVec4::z
float z
Definition: imgui.h:194
ImGui_ImplVulkan_InitInfo::MSAASamples
VkSampleCountFlagBits MSAASamples
Definition: imgui_impl_vulkan.h:41
ImGui_ImplVulkanH_Frame::CommandPool
VkCommandPool CommandPool
Definition: imgui_impl_vulkan.h:87
ImDrawData::TotalVtxCount
int TotalVtxCount
Definition: imgui.h:1985
ImGui_ImplVulkanH_FrameRenderBuffers
Definition: imgui_impl_vulkan.cpp:53
ImGui_ImplVulkanH_GetMinImageCountFromPresentMode
int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode)
Definition: imgui_impl_vulkan.cpp:983
ImGui_ImplVulkan_NewFrame
void ImGui_ImplVulkan_NewFrame()
Definition: imgui_impl_vulkan.cpp:836
IM_ALLOC
#define IM_ALLOC(_SIZE)
Definition: imgui.h:1211
ImVec4
Definition: imgui.h:192
ImDrawIdx
unsigned short ImDrawIdx
Definition: imgui.h:1808
ImDrawCmd::IdxOffset
unsigned int IdxOffset
Definition: imgui.h:1797
ImGui_ImplVulkan_SetMinImageCount
IMGUI_IMPL_API void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count)
Definition: imgui_impl_vulkan.cpp:840
imgui_impl_vulkan.h
IM_OFFSETOF
#define IM_OFFSETOF(_TYPE, _MEMBER)
Definition: imgui.h:80
ImDrawData::CmdListsCount
int CmdListsCount
Definition: imgui.h:1983
ImGui_ImplVulkanH_DestroyFrame
void ImGui_ImplVulkanH_DestroyFrame(VkDevice device, ImGui_ImplVulkanH_Frame *fd, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1184
ImGui_ImplVulkan_InitInfo::ImageCount
uint32_t ImageCount
Definition: imgui_impl_vulkan.h:40
ImGuiIO::BackendFlags
ImGuiBackendFlags BackendFlags
Definition: imgui.h:1345
ImDrawList::CmdBuffer
ImVector< ImDrawCmd > CmdBuffer
Definition: imgui.h:1884
ImGuiIO
Definition: imgui.h:1338
ImDrawList
Definition: imgui.h:1881
ImFontAtlas::GetTexDataAsRGBA32
IMGUI_API void GetTexDataAsRGBA32(unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel=NULL)
Definition: imgui_draw.cpp:1576
ImGui_ImplVulkanH_WindowRenderBuffers::FrameRenderBuffers
ImGui_ImplVulkanH_FrameRenderBuffers * FrameRenderBuffers
Definition: imgui_impl_vulkan.cpp:69
ImVec2::x
float x
Definition: imgui.h:181
ImGui_ImplVulkan_InitInfo::Device
VkDevice Device
Definition: imgui_impl_vulkan.h:34
ImDrawCmd::ClipRect
ImVec4 ClipRect
Definition: imgui.h:1794
ImGui_ImplVulkanH_Window::Surface
VkSurfaceKHR Surface
Definition: imgui_impl_vulkan.h:108
ImGui_ImplVulkanH_SelectPresentMode
IMGUI_IMPL_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device, VkSurfaceKHR surface, const VkPresentModeKHR *request_modes, int request_modes_count)
Definition: imgui_impl_vulkan.cpp:914
allocator
Blam::LinearAllocator allocator
– TO BE FILLED IN BY VERTIGO –
Definition: main.cpp:76
ImVec2
Definition: imgui.h:179
NULL
Add a fourth parameter to bake specific font ranges NULL
Definition: README.txt:57
ImGui_ImplVulkan_InitInfo::QueueFamily
uint32_t QueueFamily
Definition: imgui_impl_vulkan.h:35
ImGui_ImplVulkan_RenderDrawData
void ImGui_ImplVulkan_RenderDrawData(ImDrawData *draw_data, VkCommandBuffer command_buffer)
Definition: imgui_impl_vulkan.cpp:312
ImGuiIO::BackendRendererName
const char * BackendRendererName
Definition: imgui.h:1380
ImGui_ImplVulkan_InitInfo::PhysicalDevice
VkPhysicalDevice PhysicalDevice
Definition: imgui_impl_vulkan.h:33
ImGui_ImplVulkanH_CreateWindowSwapChain
void ImGui_ImplVulkanH_CreateWindowSwapChain(VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window *wd, const VkAllocationCallbacks *allocator, int w, int h, uint32_t min_image_count)
Definition: imgui_impl_vulkan.cpp:996
ImGuiIO::Fonts
ImFontAtlas * Fonts
Definition: imgui.h:1359
ImGui_ImplVulkanH_Frame::CommandBuffer
VkCommandBuffer CommandBuffer
Definition: imgui_impl_vulkan.h:88
ImDrawData::CmdLists
ImDrawList ** CmdLists
Definition: imgui.h:1982
ImGui_ImplVulkan_DestroyFontUploadObjects
void ImGui_ImplVulkan_DestroyFontUploadObjects()
Definition: imgui_impl_vulkan.cpp:778
ImGui_ImplVulkan_NewFrame
IMGUI_IMPL_API void ImGui_ImplVulkan_NewFrame()
Definition: imgui_impl_vulkan.cpp:836
ImGui_ImplVulkan_InitInfo::PipelineCache
VkPipelineCache PipelineCache
Definition: imgui_impl_vulkan.h:37
int32_t
int int32_t
Definition: stdint.h:13
ImDrawCmd::VtxOffset
unsigned int VtxOffset
Definition: imgui.h:1796
ImGui_ImplVulkanH_FrameSemaphores::RenderCompleteSemaphore
VkSemaphore RenderCompleteSemaphore
Definition: imgui_impl_vulkan.h:98
ImGui_ImplVulkan_DestroyFontUploadObjects
IMGUI_IMPL_API void ImGui_ImplVulkan_DestroyFontUploadObjects()
Definition: imgui_impl_vulkan.cpp:778
format
ARPHIC PUBLIC LICENSE Ltd Yung Chi Taiwan All rights reserved except as specified below Everyone is permitted to copy and distribute verbatim copies of this license but changing it is forbidden Preamble The licenses for most software are designed to take away your freedom to share and change it By the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software Legal Terms Font means the TrueType fonts AR PL Mingti2L AR PL KaitiM AR PL KaitiM and the derivatives of those fonts created through any modification including modifying reordering converting format
Definition: ARPHICPL.TXT:16
ImGui_ImplVulkanH_Window::PresentMode
VkPresentModeKHR PresentMode
Definition: imgui_impl_vulkan.h:110
ImGui_ImplVulkanH_Window::ClearValue
VkClearValue ClearValue
Definition: imgui_impl_vulkan.h:113
ImGui_ImplVulkanH_FrameRenderBuffers::IndexBuffer
VkBuffer IndexBuffer
Definition: imgui_impl_vulkan.cpp:60
ImGui::GetIO
IMGUI_API ImGuiIO & GetIO()
Definition: imgui.cpp:3300
ImGui_ImplVulkan_InitInfo::Queue
VkQueue Queue
Definition: imgui_impl_vulkan.h:36
ImDrawData::DisplayPos
ImVec2 DisplayPos
Definition: imgui.h:1986
ImGui_ImplVulkanH_Window::Height
int Height
Definition: imgui_impl_vulkan.h:106
ImGui_ImplVulkanH_Frame::Backbuffer
VkImage Backbuffer
Definition: imgui_impl_vulkan.h:90
ImDrawList::IdxBuffer
ImVector< ImDrawIdx > IdxBuffer
Definition: imgui.h:1885
ImGui_ImplVulkanH_FrameRenderBuffers::IndexBufferSize
VkDeviceSize IndexBufferSize
Definition: imgui_impl_vulkan.cpp:58
ImGui_ImplVulkanH_Window::Frames
ImGui_ImplVulkanH_Frame * Frames
Definition: imgui_impl_vulkan.h:117
ImGui_ImplVulkanH_DestroyWindow
IMGUI_IMPL_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window *wnd, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1163
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
ImGui_ImplVulkanH_Window::ImageCount
uint32_t ImageCount
Definition: imgui_impl_vulkan.h:115
ImGui_ImplVulkanH_Frame::Fence
VkFence Fence
Definition: imgui_impl_vulkan.h:89
ImDrawCmd
Definition: imgui.h:1791
ImGui_ImplVulkanH_FrameRenderBuffers::VertexBuffer
VkBuffer VertexBuffer
Definition: imgui_impl_vulkan.cpp:59
ImGui_ImplVulkan_InitInfo::CheckVkResultFn
void(* CheckVkResultFn)(VkResult err)
Definition: imgui_impl_vulkan.h:43
IM_ARRAYSIZE
#define IM_ARRAYSIZE(_ARR)
Definition: imgui.h:75
ImGui_ImplVulkanH_CreateWindow
IMGUI_IMPL_API void ImGui_ImplVulkanH_CreateWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window *wnd, uint32_t queue_family, const VkAllocationCallbacks *allocator, int w, int h, uint32_t min_image_count)
Definition: imgui_impl_vulkan.cpp:1156
ImVector
Definition: imgui.h:1227
ImTextureID
void * ImTextureID
Definition: imgui.h:123
ImDrawData
Definition: imgui.h:1979
ImGui_ImplVulkanH_GetMinImageCountFromPresentMode
IMGUI_IMPL_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode)
Definition: imgui_impl_vulkan.cpp:983
height
int height
Definition: bgfx.cpp:20
ImGui_ImplVulkanH_Window::FrameIndex
uint32_t FrameIndex
Definition: imgui_impl_vulkan.h:114
ImVec4::w
float w
Definition: imgui.h:194
ImGui_ImplVulkanH_Window::Swapchain
VkSwapchainKHR Swapchain
Definition: imgui_impl_vulkan.h:107
ImGui_ImplVulkanH_FrameRenderBuffers::VertexBufferMemory
VkDeviceMemory VertexBufferMemory
Definition: imgui_impl_vulkan.cpp:55
ImDrawCmd::UserCallback
ImDrawCallback UserCallback
Definition: imgui.h:1798
ImGui_ImplVulkan_InitInfo::MinImageCount
uint32_t MinImageCount
Definition: imgui_impl_vulkan.h:39
ImVec2::y
float y
Definition: imgui.h:181
ImGui_ImplVulkanH_Window::SurfaceFormat
VkSurfaceFormatKHR SurfaceFormat
Definition: imgui_impl_vulkan.h:109
ImGui_ImplVulkan_CreateFontsTexture
IMGUI_IMPL_API bool ImGui_ImplVulkan_CreateFontsTexture(VkCommandBuffer command_buffer)
Definition: imgui_impl_vulkan.cpp:435
ImGui_ImplVulkanH_Window::RenderPass
VkRenderPass RenderPass
Definition: imgui_impl_vulkan.h:111
IMGUI_IMPL_API
#define IMGUI_IMPL_API
Definition: imgui.h:60
intptr_t
_W64 int intptr_t
Definition: stdint.h:43
ImGui_ImplVulkanH_Frame::BackbufferView
VkImageView BackbufferView
Definition: imgui_impl_vulkan.h:91
ImGui_ImplVulkanH_Window::SemaphoreIndex
uint32_t SemaphoreIndex
Definition: imgui_impl_vulkan.h:116
ImVec4::y
float y
Definition: imgui.h:194
IM_FREE
#define IM_FREE(_PTR)
Definition: imgui.h:1212
ImGui_ImplVulkanH_DestroyWindow
void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance, VkDevice device, ImGui_ImplVulkanH_Window *wd, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1163
ImGui_ImplVulkanH_WindowRenderBuffers
Definition: imgui_impl_vulkan.cpp:65
ImGui_ImplVulkan_RenderDrawData
IMGUI_IMPL_API void ImGui_ImplVulkan_RenderDrawData(ImDrawData *draw_data, VkCommandBuffer command_buffer)
Definition: imgui_impl_vulkan.cpp:312
ImGui_ImplVulkan_Shutdown
void ImGui_ImplVulkan_Shutdown()
Definition: imgui_impl_vulkan.cpp:831
ImGui_ImplVulkan_CreateDeviceObjects
bool ImGui_ImplVulkan_CreateDeviceObjects()
Definition: imgui_impl_vulkan.cpp:587
ImGui_ImplVulkan_InitInfo::Allocator
const VkAllocationCallbacks * Allocator
Definition: imgui_impl_vulkan.h:42
ImDrawData::DisplaySize
ImVec2 DisplaySize
Definition: imgui.h:1987
ImGui_ImplVulkanH_WindowRenderBuffers::Index
uint32_t Index
Definition: imgui_impl_vulkan.cpp:67
ImVector::Size
int Size
Definition: imgui.h:1229
ImDrawCallback_ResetRenderState
#define ImDrawCallback_ResetRenderState
Definition: imgui.h:1786
ImDrawData::FramebufferScale
ImVec2 FramebufferScale
Definition: imgui.h:1988
ImGui_ImplVulkanH_Window::FrameSemaphores
ImGui_ImplVulkanH_FrameSemaphores * FrameSemaphores
Definition: imgui_impl_vulkan.h:118
IM_ASSERT
#define IM_ASSERT(_EXPR)
Definition: imgui.h:66
ImGui_ImplVulkanH_CreateWindow
void ImGui_ImplVulkanH_CreateWindow(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, ImGui_ImplVulkanH_Window *wd, uint32_t queue_family, const VkAllocationCallbacks *allocator, int width, int height, uint32_t min_image_count)
Definition: imgui_impl_vulkan.cpp:1156
ImGui_ImplVulkanH_Window::ImGui_ImplVulkanH_Window
ImGui_ImplVulkanH_Window()
Definition: imgui_impl_vulkan.h:120
ImDrawVert
Definition: imgui.h:1813
ImDrawCmd::ElemCount
unsigned int ElemCount
Definition: imgui.h:1793
ImVector::Data
T * Data
Definition: imgui.h:1231
ImGui_ImplVulkanH_WindowRenderBuffers::Count
uint32_t Count
Definition: imgui_impl_vulkan.cpp:68
ImGui_ImplVulkan_Init
IMGUI_IMPL_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo *info, VkRenderPass render_pass)
Definition: imgui_impl_vulkan.cpp:808
ImGui_ImplVulkan_InitInfo::DescriptorPool
VkDescriptorPool DescriptorPool
Definition: imgui_impl_vulkan.h:38
ImGui_ImplVulkan_InitInfo::Instance
VkInstance Instance
Definition: imgui_impl_vulkan.h:32
ImDrawData::TotalIdxCount
int TotalIdxCount
Definition: imgui.h:1984
ImGui_ImplVulkanH_DestroyFrameSemaphores
void ImGui_ImplVulkanH_DestroyFrameSemaphores(VkDevice device, ImGui_ImplVulkanH_FrameSemaphores *fsd, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1197
ImGui_ImplVulkan_DestroyDeviceObjects
void ImGui_ImplVulkan_DestroyDeviceObjects()
Definition: imgui_impl_vulkan.cpp:793
ImGui_ImplVulkanH_DestroyWindowRenderBuffers
void ImGui_ImplVulkanH_DestroyWindowRenderBuffers(VkDevice device, ImGui_ImplVulkanH_WindowRenderBuffers *buffers, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1214
ImGui_ImplVulkanH_DestroyFrameRenderBuffers
void ImGui_ImplVulkanH_DestroyFrameRenderBuffers(VkDevice device, ImGui_ImplVulkanH_FrameRenderBuffers *buffers, const VkAllocationCallbacks *allocator)
Definition: imgui_impl_vulkan.cpp:1204