ocornut
417f5ed66d
Merge branch 'master' into docking
2026-04-24 17:36:26 +02:00
ocornut
bda49826cf
Backends: OpenGL3: build fix for WebGL/ES2/Emscripten. ( #9378 )
...
Amend 6b05f71 which was incorrectly labelled.
2026-04-24 12:26:21 +02:00
ocornut
a31071573b
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_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlrenderer2.cpp
# backends/imgui_impl_sdlrenderer2.h
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2026-04-23 22:11:04 +02:00
ocornut
6b05f711fd
Backends: WebGPU: build fix for WebGL/ES2.
2026-04-23 22:06:42 +02:00
ocornut
86ebb3bc11
Backends: removed samplers from ImGui_ImplDX10_RenderState, ImGui_ImplDX11_RenderState + fixed all Changelogs. ( #9378 )
2026-04-23 22:03:11 +02:00
ocornut
7e7f3adb80
Removed DrawCallback_SetSamplerCustom feature for now. Too unreliable to get working everywhere. ( #9378 )
2026-04-23 21:50:52 +02:00
ocornut
dfe6f9ebca
Backends: WebGPU: added SetSamplerLinear/Nearest draw callbacks. ( #9378 )
2026-04-23 21:50:50 +02:00
ocornut
37952fb3b8
Backends: Vulkan, SDLGPU3: remove samplers from RenderState. ( #9378 )
...
Revert part of ac261203a5 , 9ee3d731b5 (#8866 , #8163 , #7998 , #7988 ) since we have a better solution.
2026-04-23 21:50:47 +02:00
omar
0a811e8ea1
Backends: DX9, DX10, DX11, DX12, Allegro5, OpenGL2, OpenGL3, SDLRenderer2, SDLRenderer3, SDLGPU3, Vulkan: added standard draw callbacks when possible. ( #9378 )
2026-04-23 21:50:45 +02:00
ocornut
a6a16cf8a2
Backends: WebGPU: protect better against zero tex id.
2026-04-23 20:50:34 +02:00
ocornut
e887098740
Backends: WebGPU: always use SPIR-V shader on WGVK, as it cannot be detected at runtime. ( #9316 , #9246 , #9257 )
2026-04-23 19:42:29 +02:00
ocornut
ce3fe4078a
Backends: WGPU: fixed build.
...
Incorrect line from a WIP branch slipped in ac06ad7
2026-04-23 17:31:14 +02:00
ocornut
f2f843c113
Fixed some extremely zealous warnings (GCC -Wconversion, -Wdouble-promotion)
...
(amend a1e0552 )
2026-04-23 17:23:43 +02:00
ocornut
adc0027912
Backends: Vulkan: remove unused artefacts (mistakenly commited in 0453ae9).
2026-04-23 16:08:11 +02:00
ocornut
dee5bf3ec3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.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_vulkan.cpp
# imgui.cpp
2026-04-23 16:07:01 +02:00
ocornut
ac06ad7b48
ImDrawList: made AddCallback() user data default to NULL + minor amends/comments.
2026-04-23 15:58:44 +02:00
ocornut
b065713cec
Backends: OpenGL2/3, SDLRenderer2/3, DirectX9, Metal: moved Init/Shutdown code lower in the file.
...
Allows to point to local functions without forward declaring them.
2026-04-23 15:53:28 +02:00
ocornut
ac261203a5
(Breaking) Backends: Vulkan: redesigned to use separate ImageView + Sampler instead of Combined Image Sampler. (fixes, amends) ( #914 )
2026-04-22 14:43:44 +02:00
yaz0r
0453ae96e8
(Breaking) Backends: Vulkan: redesigned to use separate ImageView + Sampler instead of Combined Image Sampler. (WIP) ( #914 )
2026-04-22 14:43:44 +02:00
ocornut
a5fd597be3
Backends: Vulkan: minor changes.
2026-04-22 14:23:42 +02:00
ocornut
2d131ef5b7
Backends: Vulkan: renaming and moving code around to reduce diff in upcoming change. Should be no-op.
2026-04-21 22:22:06 +02:00
ocornut
a1e05521e9
Backends: GLFW: added a Win32-specific implementation of ImGui_ImplGlfw_GetContentScaleXXXX functions for legacy GLFW 3.2. ( #9003 )
...
Since we ship GLFW 3.2 binaries for Windows this makes our examples a little better behaving by default.
Ideally we'd use ImGui_ImplWin32_GetDpiScaleForHwnd() and ImGui_ImplWin32_GetDpiScaleForMonitor() but they are too much code to copy.
2026-04-21 17:24:41 +02:00
ocornut
329c5a6b3b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_sdl2.cpp
2026-04-16 15:29:57 +02:00
ocornut
0e318a5182
Backends: SDL2: Made ImGui_ImplSDL2_GetContentScaleXXX helpers return a minimum of 1.0f, as some Linux setup seems to report <1.0f value and this breaks scaling border size. ( #9369 )
2026-04-16 11:32:07 +02:00
Andy Grundman
4b80d409e7
Backends: Metal: use a dedicated bufferCacheLock to avoid crashing when bufferCache is replaced by a new object while being used for synchronize(). ( #9367 )
...
This also removes the dispatch onto main when adding the finished buffers back into the cache. This operation should be fine to run on any thread as long as it's inside the sync block.
2026-04-14 17:14:08 +02:00
ocornut
bbcc83e999
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
2026-04-08 21:40:40 +02:00
hunam
49df3116bc
Backends: Metal: avoid redundant vertex buffer bind in SetupRenderState. ( #9343 )
2026-04-03 19:14:23 +02:00
ocornut
fe5c5298a6
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.h
2026-03-31 21:48:34 +02:00
ocornut
64f88934a7
Viewports: only apply AdjustWindowRectExForDpi() when Per-Monitor DPI Aware V2. Amend 54a865e. ( #8897 )
...
Arghhh.
2026-03-31 20:23:28 +02:00
ocornut
54a865e472
Viewports: fixed setting/getting correct size when viewports have OS decorations (e.g. io.ConfigViewportsNoDecoration = false) and process is running in Per-Monitor V2 DPI mode. ( #8897 )
2026-03-31 17:56:56 +02:00
JoshBot-Debug
b003a85143
Backends: Vulkan: use a single call to vkCmdPushConstants(). ( #9183 , #9327 )
2026-03-31 16:07:46 +02:00
ocornut
8d8892ce0e
Backends: SDL3: use SDL_HAS_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED (SDL 3.4.0+) when available to avoid refreshing monitor work area every frame on Windows. ( #8415 )
2026-03-25 17:25:32 +01:00
ocornut
59183cf782
Backends, Examples: WebGPU: added support for WGVK. Remaining amends. ( #9316 , #9246 , #9257 )
2026-03-25 15:31:39 +01:00
r-lyeh
59780020f6
Backends, Examples: WebGPU: added support for WGVK. ( #9316 , #9246 , #9257 )
...
Squashed: minified SPIRV binaries by stripping strings + emitting in binary_to_compressed_c.
2026-03-25 15:31:35 +01:00
ocornut
51f590a2a8
Backends: GLFW: mouse cursor is properly restored if changed by user app/code while using glfwSetInputMode(..., GLFW_CURSOR_DISABLED) or ImGuiConfigFlags_NoMouseCursorChange. ( #9322 )
...
Amend 9a4fd69f6
2026-03-25 14:17:29 +01:00
ocornut
79411a0405
Backends, Examples: WebGPU: fixed warnings + scale initial surface height for native.
2026-03-23 16:21:50 +01:00
ocornut
e05bd9deb9
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2026-03-20 16:37:35 +01:00
ocornut
386ce49c58
Backends: DirectX9: fixed build typo in 0500e54.
2026-03-19 18:17:35 +01:00
ocornut
358d3912c9
Backends: SDLRenderer2/3: fixed build, typo in 0500e54.
2026-03-19 12:34:11 +01:00
ocornut
0500e546b5
Backends: DX9, Metal, SDLRenderer2/3: fixed more assumptions that ImTextureID_Invald == 0 + Amend Changelogs. ( #9310 , #9293 )
2026-03-19 11:47:01 +01:00
Starman
7fc3092870
Backends: SDLGPU3: Prevent DestroyTexture from deleting invalid textures if ImTextureID_Invalid != 0. ( #9310 , #9293 )
...
Amend 0db5919
2026-03-19 11:31:48 +01:00
ocornut
60d7fb207e
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2026-03-13 17:09:34 +01:00
ocornut
6dbda97fee
Backends: OpenGL2, OpenGL3, SDLRenderer3: replaced erroneous IM_ASSERT(tex->TexID == 0) calls. ( #9295 , #9293 )
...
Amend/fix 0db5919 which revealed this.
2026-03-12 19:29:39 +01:00
ocornut
80f8298769
Backends: Vulkan: fixed warning.
2026-03-11 22:07:56 +01:00
Michael Böhme
7546f1eb16
Backends: Vulkan: ImGui_ImplVulkan_AddTexture() skips updating descriptor_set if failing to allocate. ( #8677 )
...
Reduce error surface to the check_vk_result() call.
2026-03-11 21:22:50 +01:00
ocornut
8f63c3691d
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
# imgui_demo.cpp
2026-03-11 21:07:46 +01:00
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
83fa0ae263
Backends, Examples: removed Emscripten < 4.0.10 support. Removed IMGUI_IMPL_WEBGPU_BACKEND_WGPU. Amends. ( #9281 , #8381 )
2026-03-09 16:18:59 +01:00
Yan Pujante
e92820db2a
Backends, Examples: removed Emscripten < 4.0.10 support. Removed IMGUI_IMPL_WEBGPU_BACKEND_WGPU. ( #9281 , #8381 )
...
- This commit removes the option of using -sUSE_WEBGPU=1 from CMake and make
- Compiling with a version of Emscripten >= 4.0.10 will work the same way as it was before
- Compiling with a version of Emscripten < 4.0.10 will print an error message and abort the build (in the case of CMake)
- Since there can only be 1 implementation for the backend in the case of Emscripten, this commit cleans the code accordingly
2026-03-09 15:45:34 +01:00
ocornut
aeaaee8090
Backends: SDL2, SDL3: fixed an issue in 06c2c9f45 causing ImGuiBackendFlags_HasMouseHoveredViewport to never be set. ( #9284 )
2026-03-09 14:42:00 +01:00