From ecc46d2d4e206b5ccbbb577091f1814acebff1a9 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Mon, 11 May 2026 22:46:47 +1000 Subject: [PATCH] Qt: Don't draw OSD messages with zero opacity Saves a blur pass on the first frame. --- src/util/imgui_manager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/util/imgui_manager.cpp b/src/util/imgui_manager.cpp index 48dab9b30..f4311732b 100644 --- a/src/util/imgui_manager.cpp +++ b/src/util/imgui_manager.cpp @@ -794,7 +794,7 @@ void ImGuiManager::DestroyTextures(bool recycle) if (recycle) g_gpu_device->RecycleTexture(std::move(gtex)); } - + if (tex->Status == ImTextureStatus_WantDestroy) tex->SetStatus(ImTextureStatus_Destroyed); else @@ -1378,8 +1378,11 @@ void ImGuiManager::DrawOSDMessages(Timer::Value current_time) actual_y = layout_pos.y; } - if (actual_y >= ImGui::GetIO().DisplaySize.y || (msg.type >= OSDMessageType::Info && !show_messages)) + if (actual_y >= ImGui::GetIO().DisplaySize.y || (msg.type >= OSDMessageType::Info && !show_messages) || + opacity == 0.0f) + { break; + } const ImVec2 pos = ImVec2(layout_pos.x, actual_y); const ImVec2 pos_max = ImVec2(pos.x + box_width, pos.y + box_height);