summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/os_linuxbsd.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-01-30 17:47:38 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-01-30 17:47:38 +0100
commit6a126b0934d1dac09aaf504da2f5d7dc1156feda (patch)
treed9952ab88e669f319a7d906348d6d6557bbb44b2 /platform/linuxbsd/os_linuxbsd.cpp
parenta8cfd1436a5e9c87ff4910a18641e60761994076 (diff)
parent7e0f7d3abd4a02f423a5b95616840e028a9af7fa (diff)
downloadredot-engine-6a126b0934d1dac09aaf504da2f5d7dc1156feda.tar.gz
Merge pull request #86180 from Riteo/wayland-squashed
Add Wayland support (squashed review edition)
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