Commit Graph

125 Commits

Author SHA1 Message Date
MaciejDziuban
decb5cdf10 Backends: Vulkan: added ImGui_ImplVulkan_PipelineInfo::ExtraDynamicStates. (#9211)
This new setting allows an application to force the pipeline created by vulkan backend to specify more dynamic states than just default viewport and scissor.
It is useful e.g. when using draw list callbacks, e.g. adding VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT to be able to use vkCmdSetColorBlendEquationEXT inside callbacks.
2026-03-11 17:00:47 +01:00
ocornut
acdaaef625 Backends: further zealous warning fixes. (#9247) 2026-02-16 16:45:08 +01:00
ocornut
21d3299e58 Backends: fixed reappearing uses to NULL to favor nullptr. 2026-01-15 16:09:01 +01:00
ocornut
9a6eb0ab25 Backends: Vulkan: ImGui_ImplVulkanH_DestroyWindow() oes not call vkDestroySurfaceKHR(): because surface is created by caller. (#9163)
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2026-01-14 19:37:05 +01:00
ocornut
9ce41a92c3 Misc/shallow merges from docking branch to reduce small drift. 2026-01-08 14:31:25 +01:00
ocornut
1dc1964d5b Backends: Vulkan: change ImGui_ImplVulkanH_Window::ClearEnable to fuller featured AttachmentDesc. (#9152) 2026-01-05 16:39:49 +01:00
ocornut
4e7c05504a Renamed IM_ARRAYSIZE() -> IM_COUNTOF(). Kept legacy name for now. 2025-12-17 14:30:01 +01:00
ocornut
3a45bae9dc Backends: Vulkan: helper for creating a swapchain selects VkSwapchainCreateInfoKHR's compositeAlpha based on cap.supportedCompositeAlpha. (#8784) 2025-11-24 18:11:23 +01:00
ocornut
c72d0b2cbb Backends: Vulkan: SwapChainImageUsage assume VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT which is added automatically. (#8946, #8110, #8111, #8686)
Merge bad3c14 which was accidentally only pushed to docking. No important side effect.
2025-10-23 21:04:48 +02:00
mwlasiuk
065f9e0269 Backends: Vulkan: added IMGUI_IMPL_VULKAN_VOLK_FILENAME. (#9008, #7722, #6582, #4854) 2025-10-16 20:36:30 +02:00
ocornut
fc4105c8a8 Backends: DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3: ensure that a texture in _WantDestroy state always turn to _Destroyed. (#8977)
Amend 9809b0b. Strictly speaking this is not necessary anymore but it seems generally sane to promote this.
2025-10-01 17:49:22 +02:00
ocornut
3470e6112b (Breaking) Backends: Vulkan: moved fields in ImGui_ImplVulkan_InitInfo: RenderPass, Subpass, MSAASamples, PipelineRenderingCreateInfo. (#8946, #8110, #8111, #8686) 2025-09-26 18:23:51 +02:00
ocornut
e312b99296 (Breaking) Backends: Vulkan: renamed ImGui_ImplVulkan_MainPipelineCreateInfo to ImGui_ImplVulkan_PipelineInfo. (#8110, #8111) 2025-09-26 18:18:33 +02:00
ocornut
cc0a6690bf Backends: Vulkan: minor internal renames/tweaks to reduce further patches. (#8946, #8110, #8111, #8686) 2025-09-26 18:12:47 +02:00
ocornut
5fe962216a (Breaking) Backends: Vulkan: added 'VkImageUsageFlags image_usage' parameter to ImGui_ImplVulkanH_CreateOrResizeWindow(). (#8946, #8110, #8111, #8686)
Default to VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT.
2025-09-26 18:12:47 +02:00
johan0A
01686c6294 Backends: Vulkan: added a way to specify custom vertex/fragment shaders. (#8585, #8271) 2025-09-26 15:44:02 +02:00
ocornut
d4f722d5b2 IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). (#8945, #2769) 2025-09-18 16:58:50 +02:00
ocornut
14e076c5bb Backends: Internal renaming of samplers. 2025-09-08 16:02:23 +02:00
fdsa
09ebcf1779 Docs: fixed mismatched parentheses & other small changes. (#8922) 2025-09-08 11:30:14 +02:00
ocornut
02af06ea5f Backends: Vulkan: rewrite pColorAttachmentFormats deep-copy to avoid issues when calling multiple times. (#8282, #8110) 2025-09-04 18:14:28 +02:00
ocornut
026d47cd35 Backends: Vulkan: store pColorAttachmentFormats deep-copy into an ImVector. (#8282, #8110) 2025-09-04 18:05:58 +02:00
ocornut
26aa81a8b1 Backends: Vulkan: misc amends (makes ImGui_ImplVulkan_MainPipelineCreateInfo::PipelineRenderingCreateInfo consistent with InitInfo). (#8110, #8111, #8053) 2025-09-04 18:05:15 +02:00
ocornut
1ecc34a0b1 Backends: Vulkan: misc amends (e.g. changelog, coding style). (8110, 8111, 8053)
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2025-09-04 18:04:20 +02:00
ocornut
ee03cef14f Backends: Vulkan: revert using a struct for ImGui_ImplVulkan_CreatePipeline() for now. (#8110, #8111, #8053) 2025-09-04 18:00:05 +02:00
Ronan Cailleau
e51d93e2f5 Backends: Vulkan: added ImGui_ImplVulkan_CreateMainPipeline(). (#8110, #8111, #8053)
- Added ImGui_ImplVulkan_CreateMainPipeline(...) to explicitly re-create the main window pipeline (when some of its properties are changed).
- Does not implicitly use ImGui_ImplVulkan_InitInfo::PipelineRenderingCreateInfo, but a function parameter.
- The main window pipeline is created only if possible during ImGui_ImplVulkan_Init(...) (if a render pass or rendering info are given), else it should be created with ImGui_ImplVulkan_ReCreateMainPipeline(...)
- ImGui_ImplVulkan_CreatePipeline now takes a struct rather than (too) many parameters (and returns the created pipeline).
2025-09-04 18:00:05 +02:00
Michael Böhme
90025a62c7 Backends: Vulkan: Avoid calling vkCmdBindDescriptorSets() when texture has not changed. (#8666) 2025-08-04 18:10:00 +09:00
Miolith
853a46e021 Backends: Vulkan: fixed texture update corruption introduced in 1.92.0. (#8801, #8755, #8840, #8465)
Fix abe294bfd0
2025-07-27 19:33:30 +09:00
ocornut
336d9212fc Backends: using range-for to iterate draw_data->CmdLists[]. 2025-07-11 17:41:52 +02:00
Moses Miller
032e1397d9 Backends: Vulkan: use separate barrier for buffer. (#8772) 2025-07-07 16:58:42 +02:00
Moses Miller
c2d9b07533 Backends: Vulkan: fixed texture synchronization. (#8772) 2025-07-07 16:58:41 +02:00
ocornut
495d6f1e39 Undef 'Status' in main header file. (#8751, #8765) 2025-07-07 14:56:50 +02:00
Thomas Quante
8e3aac5744 Backends: Vulkan: use nonCoherentAtomSize to align upload_size, fixing validation error on some setups. (#8743, #8744) 2025-06-27 16:32:17 +02:00
ocornut
e97e55adbc Backends: Fixed various warnings discovered when using MinGW GCC 15/Clang on latest backends.
dx12: 'ImGui_ImplDX12_Data* bd' shadowed local in spite of being in lambda.
2025-06-20 15:18:00 +02:00
ocornut
8d6e66d38c Backends: DX10, DX11, DX12, OpenGL3, Vulkan, WGPU: Assert when CreateDeviceObjects() calls return false. 2025-06-20 09:49:53 +02:00
Shawn Hatori
6b3cbb10a2 Backends: Vulkan: correct minimum pool size assertion (#8691) 2025-06-16 11:59:26 +02:00
ocornut
abe294bfd0 Backends: Vulkan: added ImGuiBackendFlags_RendererHasTextures support.
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2025-06-11 15:33:28 +02:00
ocornut
bf68040dc5 Backends: Vulkan: fixed build with VK_NO_PROTOTYPES.
Amend bbc89b6 (#8600)
2025-05-07 15:42:23 +02:00
ChrisTom-94
bbc89b6391 Backends: Vulkan: fixed validation errors during window detach in multi-viewport mode. (#8600, #8176) 2025-05-07 15:23:03 +02:00
ChrisTom-94
d1dc2a3298 Backends: Vulkan: Load dynamic rendering functions using vkGetDeviceProcAddr() + try both non-KHR and KHR versions. (#8600, #8326, #8365)
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	docs/CHANGELOG.txt
2025-05-07 11:50:32 +02:00
ocornut
974bf58a21 Backends: Vulkan: Build and warning fixes. (#8282) 2025-04-07 17:39:00 +02:00
ocornut
91652c317e Backends: Vulkan: Deep-copy ImGui_ImplVulkan_InitInfo::PipelineRenderingCreateInfo's pColorAttachmentFormats buffer when set, in order to reduce common user-error of specifying a pointer to data that gets out of scope. (#8282)
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	docs/CHANGELOG.txt
2025-04-07 16:40:14 +02:00
fdsa
3c3d943fb1 Docs: Fix some typos (#8473) 2025-03-09 16:42:16 +01:00
ocornut
ec4cd2cb8c Backends: Vulkan: Fixed crash with using no prototypes + *BREAKING* Added ApiVersion to ImGui_ImplVulkan_LoadFunctions(). (#8326, #8365, #8400) 2025-02-14 12:19:39 +01:00
ocornut
e1ae7db4cc Backends: Vulkan: Fixed building with older headers not supporting VK_HEADER_VERSION_COMPLETE. (#8326, #8365) 2025-02-13 16:03:40 +01:00
ocornut
890ead6a71 Backends: Vulkan: Added ApiVersion field in ImGui_ImplVulkan_InitInfo. Dynamic rendering path loads "vkCmdBeginRendering/vkCmdEndRendering" without -KHR on API 1.3. (#8326, #8365) 2025-02-13 15:40:49 +01:00
ocornut
dd89a3741b Backends: Vulkan: sharing duplicate code. (#5446, #8326) 2025-01-17 17:11:22 +01:00
ocornut
8ebf22d3c1 Backends: Vulkan: use ImVector<> for simplicity. 2025-01-15 16:21:16 +01:00
ocornut
0b8ff4b238 Backends, Examples: Vulkan: add IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE. use in descriptor pools sizes. (#6642) 2025-01-09 23:29:44 +01:00
ocornut
0514332474 Avoid clang/gcc warnings: -Wnontrivial-memaccess in backends. (#8295, #8129, #8135) 2025-01-08 11:44:00 +01:00
ocornut
cec8ff1885 Backends: Vulkan: Fixed building with using VK_NO_PROTOTYPES. (#8180)
Broken by a2e2172
2025-01-06 18:41:17 +01:00