diff options
| author | fazzi <18248986+fxzzi@users.noreply.github.com> | 2025-04-18 20:44:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-18 21:44:54 +0200 |
| commit | 51afc2c2910d6f7c1f2dee9c90f54729d3c3d940 (patch) | |
| tree | 3c4bc00df50699fb4d324b1592d6d5742bb510e8 /src/protocols/CTMControl.cpp | |
| parent | 02f7da2bf23b75f097388b776143af5963b8e13b (diff) | |
ctm: enable fade animation on nvidia driver versions 575 and above (#10095)
* ctm: enable fade animation on nvidia driver versions 575 and above
* format if statement without braces; handle potential throw when checking for nvidia version file
Diffstat (limited to 'src/protocols/CTMControl.cpp')
| -rw-r--r-- | src/protocols/CTMControl.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/protocols/CTMControl.cpp b/src/protocols/CTMControl.cpp index c3b6862d..7dbe635b 100644 --- a/src/protocols/CTMControl.cpp +++ b/src/protocols/CTMControl.cpp @@ -6,6 +6,7 @@ #include "../config/ConfigManager.hpp" #include "managers/AnimationManager.hpp" #include "../helpers/Monitor.hpp" +#include "../helpers/MiscFunctions.hpp" CHyprlandCTMControlResource::CHyprlandCTMControlResource(SP<CHyprlandCtmControlManagerV1> resource_) : resource(resource_) { if UNLIKELY (!good()) @@ -109,8 +110,12 @@ void CHyprlandCTMControlProtocol::destroyResource(CHyprlandCTMControlResource* r bool CHyprlandCTMControlProtocol::isCTMAnimationEnabled() { static auto PENABLEANIM = CConfigValue<Hyprlang::INT>("render:ctm_animation"); - if (*PENABLEANIM == 2) - return !g_pHyprRenderer->isNvidia(); + if (*PENABLEANIM == 2 /* auto */) { + if (!g_pHyprRenderer->isNvidia()) + return true; + // CTM animations are bugged on versions below. + return isNvidiaDriverVersionAtLeast(575); + } return *PENABLEANIM; } |
