moonpower
31c2e522f5
cpu start
2026-03-15 12:33:32 +01:00
MoonPower and GitHub
413c8817d4
Merge branch 'ocornut:master' into sdl_cpu
2026-03-13 14:50:16 +01:00
moonpower
5ae4be2b5f
Refactor SDL surface backend for improved quad rendering and performance
...
- Introduced a new structure ImGui_ImplSDLSurface3_Quad to represent quads.
- Added functions to detect quads and check for constant colors and linear UVs.
- Enhanced rendering functions to utilize quad detection for faster rendering paths.
- Updated the rendering logic in ImGui_ImplSDLSurface3_RenderDrawData to leverage the new quad rendering capabilities.
- Optimized Makefiles and build scripts to include optimization flags for better performance.
2026-03-13 14:19:04 +01:00
moonpower
2f2b8a1226
Add SDL3 surface backend for ImGui example
...
- Created imgui_impl_sdlsurface3.h and corresponding implementation file.
- Added Makefile for building the SDL3 surface example on Linux and macOS.
- Included README.md with build instructions for Windows, Linux, and macOS.
- Added build script for Windows (build_win32.bat) and Visual Studio project files.
- Implemented main application logic in main.cpp to demonstrate ImGui with SDL3 and surface rendering.
2026-03-13 13:23:18 +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
Michael Böhme and ocornut
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
MoonPower and GitHub
655981382c
Merge branch 'ocornut:master' into sdl2_cpu
2026-03-11 20:08:43 +01:00
MaciejDziuban and ocornut
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 and ocornut
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
Seppo Räisänen and ocornut
dd5c604768
Backends: SDLGPU3: remove unnecessary call to SDL_WaitForGPUIdle when releasing vertex/index buffers. ( #9262 )
2026-02-25 18:08:27 +01:00
ocornut
2b415e642b
Backends: WebGPU: fixed Emscripten version check. ( #8381 )
...
Amend ff673d3 .
2026-02-24 17:49:08 +01:00
ocornut
ff673d31df
Backends: WebGPU: minor build fix for Emscripten 5.0.0 (note: our examples currently don't build with 5.0.1).
...
Getting 'warning: unused function 'CreateWGPUSurface' [-Wunused-function]' in some build paths.
cc #9246
2026-02-16 18:04:20 +01:00
ocornut
acdaaef625
Backends: further zealous warning fixes. ( #9247 )
2026-02-16 16:45:08 +01:00
Laurenz Altenmüller and ocornut
fbe973a8d0
Cast this to (void*) in zero-clearing memset calls to fix -Wnontrivial-memcall ( #9247 , #8295 , #8129 , #8135 )
...
Clang 20+ warns on memset(this, ...) for non-trivially copyable types via -Wnontrivial-memcall.
Should separately investigate -Wnonontrivial-memaccess vs -Wnonontrivial-memcall.
2026-02-16 16:29:00 +01:00
ocornut
9f2b3bcf7a
Backends: SDL2, SDL3: systems other than X11 are back to starting mouse capture on mouse down. Only X11 requires waiting for a drag by defaultadded ImGui_ImplSDL2_SetMouseCaptureMode(), ImGui_ImplSDL3_SetMouseCaptureMode(). ( #9235 , #3650 , #6410 , #3956 , #3835 )
...
Amend aa83d5d455
2026-02-13 16:01:08 +01:00
ocornut
9f30044333
Backends: GLFW: try to set IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND automatically if headers are not available. ( #9225 )
...
Amend/fix 10d0162378 for system without X11/Wayland headers. (#8921 , #8920 , #8969 )
2026-02-10 20:50:46 +01:00
tanksdude and GitHub
5fe48b6a0e
Docs: fixed some typos ( #9217 )
2026-02-10 16:40:52 +01:00
Ahmed Samy and ocornut
960aff24fc
Backends: Win32: use XInput Packet to avoid resubmitting gamepad data. ( #9202 , #8556 )
2026-01-28 15:30:49 +01:00
ocornut
c91bcea7a8
Backends: SDLGPU3: fixed missing release of TexSamplerNearest. ( #9196 )
...
Amend/fix 8b86c939c7
2026-01-25 13:30:28 +01:00
ocornut
8c0b410371
Docs: tweaks.
2026-01-20 18:25:18 +01:00
ocornut
8b86c939c7
Backends: DirectX10, DirectX11, SDLGPU3: added nearest sampler in ImGui_ImplDX10_RenderState/ImGui_ImplDX11_RenderState/ImGui_ImplSDLGPU3_RenderState struct.
...
(#6969 , #5834 , #7468 , #3590 , #9173 , #8926 , #7230 , #5118 , #3590 , #2973 , #6969 )
2026-01-19 13:02:25 +01:00
thedmd and ocornut
b933599f00
Backends: DirectX12: added helpers to switch to Linear sampler (yet not made public, but intended to be forward declared). ( #9173 )
2026-01-19 12:32:45 +01:00
MoonPower and GitHub
3ac70bb034
Merge branch 'ocornut:master' into sdl2_cpu
2026-01-15 19:58:58 +01:00
ocornut
21d3299e58
Backends: fixed reappearing uses to NULL to favor nullptr.
2026-01-15 16:09:01 +01:00
ocornut
d7598aa84f
Backends: SDL2, SDL3: changed GetClipboardText() handler to return NULL on error aka clipboard contents is not text. ( #9168 )
...
Consistent with other backends.
2026-01-15 16:08:18 +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
d1c5a66557
Backends: WebGPU: rework unsupported path into an assert. ( #9155 , #9156 )
2026-01-12 12:11:10 +01:00
ocornut
9ce41a92c3
Misc/shallow merges from docking branch to reduce small drift.
2026-01-08 14:31:25 +01:00
JD31 and ocornut
4ce188def8
Backends: WebGPU: clarify build failure when attempting to build with Dawn for iOS. ( #9155 , #9156 )
2026-01-07 17:25:41 +01:00
ocornut
69a501df6e
Backends: OpenGL3: call ImGui_ImplOpenGL3_InitLoader() in ImGui_ImplOpenGL3_CreateDeviceObjects() / ImGui_ImplOpenGL3_DestroyDeviceObjects(). ( #9112 )
2026-01-05 16:46:56 +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
f106ccd5fa
Backends: Vulkan: clarify ImGui_ImplVulkanH_Window members.
2026-01-05 16:38:01 +01:00
moonpower
a941c96d1f
Backends: Replace std::clamp with ImClamp to satisfy C++11
2025-12-26 03:37:07 +01:00
moonpower
189330241b
Backends: Remove redundant BackendFlags setting in SDL_Surface initialization
2025-12-26 02:51:18 +01:00
moonpower
b3c5626b1f
Backends: Initialize and shutdown renderer backend for SDL_Surface
2025-12-26 02:48:40 +01:00
moonpower
eeb20d048b
Backends: Improve pixel blending and surface format conversion in SDL_Surface
2025-12-25 00:25:31 +03:00
moonpower
b3008c0543
Backends: Enhance pixel manipulation functions for SDL_Surface
2025-12-25 00:03:50 +03:00
moonpower
f2703c1015
Backends: Start adding sdl2 surface
2025-12-24 23:17:37 +03:00
ocornut
4e7c05504a
Renamed IM_ARRAYSIZE() -> IM_COUNTOF(). Kept legacy name for now.
2025-12-17 14:30:01 +01:00
ocornut
bd6f48fe20
Backends: OpenGL3: Fixed embedded loader multiple init/shutdown cycles broken on some platforms. ( #8792 , #9112 )
2025-12-11 18:28:23 +01:00
ocornut
a07b2828ce
Backends: GLFW: add IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND. ( #9109 , #9116 )
...
cc #8884 , #8474 , #8289
2025-12-10 18:57:02 +01:00
ocornut
9a4fd69f6d
Backends: GLFW: avoid repeated glfwSetCursor()/glfwSetInputMode() calls when unnecessary.
2025-12-10 18:35:22 +01:00
ulhc and ocornut
d27dce58cd
Backends: Win32: handle WM_IME_CHAR/WM_IME_COMPOSITION messages to support Unicode inputs on MBCS Windows. ( #9099 , #3653 , #5961 )
2025-12-03 13:34:57 +01:00
ocornut
87b193399e
Backends: Win32: change param to MultiByteToWideChar() to be consistent (should be no-op?).
...
Amend 0a7054c7e4 (#5725 , #1807 , #471 , #2815 , #1060 + #9099 , #3653 , #5961 )
2025-12-03 13:30:59 +01:00
ocornut
75db81cf08
Backends: SDL_GPU3: select between metallib and MSL shaders based on availability. ( #9076 )
...
Amend fd887f5
2025-11-26 15:05:05 +01:00
Leon Lysak and ocornut
fd887f5241
Backends: SDL_GPU3: use MSL on macOS and MetalLib on iOS to fix shader compatibility. ( #9076 )
...
Edit original PR to keep metallib shader binary since next commit is going to use them.
2025-11-26 15:01:03 +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
6ae32c696a
Backends: fixed misc zealous Clang warnings.
2025-11-18 16:34:35 +01:00
ocornut
cfb48969af
Examples: CI: backtrack and make example_null embed backend: simpler for all sorts of quick build scripts.
2025-11-17 16:38:07 +01:00