diff --git a/backends/imgui_impl_sdlgpu3.cpp b/backends/imgui_impl_sdlgpu3.cpp index b64bbd507..5147f12fb 100644 --- a/backends/imgui_impl_sdlgpu3.cpp +++ b/backends/imgui_impl_sdlgpu3.cpp @@ -24,6 +24,7 @@ // CHANGELOG // 2026-XX-XX: Platform: Added support for multiple windows via the ImGuiPlatformIO interface. +// 2026-02-25: Removed unnecessary call to SDL_WaitForGPUIdle when releasing vertex/index buffers. (#9262) // 2025-11-26: macOS version can use MSL shaders in order to support macOS 10.14+ (vs Metallib shaders requiring macOS 14+). Requires calling SDL_CreateGPUDevice() with SDL_GPU_SHADERFORMAT_MSL. // 2025-09-18: Call platform_io.ClearRendererHandlers() on shutdown. // 2025-08-20: Added ImGui_ImplSDLGPU3_InitInfo::SwapchainComposition and ImGui_ImplSDLGPU3_InitInfo::PresentMode to configure how secondary viewports are created. @@ -133,8 +134,7 @@ static void CreateOrResizeBuffers(SDL_GPUBuffer** buffer, SDL_GPUTransferBuffer* ImGui_ImplSDLGPU3_Data* bd = ImGui_ImplSDLGPU3_GetBackendData(); ImGui_ImplSDLGPU3_InitInfo* v = &bd->InitInfo; - // FIXME-OPT: Not optimal, but this is fairly rarely called. - SDL_WaitForGPUIdle(v->Device); + // There is no need for calling SDL_WaitForGPUIdle here, as SDL3 will handle deferred buffer deletion automatically. SDL_ReleaseGPUBuffer(v->Device, *buffer); SDL_ReleaseGPUTransferBuffer(v->Device, *transferbuffer); diff --git a/backends/imgui_impl_wgpu.h b/backends/imgui_impl_wgpu.h index c399668d4..4e616a311 100644 --- a/backends/imgui_impl_wgpu.h +++ b/backends/imgui_impl_wgpu.h @@ -37,7 +37,7 @@ #include #ifdef __EMSCRIPTEN_MAJOR__ -#if (__EMSCRIPTEN_MAJOR__ >= 4) && (__EMSCRIPTEN_MINOR__ >= 0) && (__EMSCRIPTEN_TINY__ >= 10) +#if (__EMSCRIPTEN_MAJOR__ >= 5) || ((__EMSCRIPTEN_MAJOR__ >= 4) && (__EMSCRIPTEN_MINOR__ >= 0) && (__EMSCRIPTEN_TINY__ >= 10)) #define IMGUI_IMPL_WEBGPU_BACKEND_DAWN #else #define IMGUI_IMPL_WEBGPU_BACKEND_WGPU diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index ee4d37945..2c5be6272 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -41,11 +41,39 @@ HOW TO UPDATE? Breaking Changes: + - Combo(), ListBox(): commented out legacy signatures which were obsoleted in 1.90 + (Nov 2023), when the getter callback type was changed from: + getter type: bool (*getter)(void* user_data, int idx, const char** out_text) + To: + getter type: const char* (*getter)(void* user_data, int idx) + Other Changes: +- TreeNode: + - Moved TreeNodeGetOpen() helper to public API. I was hesitant to make this public + because I intend to provide a more generic and feature-full version, but in the meanwhile + this will do. (#3823, #9251, #7553, #6754, #5423, #2958, #2079, #1947, #1131, #722) + - In 'Demo->Property Editor' demonstrate a way to perform tree clipping by fast-forwarding + through non-visible chunks. (#3823, #9251, #6990, #6042) + Using SetNextItemStorageID() + TreeNodeGetOpen() makes this notably easier than + it was prior to 1.91. +- InputText: + - Shift+Enter in multi-line editor always adds a new line, regardless of + ImGuiInputTextFlags_CtrlEnterForNewLine being set or not. (#9239) - Style: border sizes are now scaled (and rounded) by ScaleAllSizes(). -- Clipper: clear DisplayStart/DisplayEnd fields when Step() returns false. +- Demo: fixed IMGUI_DEMO_MARKER locations for examples applets. (#9261, #3689) [@pthom] +- Clipper: + - Clear `DisplayStart`/`DisplayEnd` fields when `Step()` returns false. + - Added `UserIndex` helper storage. This is solely a convenience for cases where + you may want to carry an index around. +- Backends: + - SDLGPU3: removed unnecessary call to SDL_WaitForGPUIdle when releasing + vertex/index buffers. (#9262) [@jaenis] + - WebGPU: fixed version check for Emscripten 5.0.0+. - Examples: + - Emscripten: added `tabindex=-1` to canvas in our shell_minimal.htm. Without it, + the canvas was not focusable in the DOM, which in turn make some backends + (e.g. pongasoft/emscripten-glfw) not receive focus loss events. (#9259) [@pthom] - WGPU: fixed undefined behaviors in example code for requesting adapter and device. (#9246, #9256) [@r-lyeh] diff --git a/examples/libs/emscripten/shell_minimal.html b/examples/libs/emscripten/shell_minimal.html index bcf626261..bcc5834a1 100644 --- a/examples/libs/emscripten/shell_minimal.html +++ b/examples/libs/emscripten/shell_minimal.html @@ -29,7 +29,7 @@ - +