Turtle Dove
155170262a
Backends: DX9, Allegro5, SDLRenderer2, SDLRenderer3: Defer texture destruction until UnusedFrames > 0 ( #8597 , #9475 )
...
These four backends were missing the UnusedFrames > 0 check in their
UpdateTexture() WantDestroy branch, inconsistent with all other backends
(OpenGL2, OpenGL3, DX10, DX11, DX12, Vulkan, WGPU, SDLGPU3) which already
defer destruction until the texture is no longer in flight.
This is a potential use-after-free in multi-threaded/staged rendering
pipelines where the UI thread may destroy a texture while the render thread
is still drawing with it. Per #8597 guidance: backends should defer
destroying by the amount of in-flight frames in their rendering pipeline.
The fix adds '&& tex->UnusedFrames > 0' to the WantDestroy condition,
matching the exact pattern used by OpenGL3, DX10, DX11, WGPU, and SDLGPU3.
Companion to #9475 (OpenGL2 fix, already merged).
2026-07-17 11:25:20 -05:00
ocornut
bad1ee71f8
Backends: SDL_Renderer3: fixed changing scale mode not actually working on all platforms. ( #7616 , #9470 , #9378 )
2026-07-15 13:44:03 +02:00
ShiroKSH
003ee19d9e
Backends: SDL_Renderer3: fixed default sampler not being Linear. ( #7616 , #9470 , #9378 )
2026-07-15 13:44:01 +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
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
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
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
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
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
d4f722d5b2
IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). ( #8945 , #2769 )
2025-09-18 16:58:50 +02:00
ocornut
336d9212fc
Backends: using range-for to iterate draw_data->CmdLists[].
2025-07-11 17:41:52 +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
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
ocornut
e538883a20
Backends: SDL_Renderer3: added ImGuiBackendFlags_RendererHasTextures support.
2025-06-11 15:38:13 +02:00
fdsa
4f1d3809c3
Fixed tabs and spaces ( #8377 )
2025-02-06 19:54:43 +01:00
ocornut
8b0af7fddc
Backends: SDL: update comments regarding API stability, regarding SDL_GPU and SDL_Renderer.
2025-01-20 14:30:40 +01:00
Daniel K. O. (dkosmari)
aa23f3801b
Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match SDL_Color. ( #8327 )
2025-01-18 17:26:36 +01:00
ocornut
43fbd7ce84
Backends: standardized top of file comments.
2024-12-05 12:43:04 +01:00
ocornut
566558b17c
Replacing NULL with nullptr in examples/backends when they creeped back. ( #6313 , #7071 , #4537 )
2024-12-05 12:25:02 +01:00
ocornut
a0b811dd37
Backends: SDLRenderer2/3: expose selected state in ImGui_ImplXXXX_RenderState structures during render loop. ( #6969 , #5834 , #7468 , #3590 + #7616 )
2024-10-09 16:39:36 +02:00
ocornut
9bd5d8a240
Backends: misc renaming of locals. Use 'draw_list' instead of 'cmd_list'. Avoid using 'ctx'.
...
This is likely to trigger merging issues. If it does, best to always get "theirs" and rename in there.
2024-10-07 17:57:11 +02:00
ocornut
0af2c4ef76
Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TIMER removal. ( #7999 )
2024-09-19 16:02:23 +02:00
ocornut
4832027eb6
Examples: SDL3: Update for API changes: SDL_Init() returns 0 on failure.
2024-09-03 19:11:51 +02:00
ocornut
751bbf38ba
Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes.
2024-07-01 12:07:59 +02:00
ocornut
5d973a87d4
Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
2024-05-15 13:44:54 +02:00
ocornut
5e23680454
Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. ( #7568 )
2024-05-13 15:07:13 +02:00
ocornut
d15574ce2a
Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! ( #6275 )
...
Better standardized similar checks in other backends.
2024-05-07 16:53:03 +02:00
ocornut
2af01baffd
Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
...
https://github.com/libsdl-org/SDL/issues/9029
2024-02-12 14:57:39 +01:00
ocornut
ab522dd18c
Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. ( #4537 )
2023-11-09 16:44:39 +01:00
ocornut
357f752bed
Docs: add more links to the top of every examples and backends files.
2023-09-11 14:01:40 +02:00
ocornut
0e8eb8c48e
Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
...
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
33e13c85e1
Backends: Made all backends sources files support global IMGUI_DISABLE. ( #6601 )
2023-07-13 11:27:52 +02:00
ocornut
b476184574
Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. ( #6286 )
2023-05-30 20:36:07 +02:00
Andrea Carcone
0b57c07c79
Backends: SDL3: Add SDL_Renderer for SDL3 implementation. ( #6286 )
...
This is mostly a duplicate of SDL2 version with a few changes:
SDL_GetRenderScale -> SDL_RenderGetScale
SDL_ScaleModeLinear -> SDL_SCALEMODE_LINEAR
2023-05-30 20:30:30 +02:00