From 50dcf08b7163105585af15a8eb3756abae95d036 Mon Sep 17 00:00:00 2001 From: angie Date: Tue, 4 Jun 2024 09:59:37 -0400 Subject: [PATCH] Change `update_config` to return if any changes were applied --- ultramodern/include/ultramodern/renderer_wrapper.hpp | 2 +- ultramodern/src/events.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ultramodern/include/ultramodern/renderer_wrapper.hpp b/ultramodern/include/ultramodern/renderer_wrapper.hpp index 6a67e36..e5d4df7 100644 --- a/ultramodern/include/ultramodern/renderer_wrapper.hpp +++ b/ultramodern/include/ultramodern/renderer_wrapper.hpp @@ -30,7 +30,7 @@ namespace ultramodern { virtual bool valid() = 0; virtual SetupResult get_setup_result() const { return setup_result; } - virtual void update_config(const GraphicsConfig& old_config, const GraphicsConfig& new_config) = 0; + virtual bool update_config(const GraphicsConfig& old_config, const GraphicsConfig& new_config) = 0; virtual void enable_instant_present() = 0; virtual void send_dl(const OSTask* task) = 0; diff --git a/ultramodern/src/events.cpp b/ultramodern/src/events.cpp index def0268..1687105 100644 --- a/ultramodern/src/events.cpp +++ b/ultramodern/src/events.cpp @@ -312,8 +312,7 @@ void gfx_thread_func(uint8_t* rdram, moodycamel::LightweightSemaphore* thread_re } else if (const auto* config_action = std::get_if(&action)) { auto new_config = ultramodern::renderer::get_graphics_config(); - if (old_config != new_config) { - renderer_context->update_config(old_config, new_config); + if (renderer_context->update_config(old_config, new_config)) { old_config = new_config; } }