Update 3rdparty/osgXR to version 0.3.9, which gets us better handling of
quirks and window closure, and the ability to create quad composition
layers which will be particularly useful for the loading screen when
flightgear isn't so good at timely frame updates.
Avoid a console warning from OpenAL-soft about leaked buffers on
shutdown, by ensuring IAXClient backend does matching cleanup
for the buffers it allocates.
Update 3rdparty/osgXR to version 0.3.8, which gets us non-linear sRGB
swapchain formats by default. This avoids double gamma correction with
Monado when FlightGear renders non-linear sRGB data into linear RGB
swapchain images.
Import osgXR from https://github.com/amalon/osgXR master branch into
3rdparty, specifically commit b7e222775553b529018ac4b847353327c24ae5d4,
which is 0.3.7 with tweaks for building as a subproject in a
subdirectory.
This will allow VR support to be more conveniently built if not already
installed, without having to fetch yet another dependency.
Our copy of libGSM, and a system-wide version have different include
suffixes, so adjust the FindGsm.cmake so that the returned include-path
is consistent with our internal version.
See discussion in:https://sourceforge.net/p/flightgear/codetickets/2368/
We have been missing a build flag for FLite, to specify the alignment
of some unions. ASan detected this as access outwith allocated memory.
Fix is to pass a defining indicating we’re on a 64-bit system.
See discussion here:
https://sourceforge.net/p/flightgear/codetickets/2361/
With this change, “Reload Input” will discover newly attached devices
on macOS, which previously did not work.
Also add correct detection of disconnected devices, which previously
was not handled well, especially with the new ‘keep trying to open
devices’ behaviour of FGJoystickInput.
Should fix:
https://sourceforge.net/p/flightgear/codetickets/2259/
According to Pfeffer's report[1] and many other messages on the
Internet, joyGetDevCaps() can return the (so far) undocumented value
165, which some say is JOYERR_PARMS. Since this is a valid return code
for joyGetPosEx() (not joyGetDevCaps()!), handle a few return codes from
that function too, and don't throw an exception when joyGetDevCaps()'s
return value is not one of the documented ones (we simply can't trust
its documentation).
[1] https://sourceforge.net/p/flightgear/mailman/message/36657149/