lovr/src/modules/headset
bjorn 61ffd5716f Disable LOCAL reference space on SteamVR;
Recent SteamVR versions have bugs with it, especially after triggering a
recenter operation.

In SteamVR, recentering fires referenceSpaceChangePending for the LOCAL
space, then the STAGE space, then the LOCAL space again, all with
different changeTimes.  No poseInPreviousSpace is given.

Recreating the main reference space whenever this event is received
leads to strange, inconsistent issues.  Sometimes the local/stage spaces
end up on top of each other, other times one or both will be way up in
the air (putting the headset at negative y coordinates).

This bug is even present when recentering in the compositor, so it's not
an issue with lovr.  Cautiously disabling the local-floor emulation on
SteamVR runtimes and just always using the STAGE space until things are
sorted out.
2023-07-16 14:43:23 -07:00
..
headset.c Rename desktop driver to simulator internally; 2023-06-29 16:24:51 -07:00
headset.h Expose runtime name in lovr.headset.getDriver; 2023-07-10 19:35:21 -07:00
headset_openxr.c Disable LOCAL reference space on SteamVR; 2023-07-16 14:43:23 -07:00
headset_simulator.c Expose runtime name in lovr.headset.getDriver; 2023-07-10 19:35:21 -07:00
headset_webxr.c Expose runtime name in lovr.headset.getDriver; 2023-07-10 19:35:21 -07:00