Commit Graph

982 Commits

Author SHA1 Message Date
Michael Böhme
90025a62c7 Backends: Vulkan: Avoid calling vkCmdBindDescriptorSets() when texture has not changed. (#8666) 2025-08-04 18:10:00 +09:00
ocornut
34debc733f Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	imgui.h
2025-07-27 20:35:25 +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
fe1cee0837 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
2025-07-22 18:38:50 +09:00
Tim-Rex
4a51295c9e Backends: OpenGL3: add and call embedded loader shutdown in ImGui_ImplOpenGL3_Shutdown(). (#8792)
Include update of imgui_impl_opengl3_loader.h as submitted to gl3w_stripped repository, which adds imgl3wShutdown().
2025-07-22 16:46:35 +09:00
ocornut
643f0e3abf Backends: OpenGL3: restore update path on non-WebGL non-ES targets that doesn't require a CPU copy. (#8802, #8465)
Amend/fix dbb91a5
2025-07-15 14:34:40 +02:00
ocornut
8744d10235 Backends: OpenGL2, OpenGL3: set GL_UNPACK_ALIGNMENT to 1 before updating textures. (#8802) 2025-07-15 14:30:50 +02:00
ocornut
336d9212fc Backends: using range-for to iterate draw_data->CmdLists[]. 2025-07-11 17:41:52 +02:00
ocornut
c99ac2451f Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_vulkan.cpp
2025-07-08 17:25:22 +02:00
Pascal Thomet
18dca11dd0 Backends: GLFW, SDL2: ImplXXX_GetContentScaleXXX() helpers return 1.0f on emscripten / apple / android (#8742, #8733)
We can divide platforms into two cases based on how they report screen geometry:
- Case 1: Platforms which report screen size in "physical pixels": Windows (for "Dpi aware" apps), Linux (with Wayland)
- Case 2: Platforms which report screen size in "density-independent pixels": macOS, iOS, Android, emscripten

As a consequence, there are two important things we need to know:
- FramebufferScale: The scaling factor FrameBufferSize / ScreenSize
  - In case 1, the framebuffer size is equal to the screen size and DisplayFramebufferScale=1.
  - In case 2, the framebuffer size is equal to the screen size multiplied by a factor, for example DisplayFramebufferScale=2.
- ContentScale The scaling factor for the content that we will display
  - In case 1, the content scale will often need to be > 1 (e.g., 2), because we will need to display bigger elements so that they show with a correct physical size on the screen.
  - In case 2, the content scale is equal to 1
This commit fixes ContentScale for platforms in case 2.
2025-07-08 15:53:42 +02:00
ocornut
ee8fd5325a Backends: OSX: Fixed multi-viewport handling broken in 1.92.0. (#8644, #8777) 2025-07-08 13:38:37 +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
57a93e1a19 Backends: Allegro5: fixed texture update broken on some platforms where ALLEGRO_LOCK_WRITEONLY needed all texels to be rewritten. (#8770) 2025-07-07 15:36:24 +02:00
ocornut
495d6f1e39 Undef 'Status' in main header file. (#8751, #8765) 2025-07-07 14:56:50 +02:00
ocornut
92e2df5978 Merge branch 'master' into docking 2025-06-30 21:18:46 +02:00
ocornut
d99ab9f903 Backends: SDL2: undef Status for X11. (#8751) 2025-06-28 17:15:18 +02:00
ocornut
3ec62dfeff Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_osx.h
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	imgui.h
2025-06-27 16:59:03 +02:00
morrazzzz
fff47f1119 Backends: SDL3: avoid calling SDL_StartTextInput() again if already active. (#8727) 2025-06-27 16:35:59 +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
Christian Fillion
22ad62c90c Backends: OSX: added ImGuiMouseCursor_Wait and ImGuiMouseCursor_Progress mouse cursor support. (#8739)
Yet another undocumented standard cursor.
Amend 8a35386.
2025-06-27 13:35:03 +02:00
Stanislav Vasilev
3f0699cf02 Backends: Vulkan: Fix failing assertion for platforms where viewports are not supported (#8734) 2025-06-26 20:31:46 +02:00
ocornut
adfa5364cd Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdlgpu3.cpp
#	imgui.cpp
2025-06-25 18:27:19 +02:00
ocornut
dcf14505e2 Backends: SDLGPU: fixes call to SDL_MapGPUTransferBuffer(). Fixes artifacts on OSX/Metal. (#8465, #8703) 2025-06-25 15:48:56 +02:00
ocornut
e4bba0b53c Merge branch 'master' into docking 2025-06-24 19:10:26 +02:00
Geert Bleyen
04a5b9c2cf Backends: SDL3: fixed pulling SDL_PROP_WINDOW_COCOA_WINDOW_POINTER into viewport->PlatformHandleRaw. (#8725, #8726)
SDL_VIDEO_DRIVER_COCOA does not exist on SDL3.
2025-06-24 18:14:39 +02:00
ocornut
efe2b21a5f Backends: GLFW: Fixed not installing WndProc hook in all GLFW version, so AddMouseSourceEvent() logic was missing for some viewports. 2025-06-21 20:10:18 +02:00
ocornut
e132b444a9 Backends: GLFW: Fixed crash when using GLFW 3.3 (#8713, #8676, #8239, #8069)
Amend 2a8c75f
2025-06-21 20:04:42 +02:00
ocornut
4fde473f38 Backends: warning fixes (for docking branch). 2025-06-20 15:24:52 +02:00
ocornut
afe20dc9b6 Backends: warning fix. 2025-06-20 15:23:52 +02:00
ocornut
b580c11303 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl2.cpp
2025-06-20 15:19:36 +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
9a50c09172 Bsckends: SDL2, GLFW: fixed ImGui_ImplXXXX_GetContentScaleXXX functions never using SDL 2.0.4 & GLFW 3.3 path in master.
Amend 9da3e6696a, 8269924c (was broken for master)
2025-06-20 14:38:33 +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
ocornut
f7dabede8b Backends: Allegro5: Fixed missing invisible mouse cursor, broken by ee8941e0d. 2025-06-20 09:49:53 +02:00
PlayDay
725d185a31 Backends: DirectX12: fixed build on MinGW. (#8702, #4594) 2025-06-19 20:10:39 +02:00
ocornut
2a8c75f3e6 Backends: GLFW: amend for multi-context support with multi-viewport. (#8676, #8239, #8069) 2025-06-18 17:01:49 +02:00
ocornut
c2c38beec8 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_glfw.h
2025-06-18 16:55:20 +02:00
ocornut
f633a60581 Backends: GLFW: Added support for multiple Dear ImGui contexts. (#8676, #8239, #8069) 2025-06-18 16:46:37 +02:00
ocornut
d290e583c5 Backends: GLFW: fixed WndProc relying on current context. (#8676, #8239, #8069)
This makes the backend closer to support multi-context.
2025-06-18 16:39:57 +02:00
ocornut
344d5ff4b7 Merge branch 'master' into docking 2025-06-17 20:15:12 +02:00
Shawn Hatori
6b3cbb10a2 Backends: Vulkan: correct minimum pool size assertion (#8691) 2025-06-16 11:59:26 +02:00
ocornut
d896eab166 Backends: OSX: ImGui_ImplOSX_HandleEvent() only process event for window containing our viewports. Amend 7ac99a4 for docking. (#8644) 2025-06-13 17:48:20 +02:00
ocornut
4cf85ee543 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_wgpu.cpp
#	backends/imgui_impl_wgpu.h
2025-06-13 17:43:30 +02:00
ocornut
7ac99a4366 Backends: OSX: ImGui_ImplOSX_HandleEvent() only process event for window containing our view. (#8644) 2025-06-12 15:44:18 +02:00
ocornut
571dae9664 Backends: WGPU: added ImGuiBackendFlags_RendererHasTextures support. (#8465) 2025-06-12 15:31:51 +02:00
ocornut
b178fd4286 Backends: WebGPU: moved sampler creation out of ImGui_ImplWGPU_CreateFontsTexture(). 2025-06-12 14:55:46 +02:00
ocornut
7d70c0ff9f Merge branch 'master' into docking 2025-06-11 20:53:33 +02:00
ocornut
e43fd75378 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_dx12.cpp
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_sdlgpu3.cpp
#	backends/imgui_impl_sdlgpu3.h
#	backends/imgui_impl_wgpu.cpp
#	backends/imgui_impl_wgpu.h
#	imgui.cpp
2025-06-11 19:04:44 +02:00
ocornut
df068ce11e Various/misc fixes following back-and-forth dynamic_fonts->master->docking merges. Added missing API BREAKING CHANGES section. 2025-06-11 18:50:16 +02:00