File monado.changes of Package monado

-------------------------------------------------------------------
Sat Feb 19 12:44:50 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net>

- add systemd %_userunitdir files

-------------------------------------------------------------------
Sun Sep 26 16:12:56 UTC 2021 - hpj@urpla.net

- Update to version 21.0.0+git.20210920T155400.ee68aebb:
  * doc: Document !911
  * t/calibration: Add support for findChessboardCornersSB
  * u/historybuf: Tidy code and work around clang-format CI troubles
  * a/math: Fix truncation warning due to double literal in float parameter.
  * d/euroc: Use new debug frame sinks
  * a/os: SetWaitableTimer wants durations in hundreds of ns.
  * comp: Don't disconnect from NULL wayland_display
  * st/oxr: Enumerate outputs too in xrEnumerateBoundSourcesForAction
  * u/var: Remove sink variable tracking
  * st/gui: Remove U_VAR_SINK support
  * st/gui: Add support for u_sink_debug
  * st/gui: Handle setting recording info from the first frame
  * st/gui: Expose bitrate as a combobox in recording window
  * st/gui: Refactor out recording code into own window
  * d/ht: Disable sink variable tracking
  * d/euroc: Disable sink variable tracking
  * t/debug: Update HelperDebugSink to use new u_debug_sink
  * t/hsv: Switch to u_sink_debug
  * d/v4l2: Use u_sink_debug for debugging
  * u/var: Add u_sink_debug
  * u/sink: Add u_sink_debug struct helper
  * c/main: Guard against XRT_HAVE_WAYLAND_DIRECT
  * c/main: Guard use of VK_EXT_acquire_drm_display identifier
  * xrt: Expose XRT_HAVE_WAYLAND and XRT_HAVE_WAYLAND_DIRECT
  * cmake: Link with WAYLAND_LIBRARIES or SDL gets sad
  * cmake: Use . instead of comma for version
  * t/slam: Print an error when SLAM_CONFIG is not set
  * build/cmake: Don't build slam if OpenCV is disabled
  * build/meson: Don't build slam if tracking is disabled
  * t/slam: Only warn for incompatible OpenCV
  * st/prober: Use euroc stream for SLAM tracking
  * d/euroc: Add euroc device
  * d/euroc: Improve euroc player
  * t/slam: Add SLAM tracking module
  * external: Add slam_tracker.hpp and SLAM build flow
  * meson: Look up for default opencv first
  * xrt: Add xrt_tracked_slam interface
  * xrt: Add stream_start alternative to xrt_fs for SLAM streaming
  * xrt: Add SLAM sinks
  * ci: bump arch image
  * c/main: Implement WINDOW_DIRECT_WAYLAND
  * aux/vk: Add VK_EXT_acquire_drm_display functions
  * d/vive: Use m_relation history for HMD
  * d/survive: Use m_relation_history for HMD and controllers
  * d/rs: Use m_relation_history for 6DOF
  * aux/math: Implement m_relation_history
  * d/ht; aux/util: Move ringbuffer implementation into aux/util
  * aux/math: Add tracing for m_predict
  * doc: Document !873
  * c/render: Remove the hacks
  * c/render: Add ATW support for compute rendering
  * c/main: Add compute distortion rendering backend
  * doc: Add documentation for implementing extensions
  * d/ht: make blackbar work with non-square inputs
  * m/predict: Add C++ extern guards
  * u/[rt|ft]: Adjust margins
  * u/ft: Rename min_margin_ns to margin_ns
  * d/ht: Tidy includes
  * d/ht: Tidy view creation
  * c/main: Use ns_to_ms helper for nominal frame interval
  * st/oxr: Only advertise hand tracking funcs if compiled with ext
  * st/oxr: Add ifdef for XR_EXT_hand_tracking
  * st/oxr: Move XR_EXT_thermal_query #endif to the correct place
  * u/var: Add f64 kind
  * comp: Wait for release/acquire fence before destroying swapchain
  * d/survive: Count ahead of time how many configs to wait for
  * u/sink: Add conversion from L8 to R8G8B8
  * d/vive: Use hand tracking if VIVE_USE_HANDTRACKING is set
  * d/survive: Use hand tracking if there aren't any controllers
  * d/ht: Change everything
  * targets: Don't probe handtracking driver
  * scripts: Add script to get hand tracking models
  * meson: Add ONNX Runtime as a dependency for the handtracking driver
  * cmake: Add ONNX Runtime as a dependency for the handtracking driver
  * aux/vive: Parse camera calibration
  * d/survive: Allow users to set wait time through config_v0.json
  * aux/util: Add u_frame_clone
  * d/vf: Add new format for stereo hand tracking
  * aux/vk: Add and document tegra specific dedicated allocation workaround
  * aux/vk: Add Tegra detection
  * aux/vk: debug print preferred/required dedicated allocation
  * aux/vk: Add VK_FORMAT_R16G16B16A16_UNORM to vk_color_format_string
  * comp: debug print the numeric format
  * scripts: add "stoll" to codespell ignore list
  * t/psmv: Fix misconception with disparity transform
  * d/vive: Tidy warning
  * d/vive: Silence warnings from when the camera is running
  * st/prober: Make euroc start by hooking it into the prober
  * d/euroc: Add EuRoC dataset reader driver.
  * xrt: Add xrt_imu_sink interface
  * xrt: Add xrt_imu_sample
  * u/var: Add button and u64 var kinds
  * st/gui: Handle NULL pdev in video listing scene.
  * ipc: Fix warning and paranoia check
  * doc: Add changelog for MR 886
  * st/oxr: Support XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR
  * ext/openxr: Update headers to 1.0.19
  * xrt: typedef EGLenm too for GLES
  * scripts: Add XR_KHR_swapchain_usage_input_attachment_bit extension
  * cmake: Add lib/x64 path for leap motion v2
  * u/sink: Make sure to add deinterleaver sink to context
  * u/sink: Make sure to add split sink to context
  * t/framemat: Update confusing comments, sorry.
  * aux/vk: Only use dedicated allocation when it is required
  * c/multi: Fixes some uninitialized mutexes.
  * u/sink: Make sure to free frame when we fail to decode
  * st/gui: Make sure to unreference any frames pending for upload
  * st/gui: Make sure to add ogl texture sink to context
  * u/sink: Make sure to add quirk sink to context
  * d/vive: Use u_device_free to free distortion mesh data
  * d/vive: Tidy
  * d/vive: Make sure to properly destroy controller
  * u/vive: Pass in logging level to parse function
  * u/vive: Add vive_config_teardown function to free any pointers that needs freeing.
  * t/gui: Add sanitizers
  * t/ctl: Add sanitizers
  * t/cli: Add sanitizers
  * d/rs: clean up device list
  * ipc/server: Clean up the hack if we exit early
  * d/survive: Use u_device_free to free distortion mesh data
  * d/rs: Free JSON
  * d/ht: Don't leak when we can't create the hand-tracker tracker
  * aux/math: Add euro filtering
  * d/v4l2: more paranoid logging
  * st/oxr: Add debug variable for adding extra sleep in wait frame
  * d/dummy: Add option to rotate around up axis
  * c/main: Constify argument
  * m/vec2: Add a few more scalar functions
  * m/mat4: Add Matrix 4x4 f64 functions
  * xrt: Add a Matrix4x4 with f64
  * doc: Document !870
  * targets/service: Use address sanitizer on monado-service if desired
  * cmake: Add SPDX license identifiers to sanitizers
  * cmake: Add address sanitizers
  * d/vf: Remove debug message
  * d/vf: Add trace marker
  * aux/util: Add get_vec3_f64_array
  * aux/os: Add os_mutex_trylock
  * aux/math: Add m_vec3_project, m_vec3_orthonormalize, m_vec3_lerp, m_vec2_normalize, math_lerp
  * xrt: Add xrt_vec3_f64 struct
  * comp: Guard acquire/release with a fence
  * aux/vk: Add vkGetFenceStatus function
  * doc: Document !867
  * xrt: Add docu
  * ipc/server: Paranoia
  * comp: Bind the correct GL texture for importing memory objects
  * comp: Only use dedicated allocation when supported/preferred
  * aux/vk: Print all used device extensions in XRT_LOG=trace
  * inc/xrt, aux/bindings: fix typo XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHTT -> XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT
  * add 'Vive MV.' model_number variant
  * c/multi: Make sure there are at least some predicted data
  * doc: Document !860
  * d/vf: Add tracing support
  * d/vf: Refactor frame handling
  * d/vf: Tidy
  * p/prober: disable all drivers when qwerty is enabled
  * aux/vk: Print info for setting CAP_SYS_NICE
  * aux/vk: Add VK_ERROR_NOT_PERMITTED_EXT error code string
  * aux/vk: Print vkCreateDevice error num too
  * d/ulv2: fix maybe uninitialized warning
  * c/main: Add return value for when asserts are disabled
  * d/qwerty: Add reasonable alternative code paths for asserts
  * d/ns: Fix may be used uninitialized warnings
  * st/oxr: Use OXR_MAX_BINDINGS_PER_ACTION instead of hardcoded 32
  * st/gui: Don't access first vec3 member as float array
  * doc: Document !859
  * t/calibration: Add support for RGB images
  * t/calibration: Make it possible to select number distortion parameters
  * u/sink: Add special converter sink that passes through YUV, L8 and RGB
  * st/gui: Make it possible to select the DepthAI camera in Video select UI
  * st/gui: Add support to record from ELP 3D camera
  * st/gui: Correct order of arguments to xrt_fs_stream_start
  * st/gui: Check that we actually opened the video device
  * st/oxr: Calculate normalized sub-image offsets and sizes
  * st/oxr: Put all sub-image handling in one place (NFC)
  * st/oxr: Tidy oxr_session_frame_end.c (NFC)
  * st/oxr: Refactor out end frame function into own file
  * st/oxr: Add gfx to session gfx files
  * xrt: Add normalized sub-image offset and size in layer data
  * doc: Document !858
  * t/gui: Add tracing support
  * d/dai: Add tracing support
  * d/v4l2: Add tracing support
  * t/hsv: Add tracing support
  * u/sink: Add tracing support
  * u/trace_marker: Add sink category
  * t/ctl: Fix error message when toggling io fails
  * t/ctl: Add usage information
  * st/oxr: Don't go to READY after EXITING
  * doc/tracing: add 'Value doesn't exist' gotcha
  * u/sink: Tidy and add some comments to queue sink (NFC)
  * d/wmr: Compute visible region for render rectangle.
  * d/wmr: Add an extensible headset map.
  * d/wmr: Implement Lenovo explorer support.
  * d/wmr: Extract JSON configuration from the firmware.
  * d/wmr: Add functions to read raw config data
  * d/wmr: Add render distortion configuration
  * d/wmr: Add some groundwork for config parsing.
  * aux/math: Add math_quat_slerp()
  * aux/math: Implement math_matrix_3x3_inverse.
  * st/oxr: Add checks for Vulkan graphics bindings
  * cmake: make ulv2 build a little better
  * cmake: option for forcing coloured compiler output
  * .gitignore: tidy and ignore .cache/
  * d/ns: Use fread when reading from config file
  * doc: Document !839
  * d/ns: Fix 3D distortion FOV calc
  * d/ns: Clean utility_northstar a bit
  * d/ns: Big refactor
  * aux/util: Add North Star "VIPD" and "polynomial 2D" distortion methods
  * aux/math: Add math_map_ranges function
  * aux/util: Make new u_extents_2d as alternative to u_device_simple_info
  * ipc: Fix NULL check stopping main app visibility events from working
  * doc: cleanup/clarification pointing out that some desired docs are already written.
  * d/vive: Set hand tracking values to actives
  * aux/vk: Add fence import for windows
  * comp: Wrap a unistd include for Windows.
  * doc: Document !841
  * c/main: Also resize on VK_SUBOPTIMAL_KHR
  * c/main: Tidy
  * c/main: Refactor out viewport calculation into own function
  * c/main: Give the correct queue family argument to vkGetPhysicalDeviceSurfaceSupportKHR
  * c/main: Tidy comp_renderer fence creation a bit
  * c/main: Allow to specifiy image usage for target images
  * c/main: Tidy and add a bit of debug to comp_target_swapchain
  * c/main: Tweak swapchain formats a bit
  * c/render: Add support for non-freeable descriptor pools
  * c/render: Add support for storage image descriptors
  * aux/vk: Add the option to handle optional device features
  * aux/vk: Add support for VK_EXT_robustness2 and tidy
  * aux/vk: Refactor out optional extension handling
  * aux/vk: Make it possible to get a compute only queue
  * aux/vk: Add vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer
  * aux/vk: Add vkCmdDispatch, vkCreateComputePipelines and vkResetDescriptorPool functions
  * xrt: Add xrt_device_compute_distortion helper
  * c/main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format
  * doc: Document !811 & !840
  * u/trace_marker: Refactor init to fix bug
  * u/trace_marker: Make sure to include headers outside of extern block
  * doc: Document !831, !836 and !837
  * d/dai: Even more tidy
  * d/dai: Add code so we can open mono cameras with compile time option
  * d/dai: Refactor a bit so we can at compile time support OAK-D
  * doc: Document !740
  * st/gui: Add support for depthAI camera in record scene
  * d/dai: Add simple DepthAI driver
  * xrt: clarify camera type (NFC)
  * st/oxr: Transform projection layer pose to global space.
  * cmake: Make sure st_oxr exposes its optional vulkan/gl dependencies
  * readme: Mention the vcpkg manifest
  * build: Add vcpkg manifest for easier Windows builds
  * c/client: Use the EGL compositor's display in swapchain
  * t/fm: Add simple FrameMat that wraps a cv::Mat
  * ipc: Add env var to ignore client/service version conflicts
  * ipc: Check that service and client are the same git revision
  * t/gui: Show git hash in Window title (NFC)
  * cmake: Tidy whitespace and remove last mention of XRT_HAVE_VF (NFC)
  * cmake: Print out if we have GStreamer (NFC)
  * d/rs: Tidy code (NFC)
  * aux/vk: Tidy code (NFC)
  * d/rs: cleanup and initialize u_config_json with zero
  * util: make sure u_config_json.file_loaded is false if we didn't load the file
  * aux/vk: Check that native handles are importable
  * build: Update gradle
  * doc: Document !817 and !820
  * ipc/android: support create surface from runtime.
  * d/illixr: Update ILLIXR driver.
  * gradle: Update to 6.8.3
  * gradle: Remove jcenter usage, it was shut down.
  * gradle: Apply suggestion from android studio
  * Revert "gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set."
  * d/rs: remove superfluous rs_update_offset; add config options
  * gitignore: ignore Sourcetrail things
  * steamvr: Don't crash if we don't have bindings for device
  * doc: Document #61 and !810
  * c/main: Make temp_vk be a pointer
  * c/main: Do not copy vk_bundle
  * c/main: Follow style of using vk variable for vk_bundle interactions
  * c/client: Follow style of using vk variable for vk_bundle interactions
  * st/oxr: Fix xrGetSystemProperties crash in headless mode
  * aux/util: only do tracing things if XRT_FEATURE_TRACING is enabled
  * meson: add option for tracing
  * meson: use c++17
  * st/oxr: Check that VkPhysicalDevice in graphics binding matches suggested device
  * c/client: Add EGL comment (NFC)
  * c/client: s/comp_egl_glue.c/comp_egl_client.c (NFC)
  * c/client: Tidy EGL code (NFC)
  * c/client: Do not blindly try to restore no EGLDisplay contexts
  * c/client: Tidy EGL code (NFC)
  * u/trace_marker: Use Percetto/Perfetto for tracing
  * d/illixr: Use u_device_get_view_pose helper
  * aux/tracking: Move general docs to a separate header.
  * d/wmr: fix doxygen warning
  * doc: Document !810
  * aux/android: Move code into official namespaces
  * a/math: Move functionality into official namespaces.
  * a/util: Namespace documentation
  * a/tracking: Migrate C++ APIs to the official namespaces now that we have some.
  * doc: Start documenting code style/conventions/idioms
  * external/jnipp: Move away from explicit instantiation of function templates.
  * d/wmr: Fix typo
  * doc: Fix typo
  * doc: Add markdownlint config file for changelog fragments.
  * external: Update android-jni-wrap
  * external: Update jnipp
  * aux/android: Remove unused include
  * gradle: Bump kotlin version.
  * gradle: update Android gradle plugin
  * u/process: Fix a warning by marking a function as maybe unused.
  * aux/android: Update wrappers
  * aux/android: Expose native pointer from MonadoView
  * android: Annotation, docs, and formatting improvements for MonadoView
  * android: Revise MonadoView so it doesn't require an Activity.
  * a/util: Add a generic callbacks collection.
  * t/oxr_android: Update recyclerview, and do not use wildcard version
  * d/qwerty: Fix doxygen warnings.
  * doc: Add !754 and !807 to !723
  * c/client: Fix swapchain leak
  * ipc: Remove debug print (NFC)
  * st/oxr: Make Vulkan optional
  * cmake: Allow C++17 mode on all platforms, all modules.
  * d/wmr: Fix accel axis conversion
  * d/ns: fix resolution from 2880x1440 to 2880x1600
  * doc: Rename sample NorthStar config for file extension reasons, and add schema
  * a/util: Make JSON reading more robust.
  * a/util: Add schema directive to json before writing.
  * doc: Add JSON Schema
  * c/client: Tidy and lower the logging level
  * m/3dof: Add manual way to set the gyro bias
  * doc: Document !800
  * ipc: Add session_destroy to handle session destruction
  * xrt: Add new error return for IPC
  * d/qwerty: Use u_device_get_view_pose helper
  * xrt: Fix an incomplete compositor method doc.
  * a/u_logging: Docs for logging.
  * doc: Extract static file members when set to extract all.
  * a/bindings: Clean up formatting of script
  * a/bindings: Simplify as suggested by IDE
  * a/bindings: Fix typos
  * build: Move finding Python earlier, so it builds in Android Studio on Linux.
  * d/remote: Assert if st/oxr calls the wrong thing (NFC)
  * d/survive: Add comment and assert to get_view_pose (NFC)
  * d/vive: Add comment and assert to get_view_pose (NFC)
  * doc: Document !794
  * st/oxr: Rename oxr_session_views to oxr_session_locate_views (NFC)
  * st/oxr: Tidy xrLocateViews function
  * ipc: Assert if st/oxr calls the wrong thing
  * xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC)
  * u/ht: Const-correctness
  * u/ht: Port to new unit-vector defines
  * d/qwerty: Port to new unit-vector defines
  * t/ht: Port to using unit-vector defines.
  * xrt: Add unit vector defines for xrt_vec3
  * st/oxr: Port to using new zero/identity defines
  * d/vive: Port to using new zero/identity defines
  * d/ht: Port to using new zero/identity defines
  * d/remote: Port to using new zero/identity defines
  * d/qwerty: Port to using new zero/identity defines
  * d/oh: Port to using new zero/identity defines
  * d/north_star: Port to using new zero/identity defines
  * comp: Port to using new zero/identity defines
  * aux/vive: Port to using new zero/identity defines
  * m/space: Port to using new zero/identity defines
  * u/ht: Port to using new zero/identity defines
  * a/math: Port to using the new zero/identity defines
  * xrt: Add definitions for zero/identity initializers for pose-related structs.
  * d/wmr: Port to u_device_get_view_pose
  * d/vive: Port to u_device_get_view_pose
  * d/survive: Port to u_device_get_view_pose
  * d/hdk: Port to u_device_get_view_pose
  * d/remote: Port to u_device_get_view_pose
  * d/psvr: Port to u_device_get_view_pose
  * d/oh: Port to u_device_get_view_pose
  * d/north_star: Port to u_device_get_view_pose
  * d/dummy: Port to u_device_get_view_pose
  * d/android_sensors: Port to u_device_get_view_pose
  * a/util: Add u_device_get_view_pose helper function.
  * c/main: Better Vulkan error printing
  * u/ft: Warn when missing frames
  * doc: Document !767 and !787
  * c/main: Pass in preferred dimensions to create images
  * c/main: Assert that preferred dimensions are somewhat valid
  * c/main: Tidy code in comp_target_swapchain (NFC)
  * c/main: Clarify in code that it is preferred dimensions (NFC)
  * c/main: Remove trailing newline in error message (NFC)
  * c/main: Make instance extension list more readable (NFC)
  * c/main: Expose more formats
  * c/client: Vulkan formats are listed as numbers not hex
  * c/client: Add support for more formats in GL
  * gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set.
  * ci: Add REUSE check to CI.
  * licenses: Include unlicense in LICENSES directory as one option for STB_write_image
  * reuse: Update dep5 file to cover all changelog directories
  * st/gui: Add missing copyright header to file
  * external/stb: Add license sidecar file for stb_image_write.h
  * t/steamvr_drv: Add license sidecar files
  * doc: Fix date on IPC docs and add copyright header
  * st/oxr: Fix printing of the format in error message
  * aux/vk: Extend the correct structure for VK_EXT_global_priority
  * d/wmr: Clarify struct layout (NFC)
  * d/wmr: Only take the lock once per received packet
  * d/wmr: Remove raw_accel and raw_gyro fields (NFC)
  * d/wmr: Do prediction when returning poses
  * d/wmr: Rename variables and tidy code (NFC)
  * d/wmr: log at least one space in trace log
  * doc: Document !768
  * ipc: Return XRT_ERROR_IPC_SESSION_NOT_CREATED if so is the case
  * ipc: More trace_marker functions
  * ipc: Return error from ipc_call_session_create in create_native_compositor
  * ipc: Print out all error messages, and values
  * xrt: Add new IPC session not created error
  * xrt: Correct error number
  * c/main: Refactor so we can do an early acquire
  * wmr: Don't start reading thread until setup is complete.
  * doc: Add license sidecar file for config_v0.json.northstar_lonestar example config.
  * d/ultraleap_v2: Add missing copyright/license header, reflow, and fix markdownlint warnings.
  * ipc: Print socket filename and errno in error message
  * d/oh: Fix number of inputs for generic controller
  * d/wmr: Initial 3DoF WinMR driver
  * util: Depend on bindings
  * ci: Remove build directories
  * comp: Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change
  * doc: Add MR 741 changelog
  * p/prober: Print info for applied tracking override
  * d/multi: Use supplied pose input name enum
  * doc: Add xrt_input_name to northstar example config
  * u_config_json: Load tracking override pose input name
  * u_config_json: Store tracking override pose input name
  * build/cmake: link generated bindings to aux_util
  * st/gui: Add tracker pose input name selection
  * aux/bindings: Generate char* <-> enum for all used inputs
  * c/main: None functional refactor of renderer.
  * d/ohmd: Only set output name if there is an output
  * c/main: Do not create images when initing swapchain.
  * c/main: Re-arrange comp_renderer to allow late init.
  * c/main: Add comp_target::has_images, and implement in comp_target_swapchain.
  * c/main: Add comp_target::check_ready, and implement in comp_target_swapchain.
  * c/main: Turn debug into spew
  * c/main: Normalize destroy pattern for comp_renderer.
  * c/main: Remove unimplemented comp_renderer function.
  * c/main: Normalize comp_layer_renderer_destroy convention.
  * c/main: Add comp_layer_renderer docs.
  * c/main: Add comp_renderer docs.
  * c/main: Add comp_target docs.
  * c/client: Fix comment.
  * ci: Build against libbsd-dev on Debian-based systems, for pidfile support.
  * doc: Add MR 565 changelog
  * ipc: Use xdg runtime directory for socket
  * xrt: Add u_process, backed by libbsd's pidfile
  * xrt: Add u_file_get_runtime_dir() and u_file_get_path_in_runtime_dir()
  * d/qwerty: Add SDL include dirs
  * st/oxr: Print value on bad layer type
  * t/cli: Fix warnings
  * st/oxr: Use right enum for ret check
  * st/gui: Fix warning (false positive)
  * aux/vk: Fix use free of stack variable and use correct return
  * t/psvr: Fix warning
  * u/tf: Use new trace marker helpers
  * u/trace_marker: Add render timing support
  * u/trace_marker: Add json writing helpers
  * doc: Document !721 & !754
  * ipc: Remove stale todo
  * ipc: Set correct reference count on swapchain
  * c/client: Set correct reference on swapchain
  * st/oxr: Set visibility and z_order if multi compositor controls are available
  * u/rt: Also print what kind of point we are marking when tracing
  * c/main: Fix xrt_compositor::wait_frame
  * c/multi: Implement xrt_compositor::wait_frame
  * comp: Improve docs on comp_target_swapchain
  * comp: Doc improvements.
  * os: Fix comment typo.
  * editorconfig: Update
  * doc: Exclude Android in-tree build artifacts from doxygen's scanning.
  * gradle: Bump dependency versions.
  * android: Add support for casting Context to Activity
  * st/oxr: Implement loader init extension.
  * st/oxr: Add XR_KHR_loader_init and ..._android extension
  * aux/vk: Add support for VK_EXT_global_priority
  * c/main: Set default logging level to INFO
  * c/multi: Overwrite stale scheduled frames
  * c/multi: Break potential long running tasks into functions for better trace_marker logging
  * c/render: Tidy mesh shader
  * t/psvr: Various fixes and changes
  * doc: Document !749
  * drivers: switch blend mode to array
  * aux/util: switch blend mode to array
  * ipc: switch blend mode to array
  * st/oxr: switch blend mode to array
  * inc/xrt: switch blend mode to array
  * doc: Clean up render timing docs.
  * util: Fix doxygen warnings
  * xrt: Fix doxygen warnings.
  * cmake: prober requires drv_multi now.
  * cmake: Fix include dir scope for comp_multi
  * cmake: Make the git version detection more robust
  * .gitignore: Update.
  * aux/vk: Docs for Vulkan native import helpers.
  * comp: Fix typo.
  * util: Don't try to use $HOME or $XDG_CONFIG_HOME on Android.
  * st/oxr: Clean up Android message.
  * ipc/android: Dup the socket fd in native side, close the fd on java side.
  * st/oxr: Fix running when only one hand suports hand tracking
  * d/survive: Increase device detection timeout
  * doc: Document !721
  * c/multi: Do not display frames before they are to be displayed
  * u/rt: Print frame period and tidy
  * u/rt: Tweak IIR alpha numbers
  * u/rt: Adjust app period depending on app time
  * u/rt: Adjust app time during runtime
  * u/rt: Refactor render timing
  * u/ft: Spelling
  * u/ft: Rename frame timing functions
  * u/tr: Refactor rendering timing code
  * u/ft: Tweak frame timing numbers
  * ipc: Adopt to new multi client interface
  * c/main: Explicitly wait for GPU work to finish
  * c/main: Switch to multi client layer
  * c/main: Implement new predict and mark frame functions
  * c/main: Port to using u_graphics_sync_unref
  * c/main: Implement fence functions
  * c/multi: Add new multi-client helper
  * xrt: Pass along display_time_ns to layer begin
  * xrt: Add multi session managment interface
  * xrt: Add alternative functions to wait_frame
  * xrt: Add new error code
  * xrt: Add compositor fence interface
  * aux/vk: Add fence import function
  * u/handles: Add graphics sync handle helpers.
  * u/time: Add helper comparising functions
  * st/oxr: Add more trace markers
  * targets/oxr/sdl2_hack: only do Qwerty things if we are building qwerty driver
  * meson: Add 'ulv2' to driver list
  * c/main: Follow OpenXR spec with blackground colour, tweek no layer colour.
  * u_config_json: Create root node on save if no config file loaded
  * doc: Document !715
  * st/gui: Add recording interface
  * st/gui: Add STB image writing support
  * external: Add STB header library
  * a/gst: Add GStreamer helper code
  * xrt: Add helper push frame function
  * d/vf: Add clock overlay to videotestsource
  * d/v4l2: Be more tolorant for long pipelines
  * comp: Update file header.
  * comp: Properly service Windows message queue.
  * aux/vk: Fix creation of Windows external memory backed image.
  * doc: Add mr 742 changelog
  * d/openhmd: Add support for rift CV1 controllers
  * st/steamvr: Add rift controllers
  * st/oxr: Support all known interaction profiles in selection
  * xrt: Add msft_hand_interaction path to cache and check func
  * d/vive: Setup the variable tracking for imu fusion
  * st/oxr: No longer need to work around depth Swapchain on Unreal
  * d/ulv2: Create the driver.
  * d/survive: for now always set xrt_hand_joint_set->is_active to true
  * st/oxr+xrt: add is_active to struct xrt_hand_joint_set to give drivers an easy way to deactivate hands
  * aux/math: implement math_pose_identity.
  * aux/math: Implement math_matrix_3x3_multiply.
  * d/multi: correctly override hand pose for "attached" tracking
  * d/multi: Add "attached" tracking override type
  * doc: Add changelog fragments.
  * comp: Fix conversion warnings
  * comp: Improve Windows errors.
  * comp: Enable VK_EXT_debug_report extension
  * xrt: Fix more narrowing conversion warnings.
  * comp: Fix some narrowing conversion warnings
  * comp: Use precise sleeper.
  * aux/vk: Fix doxygen warning
  * os/time: Small cleanup.
  * os: Add os_precise_sleeper.
  * os: Improve comment and prototype for os_nanosleep
  * os: Improve timestamp retrieval on Windows.
  * os: Add caveats to some timespec conversion functions.
  * os: Adjust how we compute the timeout for a semaphore.
  * cmake: Support multi-config generators
  * ipc/android: Be sure to init the mutexes.
  * xrt: Adjust how we define ssize_t on MSVC
  * aux/vk: Fix warning about narrowing conversion.
  * comp: clean up comment
  * comp/vk_client: Be sure to init/de-init the mutexes in the vulkan bundle
  * comp: Comment cleanup
  * comp/main: Use the new vk_bundle mutex functions.
  * aux/vk: Add functions to initialize and clean up mutexes in the vk_bundle
  * doc: Document !735
  * m/mathinclude: Apperently _USE_MATH_DEFINES was not enough
  * t/psvr: Ensure that m_mathinclude.h is included
  * st/prober: Change log env variable and set default level to info
  * u/logging: Fix first global log message not getting correct level, add comments
  * d/qwerty: Implement controller pose reset
  * d/qwerty: Implement controller parenting to HMD
  * d/qwerty: Improve selection of default controller
  * d/qwerty: Implement haptic output
  * d/qwerty: Implement select and menu click inputs
  * d/qwerty: Use u_logging.h with QWERTY_LOG env var
  * d/qwerty: Add variable tracking widget to UI
  * d/qwerty: Add qwerty_system for driver management
  * d/qwerty: Move left/right controllers with CTRL/ALT
  * d/qwerty: Add still qwerty controllers
  * d/qwerty: Add QWERTY_ENABLE environment variable
  * d/qwerty: Implement mouse input and sprinting
  * d/qwerty: Implement WASDQE and arrow keys HMD movement
  * d/qwerty: Connect the debug UI to the Qwerty driver
  * d/qwerty: Implement still HMD creation
  * d/qwerty: Add Qwerty driver initial boilerplate
  * d/multi: Fix contagious doxygen warning.
  * aux: Fix doxygen warnings
  * ipc: Fix doxygen warning
  * st/oxr: Fix doxygen warning
  * st/prober: Fix doxygen warnings
  * comp: Fix doxygen warnings
  * aux/vk: Wrap statement defines in do {} while (0)
  * ipc: De-duplicate member for simplicity and to avoid Doxygen warning
  * imgui_monado: Fix a few warnings
  * aux: fix or silence warnings
  * comp/main: Fix warnings
  * st/prober: Fix warnings
  * st/steamvr: Fix warnings
  * comp/main: Deal with MSVC not liking static array sizes being non-constant.
  * comp/main: Implement consumption of sync handle on Windows
  * a/util: Non-linux implementation of u_file
  * cmake: aux/vk depends on aux/os
  * a/util: Stub out trace marker on non-Linux for now.
  * aux/util: Silence warnings on MSVC
  * ci: Adjust quotes based on formatter
  * u_vive: Fix debug level of printing acc_bias
  * d/vive: remove duplicate range record error message
  * d/vive: change imu range report error->info
  * st/p: Change tracking override target/tracker not found error->warning
  * u_config_json: Change node not found error->info
  * d/vive: change config start report error->info
  * ipc: Change server exiting error->info
  * d/survive: Change event for unknown object error->info
  * d/ht: Change hand tracking not set up error->debug
  * st/p: change PSVR/PSMV not set up error->info
  * u_config_json: Remove bogus "No tracking node" messages
  * u_config_json: Make missing tracking node messages friendlier
  * u_config_json: Remove duplicated is_json_ok code
  * u_config_json: clarify json not parsed error message
  * u_config_json: change no config file warning->info
  * xrt: Make xrt_swapchain be reference counted
  * build/meson: Allow disabling tracking
  * u_config_json: Fix saving when no config file exists
  * st/gui: Fix warning
  * d/remote: Fix warning
  * aux/util: Fix comment for u_device_setup_tracking_origins
  * ci: Fix focal container
  * ci: Add doxygen and graphviz to packaging images
  * ci: Fix Ubuntu Groovy image.
  * d/illixr: Add driver name
  * ci: Add ubuntu groovy.
  * scripts: Print out clang-format version
  * build: Depend XRT_FEATURE_SERVICE on XRT_FEATURE_OPENXR
  * build: XRT_FEATURE_SERVICE requires XRT_FEATURE_OPENXR
  * m/3dof: Add assert for timestamp paranoia
  * d/psvr: Ensure that timestamps are always after each other
  * doc: Document !705
  * c/main: Detect when config is needed but missing
  * st/oxr: Handle XRT_ERROR_EGL_CONFIG_MISSING
  * xrt: Add XRT_ERROR_EGL_CONFIG_MISSING error
  * xrt: Return xrt_result_t from xrt_gfx_provider_create_gl_egl
  * external: Update EGL with another extension
  * c/main: Be even more paranoid about display timing code
  * u/timing: Deal slightly better when timing info appears to time travel
  * u/timing: Add when_predict_ns on first frame
  * doc: Add changelog for MR 712
  * ipc: Print information to delete socket file
  * build/meson: Print more build options on meson run
  * build/cmake: Print if systemd is found
  * build/meson: Install systemd service file with meson
  * build/meson: Add systemd feature option for monado-service
  * xrt: Fix typo in u_file
  * c/main: Remove unused fields
  * c/main: Use correct predicted display time for rendering
  * xrt: Increase number of autoprobers to 16
  * d/hdk: Use a mutex for get_tracked_pose
  * d/vive_controller: Use a mutex for get_tracked_pose and update_inputs
  * d/vive: Use a mutex for get_tracked_pose
  * d/survive: Use thread for processing events
  * st/prober: fix off by one in reallocating list of disabled drivers
  * doc: Document !697
  * doc: Add frame timing documentation
  * t/service: Enable tracing
  * t/oxr: Enable tracing
  * ipc: Trace markers
  * st/oxr: Trace markers
  * c/main: Trace markers
  * c/main: Hookup up new frame timing code
  * aux/vk: Load VK_GOOGLE_display_timing functions
  * t/cli: Add trace piping support
  * u/timing: Add frame timing code
  * u/tracing: Add trace marker code
  * doc: Fix missing entities from modules documentation
  * doc: Add changelog for MR !704
  * doc: add northstar example config
  * doc: Add changelog for MR 695
  * d/ns: Remove tracker logic in favor of tracking overrides
  * aux/util: Save tracking override config
  * aux/util: Store calibration config non-destructively
  * gui: Add gui for tracking overrides
  * aux/util: Move json config parsing to aux/util
  * aux/util: Move read_content to u_file
  * xrt: implement multi device wrappers for tracking overrides
  * d/rs: Add prober and create xrt_device for rs
  * d/rs: exit early if no realsense device is connected
  * d/rs: Initialize offset to identity
  * st/prober: Disable vive driver when we have survive
  * st/prober: Add ability to skip drivers
  * d/survive: Use autoprober interface
  * cli: Print built in drivers from driver names
  * st/prober: Allow querying entries and autoprobers
  * xrt: Add a static driver_name to probers
  * d/ns: Add autoprober name
  * d/vive: Give consistent name to HMD
  * d/survive: Give consistent name to HMD
  * build/meson: Make it possible to disable daydream&arduino
  * d/psvr: Don't report created device if creation failed
  * st/prober: Print name of misbehaving autoprober
  * doc: Update mr.676.md to mention another MR.
  * ipc/android: Start client listener thread when get new fd from client.
  * doc: Remove md prefix from all Markdown pages
  * xrt: Add doccomment and fix doxygen error
  * doc: Tidy mainpage.md
  * st/prober: Allow autoprobe function to create more than one device.
  * t/service-lib: Remove unused header.
  * ipc/android: Switch to using client push mutex to avoid cond var wait in server.
  * ipc/android: Fix potential lost signal to client
  * ipc/android: Remove old workaround
  * ipc/server, t/server_lib: Implement mainloop code for Android, using a pipe.
  * doc: Add Android details to the IPC doc
  * t/cli: Tidy
  * c/main: Refactor out wait idle to own function
  * c/main: Tidy comp_target_swapchain
  * u/ht: Sort build files
  * u/timing: Rename files
  * u/timing: Improve render code, predict when frame should be delivered
  * u/time: Make defines more readable and add more defines
  * u/time: Use double for time conversion
  * ipc: Refactor out broadcasting of timings
  * cmake: Output XRT_FEATURE_COLOR_LOG status
  * ci: Revise conditions for packaging to avoid breaking on main branch of forks
  * ci: Update images, improve packaging script
  * doc: Document !692
  * targets: Show implot demo
  * imgui: Add implot demo
  * ipc/server: Factor out the mainloop code that may vary between platforms
  * doc: Add IPC design/details doc, with only the existing Android details
  * doc: Fix doxygen warning
  * d/ht: Fix typo in docs
  * aux/vk: Add docs to helpers
  * doc: Document !964
  * ipc: don't drop the blend mode on the floor
  * doc: Add changelog for MR 691
  * d/vive: Add controller rotation pose prediction
  * d/vive: Add HMD rotation pose prediction
  * doc: Document !960
  * st/oxr: Fix crash
  * doc: Document !689
  * doc: Document !688
  * st/oxr: Quirk UnrealEngine
  * st/oxr: Detect UnrealEngine
  * st/oxr: Log application info
  * ipc/server: Print application info
  * st/oxr: It's not a error to pass in XrSystemHandTrackingPropertiesEXT
  * build/meson: Explicitly depend on generated binding header
  * d/remote: define _BSD_SOURCE for SOL_TCP on musl
  * doc: Document !686
  * st/prober: Improve xrt_prober_destroy
  * st/prober: Add copydocs
  * st/prober: Clarify xrt_prober_get_string_descriptor
  * st/prober: Tidy and add doc-comment
  * st/prober: Use U_LOG_RAW for dump function
  * d/psmv: Use bluetooth mac as serial
  * prober: return XRT_PROBER_STRING_SERIAL_NUMBER for bluetooth devices
  * os/hid: Add get_physical_address()
  * st/steamvr: Use serial number for controller id
  * d/vive: Improve naming scheme
  * d/survive: Improve device naming scheme
  * xrt: Add xrt_device::serial for uniquely identifying devices if possible
  * d/rs: Use XRT_INPUT_GENERIC_TRACKER_POSE instead of XRT_INPUT_GENERIC_HEAD_POSE
  * d/survive: Create devices for trackers
  * xrt: Add XRT_INPUT_GENERIC_TRACKER_POSE
  * d/survive: Update to new API and clean up
  * d/vive: Remove vive_controller_device::variant and use variant from config
  * d/vive: Remove vive_device::variant and use variant from config
  * aux/vive: Parse hmd variant and add various model strings
  * readme: Clarify clang-format usage/version
  * reuse: Update dep5 file
  * ext/openxr: Update headers to 1.0.14
  * external/flexkalman: Add some missing copyright/license headers
  * doc: Cleanup howto-release
  * d/ht: Fix mistaken 2029 copyright date.
  * comp: Fix VkDisplayKHR direct mode build without libx11-xcb
  * ipc/android: Specify full qualified service name
  * ipc/android: Clean up MonadoService
  * gradle: Update to android-gradle-plugin 4.1.2
  * t/oxr_android: Fix gradle build for release 21.
  * math: Fix doc warnings
  * ipc: Fix typo in comment
  * ipc: Fix doc warning
  * u/hand_tracking: Hand Joint flags can only be as valid as hand flags
  * aux/android:add blank line between functions
  * aux/android: Make MonadoView focusable optional
  * aux/android: Make MonadoView not focusable/touchable
  * doc: Add mr 677 changelog
  * comp: Don't allocate ubos with VK_MEMORY_PROPERTY_HOST_CACHED_BIT
  * aux/vk: Add trace info when memory type is unsupported
  * build/cmake: Don't use PythonInterp on old cmake
  * d/vf: Declare dependency to avoid build issues
  * d/vf: Refactor code to add videotestsrc capability and break out gstreamer detection
  * d/vive: Refactor out vive config code into auxiliary library
  * doc: Add changelog for MR 674
  * d/survive: Port to vive_config parsing
  * build/cmake: Add vive_config include dir to survive
  * build/meson: Add vive_config include dir to survive
  * build/cmake: make vive_config lib and link to vive, libsurvive
  * build/meson: make vive_config lib and link to vive, libsurvive
  * d/vive: Factor out controller config into separate struct
  * d/vive: Factor out config into separate struct
  * monado: Update version
  * doc: Remove old changelog fragments
  * doc: Update CHANGELOG.md
  * doc: Add HOWTO release document
  * d/ns: Fix informational message about example configs
  * d/ns: Pretty print json example config with jq
  * cmake: Tidy
  * u/sink: Add Bayer format converter
  * xrt: Add XRT_FORMAT_BAYER_GR8 format
  * d/v4l2: More buffers
  * d/v4l2: Expose more information
  * xrt: Expose more information on frame servers
  * c/main: Lower priority on sRGB format
  * u/timing: Fix typo
  * c/main: Also print format when debugging swapchain creation
  * st/oxr: Check swapchain format support in st
  * comp: Return proper errors for Vulkan xrCreateSwapchain
  * comp: Return proper errors for OpenGL xrCreateSwapchain
  * st/oxr: cache VkInstance in xrGetVulkanGraphicsDeviceKHR
  * doc: Document !666 and !667
  * u/distortion: Tidy Vive & Index distortion code
  * u/distortion: Fix DPOLY3_SCALED 4th coefficient application
  * u/distortion: A stab in the dark to try and improve Index chromatic aberration
  * u/distortion: Filp order of array access in distortion for Vive & Index
  * u/distortion: Make Vive & Index distortion center per channel
  * u/distortion: Fix math error in u_compute_distortion_vive
  * d/vive: Fix distortion center config parsing
  * st/oxr: Tidy code
  * st/oxr: Check XrHandJointLocationsEXT::jointLocations for NULL
  * st/oxr: Correctly validate quats to be within 1% of unit length
  * math: Add quat valdiate that only checks within 1% of unit length
  * u/rt: Tidy and documment render timing code
  * bindings: Fix double slash error
  * bindings: Update copyrights
  * aux/bindings: Add "features" to inputs in bindings.json
  * build: Move bindings build to bindings/subdir
  * aux: generate b_generated_bindings.{c,h} instead of xrt_generated_bindings.{c,h}
  * doc: add changelog for MR 638
  * steamvr: Implement support for and default to generated input profile
  * build/cmake: generate steamvr input profiles
  * build/meson: Generate SteamVR input profiles
  * aux/bindings: Add script to generate steamvr input profiles
  * xrt: Move oxr_binding_data.h to json profile generator
  * st/oxr: Rename sub_path variables to subaction_path
  * xrt: Add various device and input enum values
  * steamvr: Use simple vibration as fallback
  * xrt: cast XRT_GET_INPUT_TYPE result
  * build/meson: Copy steamvr assets at build time, not configure time
  * steamvr: Add comment about pose time offset
  * ipc: Tidy logging
  * xrt: Remove prepare function from xrt_compositor
  * xrt: Introduce xrt_system_compositor
  * ipc: Tidy code and clang-format
  * st/gui: Tidy code and clang-format
  * st/oxr: Tidy code and clang-format
  * comp: add VkDisplayKHR window backend
  * t/oxr_android: Add empty service for runtime advertisement
  * gradle: Update comment
  * gradle: Remove redundant, unused task
  * comp: Render with pose for next display time, not last
  * scripts: Add support for clang-format 10 and 11
  * d/ns: Work-around clang-format stuff
  * math: Work-around clang-format stuff
  * xrt: Reflow after column change
  * xrt: Change number of columns to 120
  * d/survive: Wait max 5 seconds for HMD and device configs
  * aux/vk: Add formats used in CTS to format string function.
  * aux/vk: Lock vkCmdPipelineBarrier with pool mutex.
  * cmake: Turn on XRT_FEATURE_OPENXR_LAYER_EQUIRECT1 by default.
  * c/main: Remove unused field
  * comp: Extend nvidia VK_ERROR_INITIALIZATION_FAILED message
  * comp: Fix depth-stencil image validation warning
  * comp/vk: Guard VkCommandBuffer usage with command pool mutex.
  * doc: Document MR 645.
  * comp/vk: Lock command pool calls with a mutex.
  * comp/vk_client: Improve error messages.
  * comp/vk: Put queue mutex around vkDeviceWaitIdle calls.
  * comp/vk: Lock our only VkQueue with a mutex.
  * drv/android: Fill in xrt_device str.
  * d/rs: predict pose
  * d/rs: apply offset to t265 pose, d/ns: fix up some minor things, load realsense offset from json file
  * d/ns: fix polynomial distortion math again, document nonsensical parts of polynomial math, update config files
  * d/ns: possibly fix mesh calculation
  * d/ns: Hopefully make v2 driver read ipd from baseline in v2 config files
  * d/ns: apply right eye fov correctly
  * d/survive: Predict poses for requested time
  * aux/math: special case delta_s == 0 in m_predic
  * aux/math: Add prediction module
  * st/oxr: Remove dynamic prediction code
  * st/oxr: Convert the given at_time when asking for relations from devices
  * d/rs: Save a lot more data from the latest pose
  * steamvr: Request hmd pose at current time instead of 1
  * u_time: Make time_s_to_ns take double, not floa
  * c/client: Ensure that EGL_ANDROID_native_fence_sync
  * build/meson: Build and run tests
  * comp: Add support for list of optional device extensions
  * doc: Add changelog for 633
  * st/oxr: Implement XR_KHR_vulkan_enable2
  * external: Update OpenXR includes to 1.0.13
  * oxr: Add XR_KHR_vulkan_enable2 to ext generator script
  * doc: add changelog for mr 635
  * u/hand_tracking: Curl fingers based on joint, increase total curl angle
  * d/ht: Set up tracking origin with no offset
  * xrt: Rename hand_origin to hand_pose
  * u/device: Add U_DEVICE_ALLOC_NO_FLAGS
  * d/ht: Don't create hand tracking driver without successful init
  * u/device: Assign left/right hand trackers if no controllers are available
  * doc: Add changelog for mr 636
  * d/psmv: Scale rumble value on zcm1
  * doc: Add changelog for mr 634
  * st/oxr: Add env vars for global tracking origin offset
  * build/cmake: Enable survive driver when libsurvive is installed
  * illixr: Add initial integration.
  * c/client: Insert fence and give sync handle on layer_commit (EGL for now only)
  * c/main: Make sure to close sync handles on layer_commit
  * ipc: Support sending sync handles on layer_commit
  * ipc/shared: Support sending graphics sync handles
  * xrt: Add sync_handle argument to layer_commit
  * external: Update EGL bindings and more extensions
  * doc: Document MR 627.
  * t/ctl: Tidy printing
  * ipc: Port to u_logging.
  * c/client: Port printfs to static u_logging.
  * targets/openxr/sdl2_hack: Port to static u_logging.
  * st/gui+steamvr_drv: Port to u_logging.
  * st/oxr: Port to u_logging.
  * st/prober: Port to u_logging.
  * aux/math: Port to u_logging.
  * aux/vk: Port to u_logging.
  * aux/tracking: Port to u_logging.
  * aux/os/ble_dbus: Use printf padding.
  * aux/os/ble_dbus: Port to u_logging.
  * xrt: Port commented printfs to u_logging.
  * d/realsense: Port to static u_logging.
  * d/vive/conteroller: Porting to static u_logging.
  * d/ohmd: Port to u_logging.
  * d/ohmd: Make env variables consistent with driver name.
  * d/daydream: Port to u_logging.
  * d/hydra: Port to u_logging.
  * d/arduino: Port to u_logging.
  * d/ns: Port to u_logging.
  * d/survive: Port to u_logging.
  * d/v4l2: Port to u_logging.
  * d/vf: Port to u_logging.
  * d/hdk: Port to u_logging.
  * service: Use new u_logging ENV variable for compositor.
  * u/logging: Implement global log level.
  * u/logging: Implement optional color logging.
  * u/logging: Align log level prefixes.
  * d/survive: Ignore -Wignored-qualifiers in survive header.
  * meson: Fix building survive on auto.
  * comp: Fix Wayland backend
  * steamvr: Make serial unique by appending xrt_hand
  * d/ohmd: Add display left rotation for Oculus Rift DK2
  * d/vf: Use static logging if no object is provided.
  * meson: Silence verbose OpenCV C11 extension warnings on clang.
  * st/steamvr_drv: Silence unfixable OpenVR cpp warnings.
  * c/comp: Fix switch fall through warning in gcc10.
  * d/ht: Remove unused variable. Fixes warning on gcc 10.
  * c/main: Silence warnings and make sure that layer configs are picked up
  * doc: Document MR 620.
  * c/layers: Don't build equirect code if not enabled.
  * c/layers: Implement equirect1 rendering.
  * c+ipc+st: Complete equirect1 boilerplate.
  * src: Consistently append 1 to equirect1 code.
  * src: Consistently append 2 to equirect2 code.
  * st/prober: Make video file input work with no camera connected
  * ipc: Make OXR_DEBUG_GUI=1 work with monado-service
  * d/psvr: Make get_tracked_pose thread safe
  * comp: Add XRT_COMPOSITOR_DEFAULT_FRAMERATE variable, default to 60
  * comp: Hook up xcb fullscreen and display settings to variables
  * comp: Default xcb window to VK_PRESENT_MODE_IMMEDIATE_KHR
  * ipc/server: Rename ipc_server_client.c to ipc_server_handler.c
  * ipc/server: Remove (f)printf usage from code
  * ipc/server: Refactor out per_client_thread
  * xrt: Code style
  * t/hand: Remove per frame printing
  * cmake: Turn error into warning
  * cmake: Make sure we have XRANDR if we have XLIB
  * README: Add oddly named packages for Fedora
  * t/hand: warn when rectification matrix doesn't match image matrix
  * t/hand: Add comment that rectification is expensive
  * d/vf: Add video file playback driver
  * t/hand: Add hand tracking module
  * d/ht: Add hand tracking driver code skeleton
  * xrt: Split hand tracking input name into left/right
  * doc: Update changelog.
  * t/oxr: Export the right symbol on Windows.
  * comp: Guard more of the caps-detector with an ifdef.
  * comp: Remove unused macro
  * inc/xrt: Reference the Vulkan extension table from related data.
  * comp: Add comments near Vulkan extension lists about updating docs.
  * doc: Document the Vulkan extensions used, in a table in Doxygen.
  * util: Port logging to OutputDebugString on Windows
  * cmake: Handle SDL2 static builds
  * comp/main: Windows work - got a window to appear!
  * comp/main: Remove *nix-only include
  * readme: Mention security issue process.
  * readme: Link to the "live" web changelog
  * readme: emphasize that gitlab issues/MR's used for discussion
  * xrt: Remove unused XRT_DEVICE_ANDROID.
  * d/android: Use XRT_DEVICE_GENERIC_HMD device name.
  * android/service_taget: Store native window pointer as global.
  * android/service_target: Init ipc server in Android service.
  * ipc/server: Add Android main entry point which receives fd.
  * ipc/server_process: Don't init listen socket and epoll on Android.
  * ipc/server: Factor out start_server_thread function.
  * android/Client: Start IPC process in thread.
  * c/window_android: Use cached surface from IPC.
  * android/Client: Create Android surface for OoP.
  * android/MonadoView: Make native pointer optional.
  * aux/android_globals: Provide API to store a native window globally.
  * MonadoView: Don't be a Hilt view. Resolve exception.
  * android: IPC/service-related cleanups.
  * ipc/android: Be a foreground service
  * t/oxr_android: Bind ServiceNotificationImpl
  * t/android_common: Implement IServiceNotification
  * aux/android: Create an interface for handling foreground service notification
  * ipc/android: Improve Client
  * t/oxr_android: Split android UI that is not target-specific to a separate common target.
  * xrt/android: Actually start using dependency injection in Java/Kotlin code.
  * t/oxr_android: Add resources and build code to grab the CDDL license for display.
  * gradle: Handle kotlin in multiple parts of the build
  * ipc/android: Initial port of parts to Kotlin.
  * aux/android: More null checks
  * t/oxr_android: Mention out-of-proc in app name resource
  * st/oxr_android: Provide a shutdown runtime button in activity.
  * ipc/android: Clean ups and debug messages
  * ipc/android: Single point of truth for action name.
  * ipc/android: Clean up, adjust action name, adjust manifest.
  * gradle: Start using a plugin to use SVG files as vector drawables sources.
  * ipc/android: Bump minSdkVersion
  * gradle: Update Android plugin
  * st/oxr_android: Add icon to VR Listener service
  * st/oxr_android: Declare sensor usage in manifest
  * gradle: Break release build on a // STOPSHIP comment
  * gradle: Factor out the dependency versions to a build-wide variable
  * cmake: Fix Android linking error
  * android/ipc/Client.java: call connectSync.notify().
  * ipc/client: Start using Android-specific code if needed.
  * ipc/android: Add Android-specific native code library.
  * ipc/android: Add a blocking connect Java method, and small clean-ups.
  * meson: Generate a mock Android config header.
  * doc: Document MR 611.
  * d/android: Use display metrics instead of hardcoded Pixel 3 values.
  * aux/android: Implement display metrics acquisition.
  * c/renderer: Fix right eye viewport when not pre-rotating.
  * u/sink_converter: Silence warning
  * u/sink_converter: Refactor allocation function a bit more
  * u/sink_converter: Remove u_sink_converter::frame
  * u/sink_converter: Clarify dst frame of format conversions
  * u/sink_converter: clarify ensure_data()
  * sdl2hack: Don't call SDL_Quit()
  * os/threading: Fix typo in comment
  * d/remote: Only define __USE_MISC if not defined
  * c/renderer: Pre-rotate display for transformed surfaces.
  * aux/math: Implement math_matrix_2x2_multiply.
  * st/oxr: Add view space case to hand tracking data
  * u/hand_tracking: Tweak hand model parameters
  * u/hand_tracking: Calculate joint velocities
  * u_hand_tracking: Fix typo in u_hand_tracking_model
  * st/oxr: Add verification of XrHandJointVelocitiesEXT
  * xrt: Add support for locating hand joints in action spaces
  * aux: Add m_space_graph_add_inverted_relation
  * aux: Add m_space_relation_invert
  * st/oxr: Fix exporting of negotiate function.
  * st/gui: Don't export symbols from cimgui
  * external: Don't export symbols from cjson
  * t/gui: Fix linking on Windows
  * comp/main: Fix finding M_PI
  * comp/main: Change annotation for struct packing for MSVC compatibility.
  * comp/main: near and far are keywords on Windows.
  * xrt: Have the vk_helper vk_create_device take in a list of device extensions, and fix usages.
  * comp/main: Clean up lists of extensions in main compositor
  * inc/xrt: Comments
  * comp/client: Clean up Vulkan extension list, and add Windows extensions.
  * build: meson: Add remote driver build
  * c/main: Make COMP_ERROR respect log level
  * c/render: Change some COMP_ERROR to VK_ERROR
  * doc: Add changelogs for MR 599
  * c/main: Tidy comp_target_swapchain
  * c/main: Tidy comp_android_window
  * c/main: Remove vk field from comp_target_swapchain
  * c/main: Remove comp_window struct
  * c/main: Move c field from comp_window to comp_target
  * c/main: Refactor vk_swapchain into comp_target_swapchain
  * c/main: Introduce comp_target struct
  * c/main: Tidy vk_swapchain a bit
  * m/space: Make sure to not drop positions
  * st/gui: Add remote hand tracking controls
  * d/remote: Add hand tracking support
  * st/oxr: Make sure to restore old EGL display/context/drawables when creating a EGL compositor
  * doc: Add changelog for MR 600
  * d/ohmd: Rotate rift s display right, not left
  * steamvr: support rotated displays and direct mode
  * d/ohmd: Update display rotation code
  * xrt: Remove lens center from xrt_view
  * xrt: Improve comment documenting xrt_view::viewport
  * xrt: Improve comment documenting xrt_view::display
  * xrt: Document that xrt_hmd_parts::screens dimensions are before rotation
  * doc: Document MR 601.
  * ipc/server: Port printf calls to static u_logging.
  * ipc: Port to u_logging.
  * t/service-lib: Simplify.
  * cmake: Do not build SteamVR plugin on Android.
  * gradle: Remove unused dependencies.
  * android: Update to AboutLibraries 8.5.0
  * aux/android: Factor out a "native counterpart" class.
  * steamvr: Fix running without controllers
  * aux/vk: Minimal, untested implementations of these for Windows - fixes build
  * t/oxr_android: Fix Doxygen warning.
  * st/steamvr: Fix build on Windows.
  * st/oxr: Fix outdated reference in docs.
  * a/util: FIx ambiguity of directories for docs.
  * docs: Disable LaTeX output, to silence warnings.
  * cmake: Fix warning in SteamVR driver target
  * u_hand_tracking: Fix usage of M_PI
  * d/psvr: Fix typo in config/debug macro
  * build: Disable IPC on Windows.
  * aux/util: Adjust conditional log macros to handle msvc correctly
  * cmake: Disable remote driver on things other than Linux and Android for now.
  * doc: Add MR 597 changelogs
  * d/psvr: Rename some hid variables for better code
  * os/time: Add a Linux specific way to get the realtime clock (for RealSense)
  * os/time: Make timespec argument const
  * misc: Adjust clang-tidy options.
  * d/ns: Some clang-tidy cleanups
  * d/hdk: Appease clang-tidy a little more.
  * aux/os: More defines to calm clang-tidy.
  * a/util: Appease clang-tidy with a define for ns per second
  * u_debug: Remove duplicate declaration
  * d/ns: const correctness cleanup for math.
  * d/ns: Fix memory leak in math
  * doc: Add changelog for MR 583
  * steamvr: Implement basic SteamVR driver
  * external: Add OpenVR driver header
  * xrt: Move tracking origin setup code to u_device
  * xrt: Move device assignment code to u_device
  * build/cmake: Fix udev related warning
  * Fix trailing space in xrGetVulkanDeviceExtensionsKHR
  * d/survive: Fix bindings declaration after rebase of MR 587
  * doc: Add changelogs for MR 591
  * st/oxr: Add OXR_FRAME_TIMING_SPEW var to print basic frame timing information
  * comp: Add basic frame timing information to trace log
  * aux: Use time since time_state creation for time_state timestamps
  * st/oxr: submit layers with os monotonic timestamp, not XrTime
  * t/oxr_android: Work on aboutLibraries usage.
  * gradle: Update gradle to 6.7
  * t/oxr_android: Generate license resource at build time.
  * ipc/android: Add additional service options
  * gradle: Allow python location to be explicitly specified in local.properties
  * t/oxr_android: Rename activity and add version field
  * st/oxr: Use new xdev providing binding
  * ipc: Add support for device provided bindings
  * d/vive: Add device bindings
  * d/survive: Add device bindings
  * d/psmv: Add device bindings
  * d/daydream: Add device bindings
  * d/arduino: Add device bindings
  * xrt: Add device driver provided bindings
  * monado: Update version
  * doc: Remove old changelog fragments
  * doc: Update CHANGELOG.md
  * oxr: Add one missing mutex to active_wait_frames
  * d/psvr: Tidy code
  * doc: Add changelog for MR 589
  * oxr: Implement additional xrWaitFrame/xrBeginFrame call order checks
  * xrt: Move synchronized state test into oxr session
  * ipc: log ipc calls and dispatch with IPC_PRINT_SPEW
  * ipc: hook up IPC_PRINT_SPEW and IPC_PRINT_DEBUG variables
  * c/main: Revert "Transition to visible/focused after xrEndFrame, not xrWaitFrame"
  * monado: Update version
  * doc: Remove old changelog fragments
  * doc: Update CHANGELOG.md
  * external: SPDX/REUSE compliance
  * xrt: Add misc missing copyright/license notices
  * ci: Add SPDX/REUSE data.
  * clang-format configs: Fix SPDX tags
  * doc: Add spdx tags.
  * cmake: Add SDPX tags
  * cmake: Make sure we are looking for Python 3.8 and 3.9
  * comp: Transition to visible/focused after xrEndFrame, not xrWaitFrame
  * doc: Document merge request changes.
  * t/oxr_android: Include library attribution/notices in "about" activity.
  * d/android: Use not-deprecated API when possible.
  * d/android: Enable cardboard distortion.
  * d/android: Add Android sensors driver.
  * t/oxr_android: Move some distribution-related strings to build system
  * t/oxr_android: Set package version from Git
  * t/oxr_android: Match theme to temporary logo
  * t/oxr_android: Improve VR Mode status messages
  * gradle: Provide a default eigenIncludeDir that works on Linux
  * t/oxr_android: Add fragment to the main activity
  * t/oxr_android: Add VrModeStatus fragment.
  * a/android: Store a native pointer in the MonadoView.
  * a/android: Migrate to using the MonadoView generated wrapper.
  * a/android: Add some partially-generated wrappers for our own Java code.
  * external/android-jni-wrap: Upgrade base header for new features
  * a/android: Use android_custom_surface constructor/destructor
  * a/android: Monitor whether MonadoView is still being used by native code.
  * t/oxr_android: Clean up main activity.
  * ipc: Add ipc_android doc group
  * ipc: Add ipc_shared doc group
  * ipc: Refactor folders
  * t/[gui|oxr]: Directly reference SDL2 in CMake
  * d/remote: Fix warning when building with clang
  * a/android: Move class name to a constant.
  * a/android: C++ headers use .hpp as the extension
  * a/android: Fix some file comments.
  * t/oxr_android: Add version annotation to the VR listener
  * st/oxr_android: Adjust name string
  * st/oxr_android: Clean up manifest
  * a/android: Make MonadoView fullscreen.
  * t/oxr_android: Clean up manifest
  * t/oxr_android: Rename the VrListener class/service.
  * c/eglimage_swapchain: Actually return created swapchain.
  * c/gl_client: Check if swapchain is not NULL.
  * c/gl_client: Port to u_logging.
  * st/oxr: Add GLES Android session boilerplate.
  * aux/android/ahardwarebuffer_allocator: Use Vulkan enums in format switch.
  * aux/vk+comp/sc: Initialize extra structs for hardware buffer extension.
  * aux+comp: Add Android hardware buffer device extension.
  * aux/vk: Add vkGetAndroidHardwareBufferPropertiesANDROID.
  * aux/android/ahardwarebuffer_allocator: Add function to allocate a single buffer.
  * a/android: Improve monadoview, including fixing deleted ref problem.
  * comp: Basic Android compositor window.
  * aux/android: Enhance custom surface
  * aux/android/custom_surface: Make JNI happy.
  * aux/android/load_class: Use pkgClassLoader.loadClass to load MonadoView class.
  * android/MonadoView: Register surface callback and fix imports.
  * comp/main: Define Android extensions.
  * comp/main: Don't check for VK_KHR_display on Android.
  * android/manifest: Extract libs.
  * aux/vk: Fix a place where we were missing an android ifdef
  * aux/android: Add custom surface code.
  * aux/android: Add code to load Java from a package
  * t/oxr_android: Add Android-specific subdirectory
  * ipc_android: Add Android-specific Java/AIDL code
  * aux/android: Add Java code
  * gitignore: Ignore the rest of the gradle wrapper
  * build: Add the gradle wrapper properties file.
  * inc/xrt: Add Android config header to store package name.
  * gitignore: Ignore all .idea files
  * a/android: Fix typo in comment
  * build: Actually search for Python 3 interpreter before using it.
  * targets: Add service-lib stub for Android
  * cmake: Fix FindOpenGLES
  * aux/util: Port logging for Android.
  * external: Add android-jni-wrap.
  * external: Import jnipp
  * u/distortion: Set blend mode incase it is zero
  * m/space: Normalize orientation when returning result
  * c/main: Fix projection layer flags not getting set
  * doc: Add a bunch of change logs
  * m/headers: Fix doxygen warnings
  * u/hand_tracking: Tidy header
  * d/psvr: Switch to logging API
  * d/dummy: Add logging to variable tracking
  * d/dummy: Switch to logging API
  * d/dummy: Tidy file
  * c/main: Fix leaks of samplers and tidy code
  * u/distortion: Add simple cardboard distortion code
  * u/mesh: Tidy header
  * st/prober: Depend on remote driver as we reference it directly
  * st/oxr: Improve verification of XrGraphicsBindingEGLMNDX
  * st/oxr: Minor fixes for oxr_session_egl
  * st/oxr: Fix missing semicolons
  * st/oxr: Timeout minimum duration pulses after 0.1 seconds
  * cmake: Enable equirect2
  * meson: Add equirect2 to build.
  * st/oxr: Add equirect2 verify and submit functions.
  * c/main: Implement XR_KHR_composition_layer_equirect2.
  * c/shaders: Add equirect shader.
  * c/comp: Init repeat sampler for swapchain images.
  * aux/math: Implement math_matrix_4x4_inverse_view_projection.
  * xrt: Add printing list of built in drivers to monado_cli probe
  * d/oh: Add startup delay for Rift S and rotate left
  * st/oxr: Fix state changes errors
  * xrt: Add git tag/description
  * st/prober: Add remote loading
  * st/prober: Add the concept of active config to config file
  * st/prober: Refactor out adding functions.
  * st/gui: Add remote device control ui
  * d/remote: Add remote driver
  * st/oxr: Add simple controller bindings
  * xrt: Add simple controller input profile
  * st/oxr: Add option to disable printing to stderr
  * st/oxr: Improve pose sub-path handling
  * c/render: Refactor out distortion rendering
  * c/main: Tidy names
  * c/main: Remove viewport_id in mesh shader
  * c/main: Round viewport to cover the same as scissors
  * c/main: Refactor shader loading to own file
  * aux/vk: Add vkFreeDescriptorSets
  * d/survive: Implement haptic feedback
  * d/vive: Actually Use defined values for default haptic frequency and min haptic duration
  * d/vive: Use defines for minimum haptic frequency and unspecified haptic frequency
  * xrt: Add defines for minimum haptic frequency and unspecified haptic frequency
  * d/vive: curl thumb when touching a button
  * d/survive: curl thumb when touching a button
  * doc: Add MR 555 changelog
  * d/survive: Add fingertracking and refactor
  * d/vive_controller: Add finger tracking
  * aux: Add hand_tracking util
  * ipc: Add missing position_tracking_supported passthrough
  * xrt: Implement & hook up hand joint tracking infrastructure
  * d/ns: Don't create rs tracker twice on v1
  * readme: Add minimal dependency info for Windows
  * t/cli: Fix build on Windows.
  * u_handles: Add Win32 handle utilities
  * st/oxr: Replace __typeof__ usage with portable syntax.
  * inc/xrt: have the vulkan includes include windows.h neatly.
  * build: Link aux_util against threads explicitly
  * xrt: Add Win32 Vulkan platform define when needed
  * inc/xrt: Windows uses Win32 HANDLEs for things.
  * inc/xrt: Add a header for minimally including Windows.h
  * u_json: Properly silence secure CRT warnings.
  * u_bitwise: Switch from static const int to defines.
  * c/main: Remove none shaders
  * c/main: Add more logging levels
  * ipc: Use new none distortion code
  * d/ohmd: Use new none distortion code
  * d/hdk: Use new none distortion code
  * d/dummy: Use new none distortion code
  * u/mesh: Add back none distortion generation
  * c/main: Use log levels
  * c/main: Use u_logging.
  * build/meson: Build daydream and arduino driver when dbus is enabled
  * build/meson: Add XRT_HAVE_DBUS when dbus is found
  * build/meson: Fix formatting for survive driver enablement
  * xrt: Define XRT_FEATURE_COMPOSITOR_MAIN and XRT_FEATURE_OPENXR
  * st/oxr: Add extension support for XR_KHR_composition_layer_equirect2
  * external: Update OpenXR headers to 1.0.12
  * t/cli: Add lighthouse command
  * os/ble: Use logging
  * os/ble: Large refactor of code
  * os/ble: Add os_ble_broadcast_write_value function
  * os/ble: Correct documentation on os_ble_notify_open function
  * xrt: Add XRT_HAVE_DBUS
  * build/ctl: Explicitly depend on generated ipc client header
  * st/oxr: Destroy client compositor when session is destroyed
  * st/oxr: Use xrt_comp_native_destroy helper
  * ipc: Free client side compositor
  * c/client: The client compositors doesn't own the native compositor
  * d/dummy: Make view rotate slightly with time
  * d/dummy: Make the view move slightly with time
  * xrt: Rename xrt_uv_triplet
  * doc: Add changelog for MR 538
  * d/openhmd: Make struct oh_device private and refactor
  * xrt: Use struct vive_values for u_compute_distortion_vive
  * xrt: Remove all but mesh distortion values from xrt_hmd_parts::distortion
  * comp: Move mesh generation to comp_renderer init
  * comp: Rename distortion.vert to none.vert
  * comp: More replacing of binding indices with variables
  * comp: Support only mesh and no istortion, remove pano and vive shaders
  * comp: Replace hardcoded binding indices with variables
  * d/openhmd: Fix distortion_k value ordering
  * doc: Add MR 536 changelog
  * xrt: Replace mesh generator with xdev->compute_distortion()
  * st/oxr: Do not destroy native compositor in sub-classed session creation functions
  * st/oxr: Don't create a new native compositor in android session
  * d/ns: remove useless assignments
  * comp: remove useless pano ubo from mesh distortion
  * d/dummy: reduce dummy HMD resolution to 720p
  * d/ohmd: Add (OpenHMD) suffix to openhmd driver string
  * st/prober: Fix build with v4l2 disabled
  * st/oxr: Fix warning
  * u/file: Stub out Linux path manip code.
  * .gitignore: Update
  * build: Make Vive driver Linux-only for now.
  * build: Be able to build against pthreads4w
  * build: Adjust/fix missing dependencies
  * st/p: Fix include of libusb
  * st/p: Tighten preprocessor conditionals for non-Linux
  * u/threading: Cast result of realloc.
  * u/debug: Silence warnings on MSVC
  * u/time: Fix overflow.
  * u/json: Silence warnings on MSVC
  * os/threading: Fix includes on Windows
  * os/time: Provide time functions for Windows
  * os/time: Implement os_nanosleep for Windows
  * xrt: Be sure to include config headers
  * xrt: Remove un-needed includes of unistd
  * inc/xrt: Some MSVC and Windows support
  * inc/xrt: Add Windows implementations of atomic intrinsics.
  * doc: Document !532
  * st/oxr: Fix return length from oxr_action_get_input_source_localized_name
  * st/oxr: Return identifier name for bindings
  * st/oxr: Return controller name for bindings
  * st/oxr: Correctly return sub path for input source
  * st/gui: Get the number of samples in a fifo for graph
  * m/ff: Improve interface
  * Fix compilation on Musl
  * m/3dof: Add filter fifos to variable tracking code
  * st/gui: Plot vec3_f32 filter fifos
  * st/gui: Include ImPlot and Monado-ImGui in gui_imgui header
  * imgui: Add igToggleButton function
  * imgui: Add ImPlot
  * imgui: Update to 1.78
  * u/var: Refactor how variables info is passed
  * u/var: Add tracking for filter fifos
  * d/ns: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT
  * d/dummy: Set XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT
  * st/oxr: Use space graph in global-to-local space transform
  * d/survive: Don't fix up invalid pose
  * d/survive: Update to recent libsurvive git
  * d/survive: remove unused structs
  * d/survive: set relation flags properly
  * st/oxr: Use space graph resolve result relation flags instead of pure pose relation
  * st/oxr: Pass actual ViewStateFlags to application with xrLocateViews
  * st/oxr: Destroy compositor on instance destroy
  * ipc: print send and receive errors with ERROR, not DEBUG
  * aux: Support waiting more than 0.999... seconds in os_nanosleep
  * d/survive: Remove out_relation_timestamp_ns
  * st/oxr: Check xrLocateViews quaternion only if orientation valid
  * aux/space: Propagate orientation valid bit through space graph resolve
  * aux/space: fix typo: propagate tracked orientation bit properly
  * xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose
  * xrt: Remove acceleration components from xrt_space_relation
  * m/base: Remove old space relation functions
  * c/main: Use new xrt_space_graph
  * st/oxr: Use new xrt_space_graph
  * d/psmv: Rotate angular velocity to be in base space
  * d/psmv: Use space graphs for poses
  * m/space: Space graph functions
  * m/quat: Add math_quat_rotate_derivative
  * xrt: Add xrt_space_graph
  * d/ns: Add version 2 config support
  * d/dummy: Minor comments
  * t/ctl: Fix typo
  * doc/wand: Add a tiny blurb about prober
  * u/render_timing: Improve debug printing
  * xrt: Fix vive input defines
  * d/psmv: Use last package timestamp for input changes
  * m/base: Add math_quat_invert
  * m/3dof: Rename to timestamp
  * m/fifo: Add f64 filter fifo
  * m/3dof: Tweak values
  * m/3dof: Add vars tracking helper function
  * m/vec3: Add C++ operators
  * m/vec2: Add C++ operators
  * d/v4l2: Set correct name on variable tracker
  * d/v4l2: Use different tweaks depending on capture type
  * xrt: Add stream capture type
  * d/psvr: Set positional tracking bit when tracker is present
  * build: Remove libv4l2 dependency from meson
  * t/psmv: Use the same filtering as in PSVR tracker
  * t/psvr: Add a functional PSVR tracker
  * d/psvr: Only power on front LEDs
  * math: Add a permutation library
  * external: Add Hungarian graph algorithm
  * external: Sort libraries in CMakeLists.txt and meson.build
  * u/logging: Fix return of debug_get_log_option_SUFFIX
  * u/render_timing: Paranoia
  * xrt: Fix typo in comment
  * t/ctl: Print devices as well
  * t/ctl: Refactor connection opening
  * t/ctl: Implement device IO toggling
  * t/ctl: Refactor code to make more tidy
  * ipc: Make it possible to toggle inputs on and off
  * st/oxr: Special case the any path for pose actions
  * d/psmv: Introduce proper grip and aim poses
  * scripts: Add exception to codespell.
  * st/oxr: Add layer type conditionals around depth-image manipulation
  * st/oxr: Verify that the compositor created can actually do the layer types claimed.
  * build: Only set the layer type config variables if they aren't already set.
  * u/misc: Improve docs of calloc macros.
  * comp: Use the correct calloc macro
  * external: Update GLAD again for more extensions
  * ipc: Fix build on Android.
  * vk: Add an Android function to the vk_bundle
  * build: Don't look for packages with pkg-config on Android.
  * cmake: Reduce requirement to allow Android build
  * gitignore: Update.
  * c/main: Test if a format is supported before adding to list
  * aux/vk: Print a little bit more when failing on usage
  * doc: Add 501 changelogs
  * st/oxr: Get maximum layers from the compositor info
  * c/main: Support 16 layers
  * xrt: Add max layers supported by a compositor
  * xrt: Constify compositor interface
  * xrt: Tidy some comments
  * Revert "xrt: Disable cylinder layers for now as the causes GPU hangs (NFC)"
  * comp: Handle skipping rendering of infinite cylinder properly
  * comp: Fix typo in switch statement
  * xrt: Disable cylinder layers for now as the causes GPU hangs (NFC)
  * xrt: Correct assert for ipc data type
  * st/oxr: Use the right depth projection function
  * c/client: Add support for depth projection
  * c/main: Add support for depth projection
  * ipc: Add support for depth projection
  * xrt: Add missing xrt_comp_layer_stereo_projection_depth
  * st/oxr: Verify that projection layer has 0 or view count depth layers
  * doc: Add changelog for 498
  * build: Enable depth layer in meson build
  * build: Enable depth layer in CMake build
  * st/oxr: Pass through depth layer to compositor
  * st/oxr: Verify depth layer
  * aux/vk: Report appropriate errors on unsupported image usage flags
  * comp: Support Vk and GL depth and depth stencil formats
  * st/oxr: projection layer swapchain NULL check
  * ipc: Tidy
  * c/client: Fix warning and tidy
  * build: Enable cylinder layer in Meson build
  * build: Enable cylinder layer in CMake build
  * st/oxr: Include m_mathinclude.h and tidy includes
  * doc: Add changelog for 495.
  * comp: Add cylinder layer implementation
  * m: Generalize math_matrix_4x4_quad_model, making scaling a vec3
  * st/oxr: handle subimage rect in submit_cylinder_layer
  * comp: Use define for number of plane vertices
  * vk: Add update_buffer helper function
  * comp: Use CLAMP_TO_EDGE for swapchains
  * build: Add build support for cube, cylinder and equirect layers to meson
  * xrt: Move the android globals functionality to the new android aux lib.
  * ipc: Some comment improvements.
  * ipc/client: Use Android allocator on client side.
  * aux/android: New aux library, add image allocator for Android
  * xrt: Make xrt_image_native::size optional.
  * comp/client: Clean up commented-out code.
  * comp/client: Improve EGLimage-based swapchain
  * comp/client: Use new texture target utility for OpenGL
  * aux/ogl: Add helper header for OpenGL.
  * doc: Add mistakenly-omitted changelog fragment.
  * ipc: Fix loop conditions in loopback allocator
  * comp: Add a URL for sample Android EGL code.
  * external/glad: Update to add more extensions
  * st/oxr: Handle the android extension
  * aux/util: Add u_android for global state.
  * doc: Add changelogs for 489 and 494
  * d/ns,rs: Add external slam tracking type
  * ipc: It's okay to send zero handles
  * ipc: Tidy and better error messages
  * xrt: Add tracking system type for Hydra
  * xrt: Add tracking system type for Lighthouse
  * tests: Fix the number of transforms
  * st/oxr: Make sure that an identity transform is only inserted when needed
  * st/oxr: Better logging when creating transforms
  * st/oxr: Slightly better logging when we fail to transform
  * st/oxr: Reject bindings that we can't transform
  * st/oxr: Proper gles support for Android
  * d/vive,survive: Manually improve values for Valve Index display
  * d/northstar: Set positional tracking bit true when built with RS support
  * d/rs: Use a thread to get the poses
  * st/oxr: Print invalid quaternion values in xrLocateView
  * st/oxr: Use the XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING code added in OpenXR 1.0.11.
  * external: Update OpenXR headers to 1.0.11
  * st/oxr: Handle XRT_ERROR_IMAGE_CREATE_FLAG_UNSUPPORTED from compositor.
  * comp/main: Refuse to create a swapchain if protected content bit requested.
  * inc/xrt: Add a new xrt_result_t code, for when we don't support the specified image flags.
  * c/main: Stub in code for cube, cylinder and equirect layers
  * c/client: Add support for cube, cylinder and equirect layers
  * ipc: Add support for cube, cylinder and equirect layers
  * st/oxr: Implement cylinder layer
  * st/oxr: Implement the layer verification functions
  * comp: Use u_logging in some EGL code.
  * ipc: Fix conditionals about handle types.
  * comp: Port to using u_handles
  * aux/vk: Port to using u_handles
  * a/util: Add u_handles module.
  * comp: Save/restore the correct texture binding on Android
  * aux/vk: Fix compile time conditionals
  * comp: Fix compile-time conditionals
  * comp: Move GLAD loading and extension checking to places with more information.
  * inc/xrt: Tighten requirements for AHardwareBuffer usage.
  * xrt: Use our generic graphics buffer typedefs all over.
  * comp: Split OpenGL[ES] swapchain types
  * xrt: Rename "fd" references to "handle"
  * xrt: Some clang tidy fixes.
  * ipc: Const correctness
  * ipc: Add a disabled loopback allocator
  * ipc: Make it possible to give the client compositor a image allocator
  * xrt: Add new image native allocator interface
  * st/oxr: Add plumbing for layers
  * cmake: Add build flags for OpenXR layers
  * c/main: Fix warnings with asserts
  * xrt: Add a bunch of different layer types
  * doc: Add changelogs for MR 477
  * comp: make nvidia display selectable with XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY
  * comp: Move nvidia whitelist warning so it is displayed again
  * st/oxr: Fix crash in oxr_session_poll in headless mode
  * d/psvr: Fix 3DOF tracking
  * xrt: Make xrt_swapchain_create_info argument const
  * aux/vk: Make xrt_swapchain_create_info const
  * xrt: suggest correct GPU in xrGetVulkanGraphicsDevice()
  * st/oxr: Get viewport information from the native compositor
  * c/main: Fill out all of the compositor info struct
  * c/main: Remove internal compositor global flip_y
  * ipc: Use xrt_compositor_info in proto
  * ipc: Remove flip_y arguments to compositor creation
  * xrt: Use new info struct for compositor formats
  * xrt: Add xrt_compositor_info
  * xrt: Remove flip_y argument to native compositor creation
  * cmake: Update scripts from shared module repo.
  * doc: Add schema to proclamation config, mark some sections as sort-by-prefix.
  * st/oxr: Add support for MND_swapchain_usage_input_attachment_bit
  * st/oxr: Add new XR_MND_swapchain_usage_input_attachment_bit extension to headers
  * vk: Refactor VkImageUsageFlags code into helper function
  * vk: Add support for XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT
  * xrt: Add new input attachment swapchain usage
  * d/vive: Demote watchman timeout error message to trace
  * d/vive: Run watchman poll in separate thread
  * aux/vk: vk_create_semaphore_from_fd -> vk_create_semaphore_from_native
  * inc/xrt: Add a native handle type for graphics sync primitives
  * inc/xrt: Add defines for underlying handle type
  * build: More strict build flags
  * xrt: Update GLAD again, to a "merged" distribution.
  * comp: Free comp_render_layer on layer destruction
  * ipc: initialize msg_control buffer
  * d/vive: close the zlib inflate stream
  * d/vive: Destroy watchman hid device on shutdown
  * comp: Free layer renderer on renderer destroy
  * st/p: Downgrade an "error" message to a "debug" message.
  * doc/changes: Document some MRs
  * build: Install manifest in openxr subdir with meson
  * st/oxr: Don't crash when native compositor creation fails
  * st/oxr: Actually return invalid path error in sync actions
  * st/oxr: error when sync with subactionpath that no action has
  * st/oxr: Respect action set priority for exact matching inputs
  * st/oxr: Don't return early when not using 'any' subpath
  * d/vive/lighthouse: Handle lighthouse v2 reports.
  * d/vive: Add and use vive_lighthouse from ouvrt.
  * a/math: Add math_vec3_normalize.
  * u/logging: Add U_LOG_IFL.
  * d/vive: Print report type names.
  * d/vive: Poll pulse reports.
  * d/vive: Open and enable watchman on Vive, Vive Pro and Index.
  * d/vive: Remove unnesseccary clang-format off.
  * xrt: Add all remaining swapchain creation flags
  * comp: Remove some vkDeviceWaitIdle calls and document other
  * st/oxr: Convert some more missed subaction path iterations to x-macro usage.
  * st/oxr: Fix multiplicity of bound_path per action.
  * st/oxr: Add design documentation for OpenXR input subsystem.
  * st/oxr: Fix typo
  * xrt: Make swapchain static image bit match OpenXR
  * st/oxr: Centralize the lists of subaction paths using x-macros.
  * ipc: Docs
  * cmake: Make FindHIDAPI add include dirs to imported targets
  * st/oxr: Fix haptic actions being disabled
  * st/oxr: Implement xrEnumerateBoundSourcesForAction
  * st/oxr: Add a very ugly stub implementation of xrGetInputSourceLocalizedName
  * st/oxr: Add better verification in xrGetInputSourceLocalizedName
  * st/oxr: Tidy header
  * st/oxr: Combine input values
  * doc: Document !448
  * st/oxr: Send XrEventDataInteractionProfileChanged events on interaction profile changes
  * st/oxr: Implement needed checks for xrGetCurrentInteractionProfile
  * st/oxr: Better error message for unhandled case in xrGetCurrentInteractionProfile
  * st/oxr: Fix the any handiness controllers not getting assigned to right
  * st/oxr: A slightly better stub implementation of xrEnumerateBoundSourcesForAction
  * doc: Update roadmap
  * doc: Add changelog snippets for !444
  * ipc: Implement xrt_compositor::import_swapchain
  * ipc: Add function to import a swapchain
  * ipc: Fix in_handles handling by syncing with the server
  * c/main: Implement xrt_compositor::swapchain_import
  * c/main: Use new Vulkan image allocator helper
  * xrt: Add function to create swapchain from native images
  * xrt: Make xrt_compositor::create_swapchain return xrt_result_t
  * vk: Add image allocator helper
  * vk: Use xrt_swapchain_create_info in vk_create_image_from_native
  * vk: Remove unused vk_image
  * xrt: Make some fields on xrt_gl_swapchain private
  * xrt: Make some fields on xrt_vk_swapchain private
  * st/oxr: Check if relating space to itself first
  * st/oxr: Support locating stage space in local space
  * st/oxr: use initial head pose as local space origin
  * build: Use OpenGLES CMake module to gate OpenGL|ES support
  * cmake: Add FindOpenGLES.cmake
  * xrt: Add separate build config for OpenGL ES
  * st/oxr: Clean up GL/GLES image enumeration a bit for easier maintenance
  * st/oxr: Handle Android better.
  * external: Update GLAD with more code
  * meson: Re-arrange config header code
  * inc/xrt: Sort defines in generated config header
  * external: Update GLAD and add missing header
  * comp: Improve OpenGL extension checking
  * d/psvr: Fix hidapi include
  * xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined.
  * build: Add missing jpeg include dir
  * build: Increase strictness of warnings.
  * build: Enable the Android Vulkan platform when applicable.
  * inc/xrt: Switch declaration order in xrt_handles to quiet Doxygen
  * aux: Move responsibility for clearing image FD to the helper.
  * comp/gl: hack: glFlush() before committing a layer
  * st/oxr: Handle quad layer with reference space as base space again
  * st/oxr: Basic support for ActionSpace as base space in QuadLayer
  * ipc: Use generic shmem functions now.
  * ipc: Define shmem utilities for Linux and Android
  * inc/xrt: Add helpers for the handle types - null value, validity checker
  * doc/changes: Document MR 436.
  * comp/shaders: Remove has_sub option.
  * comp/renderer: Provide subrect properties for projection layers.
  * comp/shaders: Sample quad layers with texture().
  * doc/changes: Document MR 433.
  * comp/layers: Remove layer type from constructor.
  * comp/shaders: Rename quad shaders to layer.
  * comp/renderer: Render subimage properties in layer shader.
  * doc: Improve doxyfile
  * doc: Update prose and diagrams for fd->native renames.
  * build: Add FindEigen3.cmake from upstream, to support pointing at the include dir.
  * readme: Add meson build and update a bit
  * build: Install tools with meson
  * ipc: Support client->server "in_handles"
  * build: Sort drivers in status message
  * build: Dump config vars
  * build: Fix dependent option for compositor
  * build: Move determination of Vulkan usage to build system.
  * xrt: Rename xrt_gfx_fd.h to xrt_gfx_native.h
  * comp: Create second pipeline for premultiplied alpha blending
  * .gitignore: Tidy
  * .gitignore: Ignore Python caches
  * doc: Document MR 426
  * xrt: Rename references to compositor/swapchain/image_fd to ..._native.
  * doc: Document MR 413
  * ci: Build against Android platform 26
  * ipc: Work on Android using AHardwareBuffer instead of FDs for graphics
  * xrt: Auto-detect Android in header
  * build: Handle Android NDK better.
  * ipc: Normalize parameter names
  * ipc: Replace "out_fds" with more generic "out_handles"
  * ipc: Port server side to use new factored-out utils
  * ipc: Start providing handle marshalling util functions
  * inc/xrt: Add handle typedefs, to use instead of "int" for file descriptors
  * ipc: Use factored-out utils on client side.
  * ipc: Add factored-out basic message send/receive
  * ipc: Change return type of some server functions from int to xrt_result_t
  * ipc: Formatting cleanup
  * ipc: Have server utils return xrt_result_t
  * ipc: Replace ipc_connection_t usage with struct ipc_connection
  * ipc: Be more strict in type parsing
  * ipc: Move data structure out of generation script
  * c/client: Slightly improve barriers, taken from !360
  * st/prober: Rework HMD logic a bit and put HMD always in first position
  * doc: document MR 421
  * build: Enable service less build with meson too
  * xrt: Add support for assigned device roles
  * drivers: Add rotation/position tracking bool to xdev
  * build: respect meson install-active-runtime option
  * build: Fix installing active_runtime.json on meson without DESTDIR
  * ci: Update for new packaging parts.
  * build: Fix destdir repetition when installing systemd units.
  * monado: Update version
  * doc: Remove old changelog fragments
  * doc: Update CHANGELOG.md
  * doc: Document MR418.
  * u/json: Fix a -Wmaybe-uninitialized on GCC 10.1.0.
  * c/compositor: Set a window title.
  * d/vive: Use VIVE_ERROR when vive_device is available.
  * doc: Document MR417.
  * u_logging: Format logging output.
  * d/vive/protocol: Port to u_logging.
  * d/vive/controller: Port to u_logging.
  * d/vive: Create common header for controller and hmd.
  * d/vive/device: Use VIVE_WARN and VIVE_INFO.
  * d/vive/device: Replace old debug macros with new ones.
  * d/vive/prober: Prettify logging. rename methods.
  * d/vive: Port logging to u_logging.
  * xrt: Tidy xrt_instance_create argument order and add doc-comment
  * ipc: Add a json schema for the IPC description
  * gitignore: Extend
  * t/service: Make the socket RemoveOnStop.
  * u_logging: Fix comments/doxygen
  * comp: Print info about AllowHMD when direct mode fails on nvidia
- Fix spec

-------------------------------------------------------------------
Wed Jul 08 10:57:04 UTC 2020 - hpj@urpla.net

- Update to version v0.2.0+git.20200706T201135.c5b93090:
  * st/oxr: Fix conformance failure and tidy up action set attached logic
  * doc: Add changelog for !408 and !409
  * doc: Docment MR 410
  * st/oxr: Properly name MNDX_ball_on_a_stick_controller
  * st/oxr: Reorder extension in prefix order
  * st/oxr: Make script be up to date to what's generated
  * xrt: Introduce xrt_swapchain_create_info
  * xrt: Tidy xrt_compositor.h
  * st/gui: Add a special UI for setting log level vars
  * d/psmv: Use new log level var tracker
- Switched to disabled service

-------------------------------------------------------------------
Thu Aug  8 00:00:00 UTC 2019 - David Lanzendoerfer <leviathan@libresilicon.com> 

- Initial build.




openSUSE Build Service is sponsored by