diff --git a/src/duckstation/sdl_host_interface.cpp b/src/duckstation/sdl_host_interface.cpp index ee2b57401..b734a18a9 100644 --- a/src/duckstation/sdl_host_interface.cpp +++ b/src/duckstation/sdl_host_interface.cpp @@ -77,6 +77,8 @@ bool SDLHostInterface::CreateDisplay() if (!m_display) return false; + m_display->SetDisplayLinearFiltering(m_settings.display_linear_filtering); + m_app_icon_texture = m_display->CreateTexture(APP_ICON_WIDTH, APP_ICON_HEIGHT, APP_ICON_DATA, APP_ICON_WIDTH * sizeof(u32)); if (!m_app_icon_texture) @@ -757,7 +759,11 @@ void SDLHostInterface::DrawQuickSettingsMenu() } gpu_settings_changed |= ImGui::MenuItem("True (24-Bit) Color", nullptr, &m_settings.gpu_true_color); - settings_changed |= ImGui::MenuItem("Display Linear Filtering", nullptr, &m_settings.display_linear_filtering); + if (ImGui::MenuItem("Display Linear Filtering", nullptr, &m_settings.display_linear_filtering)) + { + m_display->SetDisplayLinearFiltering(m_settings.display_linear_filtering); + settings_changed = true; + } if (settings_changed || gpu_settings_changed) SaveSettings(); @@ -973,8 +979,15 @@ void SDLHostInterface::DrawSettingsWindow() { ImGui::Checkbox("Fullscreen", &m_settings.display_fullscreen); if (ImGui::Checkbox("VSync", &m_settings.gpu_vsync)) + { UpdateAudioVisualSync(); - ImGui::Checkbox("Linear Filtering", &m_settings.display_linear_filtering); + settings_changed = true; + } + if (ImGui::Checkbox("Linear Filtering", &m_settings.display_linear_filtering)) + { + m_display->SetDisplayLinearFiltering(m_settings.display_linear_filtering); + settings_changed = true; + } } ImGui::NewLine();