summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/os_linuxbsd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linuxbsd/os_linuxbsd.cpp')
-rw-r--r--platform/linuxbsd/os_linuxbsd.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp
index aed8574902..f9e1aca742 100644
--- a/platform/linuxbsd/os_linuxbsd.cpp
+++ b/platform/linuxbsd/os_linuxbsd.cpp
@@ -39,6 +39,10 @@
#include "x11/display_server_x11.h"
#endif
+#ifdef WAYLAND_ENABLED
+#include "wayland/display_server_wayland.h"
+#endif
+
#include "modules/modules_enabled.gen.h" // For regex.
#ifdef MODULE_REGEX_ENABLED
#include "modules/regex/regex.h"
@@ -123,6 +127,14 @@ void OS_LinuxBSD::alert(const String &p_alert, const String &p_title) {
}
}
+int OS_LinuxBSD::get_low_processor_usage_mode_sleep_usec() const {
+ if (DisplayServer::get_singleton() == nullptr || DisplayServer::get_singleton()->get_name() != "Wayland" || is_in_low_processor_usage_mode()) {
+ return OS::get_low_processor_usage_mode_sleep_usec();
+ }
+
+ return 500; // Roughly 2000 FPS, improves frame time when emulating VSync.
+}
+
void OS_LinuxBSD::initialize() {
crash_handler.initialize();
@@ -1166,6 +1178,10 @@ OS_LinuxBSD::OS_LinuxBSD() {
DisplayServerX11::register_x11_driver();
#endif
+#ifdef WAYLAND_ENABLED
+ DisplayServerWayland::register_wayland_driver();
+#endif
+
#ifdef FONTCONFIG_ENABLED
#ifdef SOWRAP_ENABLED
#ifdef DEBUG_ENABLED