|
@@ -41,50 +41,53 @@ HOW TO UPDATE?
|
|
|
|
|
|
Breaking Changes:
|
|
Breaking Changes:
|
|
|
|
|
|
-- Backends: Vulkan: moved some fields in ImGui_ImplVulkan_InitInfo:
|
|
|
|
- init_info.RenderPass --> init_info.PipelineInfoMain.RenderPass
|
|
|
|
- init_info.Subpass --> init_info.PipelineInfoMain.Subpass
|
|
|
|
- init_info.MSAASamples --> init_info.PipelineInfoMain.MSAASamples
|
|
|
|
- init_info.PipelineRenderingCreateInfo --> init_info.PipelineInfoMain.PipelineRenderingCreateInfo
|
|
|
|
- It makes things more consistent and was desirable to introduce new settings for
|
|
|
|
- secondary viewports. (#8946, #8110, #8111, #8686) [@ocornut, @SuperRonan, @sylmroz]
|
|
|
|
-- Backends: Vulkan: renamed ImGui_ImplVulkan_MainPipelineCreateInfo --> ImGui_ImplVulkan_PipelineInfo
|
|
|
|
- (introduced very recently and only used by `ImGui_ImplVulkan_CreateMainPipeline()`
|
|
|
|
- so it should not affect many users). (#8110, #8111)
|
|
|
|
-- Backends: Vulkan: helper ImGui_ImplVulkanH_CreateOrResizeWindow() added a
|
|
|
|
- `VkImageUsageFlags image_usage` argument.
|
|
|
|
- It was previously hardcoded to `VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT` and defaults
|
|
|
|
- to that when the value is 0. In theory the function is an internal helper but
|
|
|
|
- since it's used by our examples some may have used it. (#8946, #8111, #8686)
|
|
|
|
|
|
+- Backends:
|
|
|
|
+ - Vulkan: moved some fields in ImGui_ImplVulkan_InitInfo:
|
|
|
|
+ init_info.RenderPass --> init_info.PipelineInfoMain.RenderPass
|
|
|
|
+ init_info.Subpass --> init_info.PipelineInfoMain.Subpass
|
|
|
|
+ init_info.MSAASamples --> init_info.PipelineInfoMain.MSAASamples
|
|
|
|
+ init_info.PipelineRenderingCreateInfo --> init_info.PipelineInfoMain.PipelineRenderingCreateInfo
|
|
|
|
+ It makes things more consistent and was desirable to introduce new settings for
|
|
|
|
+ secondary viewports. (#8946, #8110, #8111, #8686) [@ocornut, @SuperRonan, @sylmroz]
|
|
|
|
+ - Vulkan: renamed ImGui_ImplVulkan_MainPipelineCreateInfo --> ImGui_ImplVulkan_PipelineInfo
|
|
|
|
+ (introduced very recently and only used by `ImGui_ImplVulkan_CreateMainPipeline()`
|
|
|
|
+ so it should not affect many users). (#8110, #8111)
|
|
|
|
+ - Vulkan: helper ImGui_ImplVulkanH_CreateOrResizeWindow() added a
|
|
|
|
+ `VkImageUsageFlags image_usage` argument.
|
|
|
|
+ It was previously hardcoded to `VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT` and defaults
|
|
|
|
+ to that when the value is 0. In theory the function is an internal helper but
|
|
|
|
+ since it's used by our examples some may have used it. (#8946, #8111, #8686)
|
|
|
|
|
|
Other Changes:
|
|
Other Changes:
|
|
|
|
|
|
- Windows: added lower-right resize grip on child windows using both
|
|
- Windows: added lower-right resize grip on child windows using both
|
|
ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY flags. (#8501) [@aleksijuvani]
|
|
ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY flags. (#8501) [@aleksijuvani]
|
|
The grip is not visible before hovering to reduce clutter.
|
|
The grip is not visible before hovering to reduce clutter.
|
|
-- InputText: fixed single-line InputText() not applying fine character clipping
|
|
|
|
- properly (regression in 1.92.3). (#8967) [@Cyphall]
|
|
|
|
-- InputText: fixed an infinite loop error happening if a custom input text
|
|
|
|
- callback modifies/clear BufTextLen before calling InsertChars().
|
|
|
|
- (regression from 1.92.3). Note that this never really worked correctly, but
|
|
|
|
- previously it would only temporary wreck cursor position, and since 1.92.3 it
|
|
|
|
- would go in an infinite loop. (#8994, #3237)
|
|
|
|
- Style: added ImGuiCol_UnsavedMarker, color of the unsaved document marker when
|
|
- Style: added ImGuiCol_UnsavedMarker, color of the unsaved document marker when
|
|
using ImGuiWindowFlags_UnsavedDocument/ImGuiTabItemFlags_UnsavedDocument. (#8983)
|
|
using ImGuiWindowFlags_UnsavedDocument/ImGuiTabItemFlags_UnsavedDocument. (#8983)
|
|
- IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers()
|
|
- IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers()
|
|
helpers to null all handlers. (#8945, #2769)
|
|
helpers to null all handlers. (#8945, #2769)
|
|
-- Textures: fixed a crash if texture status is set to _WantDestroy by a backend after
|
|
|
|
- it had already been destroyed. This would typically happen when calling backend's
|
|
|
|
- ImGui_ImplXXXX_InvalidateDeviceObjects() helpers twice in a row. (#8977, #8811)
|
|
|
|
-- Textures: allowed backend to destroy texture while inside the NewFrame/EndFrame
|
|
|
|
- scope. Basically if a backend decide to destroy a texture that we didn't request
|
|
|
|
- to destroy (for e.g. freeing resources) the texture is immediately set to
|
|
|
|
- a _WantCreate status again. (#8811)
|
|
|
|
-- Textures: fixed an issue preventing multi-contexts sharing a ImFontAtlas from
|
|
|
|
- being possible to destroy in any order.
|
|
|
|
-- Textures: fixed not updating ImTextureData's RefCount when destroying a context
|
|
|
|
- using a shared ImFontAtlas, leading standard backends to not properly free
|
|
|
|
- texture resources. (#8975) [@icrashstuff]
|
|
|
|
|
|
+- InputText:
|
|
|
|
+ - Fixed single-line InputText() not applying fine character clipping
|
|
|
|
+ properly (regression in 1.92.3). (#8967) [@Cyphall]
|
|
|
|
+ - Fixed an infinite loop error happening if a custom input text
|
|
|
|
+ callback modifies/clear BufTextLen before calling InsertChars().
|
|
|
|
+ (regression from 1.92.3). Note that this never really worked correctly, but
|
|
|
|
+ previously it would only temporary wreck cursor position, and since 1.92.3 it
|
|
|
|
+ would go in an infinite loop. (#8994, #3237)
|
|
|
|
+- Textures:
|
|
|
|
+ - Fixed a crash if texture status is set to _WantDestroy by a backend after
|
|
|
|
+ it had already been destroyed. This would typically happen when calling backend's
|
|
|
|
+ ImGui_ImplXXXX_InvalidateDeviceObjects() helpers twice in a row. (#8977, #8811)
|
|
|
|
+ - Allowed backend to destroy texture while inside the NewFrame/EndFrame
|
|
|
|
+ scope. Basically if a backend decide to destroy a texture that we didn't request
|
|
|
|
+ to destroy (for e.g. freeing resources) the texture is immediately set to
|
|
|
|
+ a _WantCreate status again. (#8811)
|
|
|
|
+ - Fixed an issue preventing multi-contexts sharing a ImFontAtlas from
|
|
|
|
+ being possible to destroy in any order.
|
|
|
|
+ - Fixed not updating ImTextureData's RefCount when destroying a context
|
|
|
|
+ using a shared ImFontAtlas, leading standard backends to not properly
|
|
|
|
+ free texture resources. (#8975) [@icrashstuff]
|
|
- Demo: fixed layout issue in "Layout & Scrolling -> Scrolling" section.
|
|
- Demo: fixed layout issue in "Layout & Scrolling -> Scrolling" section.
|
|
- Misc: Debuggers: added type formatters for the LLDB debuggers (e.g. Xcode,
|
|
- Misc: Debuggers: added type formatters for the LLDB debuggers (e.g. Xcode,
|
|
Android Studio & more) to provide nicer display for ImVec2, ImVec4, ImVector etc.
|
|
Android Studio & more) to provide nicer display for ImVec2, ImVec4, ImVector etc.
|
|
@@ -92,37 +95,39 @@ Other Changes:
|
|
- CI: updated Windows CI scripts to generate/use VulkanSDK. (#8925, #8778) [@yaz0r]
|
|
- CI: updated Windows CI scripts to generate/use VulkanSDK. (#8925, #8778) [@yaz0r]
|
|
- Docs: updated FAQ with new "What is the difference between Dear ImGui and
|
|
- Docs: updated FAQ with new "What is the difference between Dear ImGui and
|
|
traditional UI toolkits?" entry. (#8862)
|
|
traditional UI toolkits?" entry. (#8862)
|
|
-- Backends: all backends call ImGuiPlatformIO::ClearPlatformHandlers() and
|
|
|
|
- ClearRendererHandlers() on shutdown, so as not to leave function pointers
|
|
|
|
- which may be dangling when using backend in e.g. DLL. (#8945, #2769)
|
|
|
|
-- Backends: DirectX12: reuse a command list and allocator for texture uploads instead
|
|
|
|
- of recreating them each time. (#8963, #8465) [@RT2Code]
|
|
|
|
-- Backends: DirectX12: Rework synchronization logic. (#8961) [@RT2Code]
|
|
|
|
- (presumably fixes old hard-to-repro crash issues such as #3463, #5018)
|
|
|
|
-- Backends: DirectX12: Reuse texture upload buffer and grow it only when
|
|
|
|
- necessary. (#9002) [@RT2Code]
|
|
|
|
-- Backends: DirectX12: Enable swapchain tearing if available. (#8965) [@RT2Code]
|
|
|
|
-- Backends: OpenGL3: fixed GL loader to work on Haiku OS which does not support
|
|
|
|
- `RTLD_NOLOAD`. (#8952) [@Xottab-DUTY, @threedeyes]
|
|
|
|
-- Backends: GLFW: fixed build on platform that are neither Windows, macOS or
|
|
|
|
- known Unixes (Regression in 1.92.3). (#8969, #8920, #8921) [@oktonion]
|
|
|
|
-- Backends: SDL2,SDL3: avoid using the SDL_GetGlobalMouseState() path when one of our
|
|
|
|
- window is hovered, as the event data is reliable and enough in this case.
|
|
|
|
- - Fix mouse coordinates issue in fullscreen apps with macOS notch. (#7919, #7786)
|
|
|
|
- - Essentially a working for SDL3 bug which will be fixed in SDL 3.3.0.
|
|
|
|
- - Better perf on X11 as querying global position requires a round trip to X11 server.
|
|
|
|
-- Backends: Win32: minor optimization not submitting gamepad io again if
|
|
|
|
- XInput's dwPacketNumber has not changed. (#8556) [@MidTerm-CN]
|
|
|
|
-- Backends: Vulkan: added a way to specify custom shaders by filling init fields
|
|
|
|
- CustomShaderVertCreateInfo and CustomShaderFragCreateInfo. (#8585, #8271) [@johan0A]
|
|
|
|
-- Backends: DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3:
|
|
|
|
- ensure that a texture in _WantDestroy state always turn to _Destroyed even
|
|
|
|
- if your underlying graphics data was already destroyed. (#8977)
|
|
|
|
-- Examples: SDL2+DirectX11: Try WARP software driver if hardware driver is
|
|
|
|
- not available. (#5924, #5562)
|
|
|
|
-- Examples: SDL3+DirectX11: Added SDL3+DirectX11 example. (#8956, #8957) [@tomaz82]
|
|
|
|
-- Examples: Win32+DirectX12: Rework synchronization logic. (#8961) [@RT2Code]
|
|
|
|
-- Examples: made examples's main.cpp consistent with returning 1 on error.
|
|
|
|
|
|
+- Backends:
|
|
|
|
+ - All backends call ImGuiPlatformIO::ClearPlatformHandlers() and
|
|
|
|
+ ClearRendererHandlers() on shutdown, so as not to leave function pointers
|
|
|
|
+ which may be dangling when using backend in e.g. DLL. (#8945, #2769)
|
|
|
|
+ - DirectX12: reuse a command list and allocator for texture uploads instead
|
|
|
|
+ of recreating them each time. (#8963, #8465) [@RT2Code]
|
|
|
|
+ - DirectX12: Rework synchronization logic. (#8961) [@RT2Code]
|
|
|
|
+ (presumably fixes old hard-to-repro crash issues such as #3463, #5018)
|
|
|
|
+ - DirectX12: Reuse texture upload buffer and grow it only when
|
|
|
|
+ necessary. (#9002) [@RT2Code]
|
|
|
|
+ - DirectX12: Enable swapchain tearing if available. (#8965) [@RT2Code]
|
|
|
|
+ - OpenGL3: fixed GL loader to work on Haiku OS which does not support
|
|
|
|
+ `RTLD_NOLOAD`. (#8952) [@Xottab-DUTY, @threedeyes]
|
|
|
|
+ - GLFW: fixed build on platform that are neither Windows, macOS or
|
|
|
|
+ known Unixes (Regression in 1.92.3). (#8969, #8920, #8921) [@oktonion]
|
|
|
|
+ - SDL2,SDL3: avoid using the SDL_GetGlobalMouseState() path when one of our
|
|
|
|
+ window is hovered, as the event data is reliable and enough in this case.
|
|
|
|
+ - Fix mouse coordinates issue in fullscreen apps with macOS notch. (#7919, #7786)
|
|
|
|
+ - Essentially a workaround for SDL3 bug which will be fixed in SDL 3.3.0.
|
|
|
|
+ - Better perf on X11 as querying global position requires a round trip to X11 server.
|
|
|
|
+ - Win32: minor optimization not submitting gamepad io again if
|
|
|
|
+ XInput's dwPacketNumber has not changed. (#8556) [@MidTerm-CN]
|
|
|
|
+ - Vulkan: added a way to specify custom shaders by filling init fields
|
|
|
|
+ CustomShaderVertCreateInfo and CustomShaderFragCreateInfo. (#8585, #8271) [@johan0A]
|
|
|
|
+ - DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3:
|
|
|
|
+ ensure that a texture in _WantDestroy state always turn to _Destroyed even
|
|
|
|
+ if your underlying graphics data was already destroyed. (#8977)
|
|
|
|
+- Examples:
|
|
|
|
+ - SDL2+DirectX11: Try WARP software driver if hardware driver is
|
|
|
|
+ not available. (#5924, #5562)
|
|
|
|
+ - SDL3+DirectX11: Added SDL3+DirectX11 example. (#8956, #8957) [@tomaz82]
|
|
|
|
+ - Win32+DirectX12: Rework synchronization logic. (#8961) [@RT2Code]
|
|
|
|
+ - Made examples's main.cpp consistent with returning 1 on error.
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
-----------------------------------------------------------------------
|