Commit Graph

993 Commits

Author SHA1 Message Date
ocornut
1f020e526a Backends: Vulkan: ImGui_ImplVulkan_CreatePipeline() for secondary viewport always use the RenderPass created by the ImGui_ImplVulkanH_CreateOrResizeWindow(). (#8946, #8110) 2025-09-29 15:28:38 +02:00
ocornut
bad3c14ff6 Backends: Vulkan: SwapChainImageUsage assume VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT which is added automatically. (#8946, #8110, #8111, #8686)
Amend e4e3c2c.
2025-09-29 14:57:03 +02:00
ocornut
e4e3c2cc23 Backends: Vulkan: amends for docking. Add PipelineInfoForViewports and SwapChainImageUsage. (#8946, #8110, #8111, #8686) 2025-09-26 18:46:17 +02:00
ocornut
f3e85310e7 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	backends/imgui_impl_vulkan.h
#	docs/CHANGELOG.txt
2025-09-26 18:33:38 +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
David Maas
15c88c4941 Backends: DX10, DX11, DX12: Disabled DXGI's Alt+Enter default behavior on secondary viewports. (#4350)
Removed use of DXGI_MWA_NO_PRINT_SCREEN from original PR.
2025-09-25 17:30:32 +02:00
ocornut
940627d008 Backends: SDL2: Fixed build for Emscripten and SDL_HAS_CAPTURE_AND_GLOBAL_MOUSE=0 platforms.
Amend e06b5df.
2025-09-24 15:29:00 +02:00
ocornut
719ea9c228 Comments 2025-09-24 15:00:24 +02:00
ocornut
e285ecca09 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx11.cpp
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_sdlgpu3.cpp
#	backends/imgui_impl_vulkan.cpp
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
#	imgui.h
2025-09-24 14:54:46 +02:00
ocornut
f61a7ef222 Backends: SDL2,SDL3: avoid using the SDL_GetGlobalMouseState() path when one of our window is hovered. Fix mouse coordinate issue in fullscreen apps with macOS notch + better X11 perfs. (#7919, #7786) 2025-09-24 14:48:33 +02:00
ocornut
e06b5dfe12 Backends: SDL2,SDL3: Shallow tweaks.
Toward fallback focused mouse handler to be a closer match docking version.
2025-09-24 14:41:10 +02:00
ocornut
5f6eaa5278 Backends: Win32: minor optimization not submitting gamepad input if packet number has not changed. (#8556)
To be honest I don't believe this is valuable as an optimization, but it makes debug stepping a little nicer.
2025-09-23 16:30:07 +02:00
Olivier Gerard
e639ff392c Backends: Vulkna: added ImGui_ImplVulkan_GetWindowDataFromViewport() accessor/helper. (#8946, #8940) 2025-09-22 21:46:43 +02:00
ocornut
301e652376 Backends: OpenGL3: fixed GL loader to work on Haiku OS which does not support. (#8952) 2025-09-22 16:04:59 +02:00
ocornut
a1c0836bec Viewports: changed default value of io.ConfigViewportsNoDefaultParent to true. (#8948, #3152, #2871) 2025-09-22 15:56:10 +02:00
ocornut
aa9476a38a IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). (#8945, #2769)
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx11.cpp
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_dx9.cpp
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_sdlgpu3.cpp
#	backends/imgui_impl_vulkan.cpp
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	imgui.h
2025-09-18 17:02:44 +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
3dd51651e3 Backends: DX12: rename internal functions to match other backends. 2025-09-18 16:51:40 +02:00
ocornut
34bff4672c Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	docs/CHANGELOG.txt
#	examples/example_glfw_metal/main.mm
#	examples/example_glfw_opengl2/main.cpp
#	examples/example_glfw_vulkan/main.cpp
#	examples/example_win32_opengl3/main.cpp
#	examples/example_win32_vulkan/main.cpp
#	imgui.h
2025-09-17 18:48:39 +02:00
ocornut
6274ca4266 Backends: GLFW: fixed build for Emscripten which doesn't expose glfw3native.h.
Amend 10d0162
2025-09-15 19:28:01 +02:00
ocornut
d92c8c6aff Backends: SDL2: Content Scales are always reported as 1.0 on Wayland. (#8921)
SDL_GetDisplayDPI() seems generally broken on X11/Wayland, but our logs shows that on Wayland we get both a content scale from SDL_GetDisplayDPI() and a framebuffer scale.
2025-09-15 19:20:56 +02:00
ocornut
72c00f39c1 Backends: GLFW: fix ImGui_ImplGlfw_IsWayland() amend broken 10d0162. (#8921, #8920)
Accidentally broke this while shuffling code...
2025-09-15 19:16:05 +02:00
ocornut
2675b7ca26 Backends: GLFW: Content Scales always reported as 1.0 on Wayland, FramebufferScale always reported as 1.0 on X11. (#8920, #8921) 2025-09-15 18:55:09 +02:00
ocornut
10d0162378 Backends: GLFW: added ImGui_ImplGlfw_IsWayland(). (#8921, #8920)
(technically presently untested but we've researched this)
2025-09-15 18:40:22 +02:00
ocornut
22a6a83c54 Backends: SDL3: use SDL_GetWindowDisplayScale() on Mac to output DisplayFrameBufferScale. The function is more reliable during resolution changes e.g. going fullscreen. (#8703, #4414) 2025-09-15 15:16:42 +02:00
ocornut
a4cd45f44c Backends: GLFW: fixed imgui_impl_glfw.cpp being affected by X headers '#define Status' leak since 6b2cdf2. (#8884) 2025-09-12 19:51:31 +02:00
ocornut
37b18acdf5 Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11). Amends. (#8884, #8474, #8289) 2025-09-10 20:28:30 +02:00
ikos3k
6b2cdf29bc Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11) (#8884, #8474, #8289)
- Implement _NET_WM_WINDOW_TYPE_DIALOG for viewports
- Fix override_redirect for proper WM control
- Tested on i3wm and xfce4
2025-09-10 20:04:04 +02:00
ocornut
3dcd17f402 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx12.cpp
2025-09-10 19:02:44 +02:00
ocornut
2841c5135d Backends: OpenGL3: add GL_NEAREST and samplers functions in loader. 2025-09-08 17:24:39 +02:00
ocornut
bf52f4a83c Backends: OpenGL3: added HasBindSampler storage for readability and consistency. 2025-09-08 17:23:48 +02:00
ocornut
14e076c5bb Backends: Internal renaming of samplers. 2025-09-08 16:02:23 +02:00
ocornut
ab760992ad Merge branch 'master' into docking 2025-09-08 13:35:24 +02:00
fgungor
bed08daede Backends: SDLGPU3: fixed double assignment. (#8924) 2025-09-08 11:32:38 +02:00
fdsa
09ebcf1779 Docs: fixed mismatched parentheses & other small changes. (#8922) 2025-09-08 11:30:14 +02:00
ocornut
a959617d2e Backends: Vulkan: rewrite pColorAttachmentFormats deep-copy to avoid issues when calling multiple times. (#8282, #8110) 2025-09-04 18:14:59 +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
Ronan Cailleau
f937a32742 Backends: Vulkan: added ImGui_ImplVulkan_CreateMainPipeline() - amend for docking branch. (8110, 8111, 8053) 2025-09-04 18:06:46 +02:00
ocornut
fdcd351488 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2025-09-04 18:06:35 +02:00
ocornut
026d47cd35 Backends: Vulkan: store pColorAttachmentFormats deep-copy into an ImVector. (#8282, #8110) 2025-09-04 18:05:58 +02:00
ocornut
c63714822f Backends: Vulkan: reorder InitInfo fields. 2025-09-04 18:05:15 +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
ocornut
4d216d4510 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdlgpu3.cpp
2025-08-27 18:57:56 +02:00