You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-11 13:10:58 +00:00
OpenXR: Add refresh rate signal support
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
/**************************************************************************/
|
||||
|
||||
#include "openxr_fb_display_refresh_rate_extension.h"
|
||||
#include "../openxr_interface.h"
|
||||
|
||||
OpenXRDisplayRefreshRateExtension *OpenXRDisplayRefreshRateExtension::singleton = nullptr;
|
||||
|
||||
@@ -64,6 +65,23 @@ void OpenXRDisplayRefreshRateExtension::on_instance_destroyed() {
|
||||
display_refresh_rate_ext = false;
|
||||
}
|
||||
|
||||
bool OpenXRDisplayRefreshRateExtension::on_event_polled(const XrEventDataBuffer &event) {
|
||||
switch (event.type) {
|
||||
case XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB: {
|
||||
const XrEventDataDisplayRefreshRateChangedFB *event_fb = (XrEventDataDisplayRefreshRateChangedFB *)&event;
|
||||
|
||||
OpenXRInterface *xr_interface = OpenXRAPI::get_singleton()->get_xr_interface();
|
||||
if (xr_interface) {
|
||||
xr_interface->on_refresh_rate_changes(event_fb->toDisplayRefreshRate);
|
||||
}
|
||||
|
||||
return true;
|
||||
} break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
float OpenXRDisplayRefreshRateExtension::get_refresh_rate() const {
|
||||
float refresh_rate = 0.0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user