You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Initialization data, for ImGui_ImplVulkan_Init()
88
100
// [Please zero-clear before use!]
89
101
// - About descriptor pool:
@@ -94,33 +106,39 @@ extern "C"
94
106
// - When using dynamic rendering, set UseDynamicRendering=true and fill PipelineRenderingCreateInfo structure.
95
107
structImGui_ImplVulkan_InitInfo_t
96
108
{
97
-
uint32_tApiVersion;// Fill with API version of Instance, e.g. VK_API_VERSION_1_3 or your value of VkApplicationInfo::apiVersion. May be lower than header version (VK_HEADER_VERSION_COMPLETE)
98
-
VkInstanceInstance;
99
-
VkPhysicalDevicePhysicalDevice;
100
-
VkDeviceDevice;
101
-
uint32_tQueueFamily;
102
-
VkQueueQueue;
103
-
VkDescriptorPoolDescriptorPool;// See requirements in note above; ignored if using DescriptorPoolSize > 0
104
-
uint32_tDescriptorPoolSize;// Optional: set to create internal descriptor pool automatically instead of using DescriptorPool.
105
-
uint32_tMinImageCount;// >= 2
106
-
uint32_tImageCount;// >= MinImageCount
107
-
VkPipelineCachePipelineCache;// Optional
109
+
uint32_tApiVersion; // Fill with API version of Instance, e.g. VK_API_VERSION_1_3 or your value of VkApplicationInfo::apiVersion. May be lower than header version (VK_HEADER_VERSION_COMPLETE)
110
+
VkInstanceInstance;
111
+
VkPhysicalDevicePhysicalDevice;
112
+
VkDeviceDevice;
113
+
uint32_tQueueFamily;
114
+
VkQueueQueue;
115
+
VkDescriptorPoolDescriptorPool; // See requirements in note above; ignored if using DescriptorPoolSize > 0
116
+
uint32_tDescriptorPoolSize; // Optional: set to create internal descriptor pool automatically instead of using DescriptorPool.
117
+
uint32_tMinImageCount; // >= 2
118
+
uint32_tImageCount; // >= MinImageCount
119
+
VkPipelineCachePipelineCache; // Optional
108
120
109
121
// Pipeline
110
-
VkRenderPassRenderPass; // Ignored if using dynamic rendering
111
-
uint32_tSubpass;
112
-
VkSampleCountFlagBitsMSAASamples; // 0 defaults to VK_SAMPLE_COUNT_1_BIT
122
+
ImGui_ImplVulkan_PipelineInfoPipelineInfoMain; // Infos for Main Viewport (created by app/user)
123
+
//VkRenderPass RenderPass; // --> Since 2025/09/26: set 'PipelineInfoMain.RenderPass' instead
124
+
//uint32_t Subpass; // --> Since 2025/09/26: set 'PipelineInfoMain.Subpass' instead
125
+
//VkSampleCountFlagBits MSAASamples; // --> Since 2025/09/26: set 'PipelineInfoMain.MSAASamples' instead
126
+
//VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo; // Since 2025/09/26: set 'PipelineInfoMain.PipelineRenderingCreateInfo' instead
113
127
114
128
// (Optional) Dynamic Rendering
115
-
// Need to explicitly enable VK_KHR_dynamic_rendering extension to use this, even for Vulkan 1.3 + setup PipelineRenderingCreateInfo.
116
-
boolUseDynamicRendering;
117
-
#ifdefIMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
118
-
VkPipelineRenderingCreateInfoKHRPipelineRenderingCreateInfo; // Optional, valid if .sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR
// Need to explicitly enable VK_KHR_dynamic_rendering extension to use this, even for Vulkan 1.3 + setup PipelineInfoMain.PipelineRenderingCreateInfo.
130
+
boolUseDynamicRendering;
131
+
120
132
// (Optional) Allocation, Debugging
121
-
constVkAllocationCallbacks*Allocator;
133
+
constVkAllocationCallbacks*Allocator;
122
134
void (*CheckVkResultFn)(VkResulterr);
123
-
VkDeviceSizeMinAllocationSize; // Minimum allocation size. Set to 1024*1024 to satisfy zealous best practices validation layer and waste a little memory.
135
+
VkDeviceSizeMinAllocationSize; // Minimum allocation size. Set to 1024*1024 to satisfy zealous best practices validation layer and waste a little memory.
// (Advanced) Use e.g. if you need to recreate pipeline without reinitializing the backend (see #8110, #8111)
136
154
// The main window pipeline will be created by ImGui_ImplVulkan_Init() if possible (== RenderPass xor (UseDynamicRendering && PipelineRenderingCreateInfo->sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR))
137
155
// Else, the pipeline can be created, or re-created, using ImGui_ImplVulkan_CreateMainPipeline() before rendering.
138
-
structImGui_ImplVulkan_MainPipelineCreateInfo_t
139
-
{
140
-
VkRenderPassRenderPass/* = VK_NULL_HANDLE */;
141
-
uint32_tSubpass/* = 0 */;
142
-
VkSampleCountFlagBitsMSAASamples/* = {} */;
143
-
#ifdefIMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
144
-
VkPipelineRenderingCreateInfoKHRPipelineRenderingCreateInfo; // Optional, valid if .sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR
// (Advanced) Use e.g. if you need to precisely control the timing of texture updates (e.g. for staged rendering), by setting ImDrawData::Textures = NULL to handle this manually.
Copy file name to clipboardExpand all lines: dcimgui/backends/imgui_impl_dx10.cpp
+14-10Lines changed: 14 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@
16
16
17
17
// CHANGELOG
18
18
// (minor and older changes stripped away, please see git history for details)
19
+
// 2025-09-18: Call platform_io.ClearRendererHandlers() on shutdown.
19
20
// 2025-06-11: DirectX10: Added support for ImGuiBackendFlags_RendererHasTextures, for dynamic font atlas.
20
21
// 2025-05-07: DirectX10: Honor draw_data->FramebufferScale to allow for custom backends and experiment using it (consistently with other renderer backends, even though in normal condition it is not set under Windows).
21
22
// 2025-01-06: DirectX10: Expose selected render state in ImGui_ImplDX10_RenderState, which you can access in 'void* platform_io.Renderer_RenderState' during draw callbacks.
0 commit comments