···22- mr.1081
33- mr.1104
44---
55-65u/pacing: Renames and improvements for frame pacing (formerly known as render
76and display timing) code and APIs.
+1-1
doc/changes/auxiliary/mr.1128.md
···11vk: Refactor and rename various function related to compositor swapchain
22-images and their flags, these changes makes it clear it's only used for these
22+images and their flags. These changes makes it clear it's only used for these
33images and image views.
-1
doc/changes/auxiliary/mr.1142.2.md
···11-vk: Add functions to create, submit and then export a fence native handle.
+1-1
doc/changes/auxiliary/mr.1203.1.md
···11-vk: Refactor out bundle functions into a file of their own.
11+vk: Refactor bundle functions into a file of their own.
+1-1
doc/changes/auxiliary/mr.1203.2.md
···33- mr.1942
44---
5566-vk: Further separate printing functions out as well into their own file.
66+vk: Separate printing functions into their own file.
+1-3
doc/changes/auxiliary/mr.1265.md
···11-vive: Add shared bindings that are used by @ref drv_vive & @ref drv_survive,
22-also add mappings/bindings from the Touch controller to the Index Controller so
33-games only providing Touch bindings works on Index controllers.
11+vive: Add shared bindings that are used by `drv_vive` & `drv_survive`, also add mappings/bindings from the Touch controller to the Index Controller so games only providing Touch bindings works on Index controllers.
+1-1
doc/changes/auxiliary/mr.1270.2.md
···11-vk: Make `VK_KHR_external_[fence|semaphore]_fd` optional, this is helpful for CI
11+vk: Make `VK_KHR_external_[fence|semaphore]_fd` optional. This is helpful for CI
22where only lavapipe can be used which does not support those extensions.
-1
doc/changes/auxiliary/mr.1320.md
···44- mr.1329
55- mr.1353
66---
77-87os: Rename threading functions to more clearly state that it both stops and
98waits on the thread. Also add asserts to make sure primitives have been
109initialized.
+1-1
doc/changes/auxiliary/mr.1801.1.md
···11-vk: Add vk_surface_info helper for VkSurfaceKHR information gathering.
11+vk: Add `vk_surface_info` helper for `VkSurfaceKHR` information gathering.
···22- mr.1865
33- mr.1923
44---
55-65u/truncate_printf: Add helpers that have the semantics we want for the printf
76functions [vn|sn]printf.
-1
doc/changes/auxiliary/mr.1865.2.md
···11---
22- mr.1879
33---
44-54u/logging: Truncate the output of hexdump at a safer limit (16MB).
-1
doc/changes/auxiliary/mr.1865.3.md
···22- mr.1865
33- mr.1892
44---
55-65u/logging: Refactor printing to be safer using truncating helpers, and increase
76the reuse of code.
+1-1
doc/changes/auxiliary/mr.1877.1.md
···11-vk: Add helper function to name Vulkan objects using VK_EXT_debug_marker, useful
11+vk: Add helper function to name Vulkan objects using `VK_EXT_debug_marker`, useful
22when debugging validation errors.
-1
doc/changes/auxiliary/mr.1885.2.md
···22- mr.1885
33- mr.1973
44---
55-65vk: Add function to check required instance extensions.
+5-1
doc/changes/auxiliary/mr.1894.md
···11-vk: Add and use enumeration helpers.
11+---
22+- mr.1894
33+- mr.1940
44+---
55+- vk: Add and use enumeration helpers.
+4-12
doc/changes/auxiliary/mr.1896.2.md
···11-a/bindings: Interaction profile inheritance
22-33-A requirement of some interaction profile (extensions) specify that some/all
44-actions must be supported by all other interactions. This commit modifies the
55-binding generation to support data-inheritance in bindings.json:
66-* Adds support for profiles in bindings.json to inherit & override other
77- profiles.
88-* Adds a new concept of virtual profiles for profile like extensions
99- (e.g. `XR_EXT_palm_pose`) which do not define a profile themselves but
1010- require their newly defined actions to be supported by all profiles.
1111-* Generates verify bindings functions which only check extensions actions
1212- only if the extension is enabled.
11+a/bindings: Interaction profile inheritance, support data-inheritance in
22+bindings.json, add a new concept of virtual profiles for profile like extensions
33+(e.g. `XR_EXT_palm_pose`) which do not define a profile themselves but require
44+their newly defined actions to be supported by all profiles.
+1-1
doc/changes/auxiliary/mr.1901.md
···11-a/bindings: Adds support for `XR_EXT_hand_interaction` profile - Updates
11+a/bindings: Add support for `XR_EXT_hand_interaction` profile - Updates
22bindings & pretty-print for newly added support for `XR_EXT_hand_interaction`
33profile.
+1-1
doc/changes/auxiliary/mr.1920.2.md
···11d3d: Add copy D3D12 helper functions, needed to work around issues with layout
22-on small textures on NVidia hardware.
22+on small textures on NVIDIA hardware.
···11-vk: Add printers for VkSurface and VkSwapchain create info structs.
11+vk: Add printers for `VkSurface` and `VkSwapchain` create info structs.
+1-1
doc/changes/auxiliary/mr.1942.1.md
···11-vk: When listing GPUs also write out device type.
11+vk: When listing GPUs, also output device type.
+1-1
doc/changes/auxiliary/mr.1959.md
···11-vk: Init vk bundle with shaderImageGatherExtended enabled if supported.
11+vk: Init vk bundle with `shaderImageGatherExtended` enabled if supported.
-1
doc/changes/auxiliary/mr.1971.1.md
···22- mr.1971
33- mr.1417
44---
55-65vk: Rename and add more variants of return checking defines, making the define
76now be all caps so it's easier to see if it effects flow control.
-1
doc/changes/auxiliary/mr.1971.2.md
···22- mr.1971
33- mr.2050
44---
55-65vk: Add `vk_print_result` helper, used in return checking defines but can also
76be used outside of them.
+1-1
doc/changes/auxiliary/mr.1971.md
···11-vk: Use VK_CHK_WITH_RET instead of vk_check_error.
11+vk: Use `VK_CHK_WITH_RET` instead of `vk_check_error`.
+1-1
doc/changes/auxiliary/mr.2005.md
···11-vk: Add debug inserting helper function and use it for inserting renderdoc frame delimiter in vk client
11+vk: Add debug inserting helper function and use it for inserting renderdoc frame delimiter in Vulkan client
-1
doc/changes/auxiliary/mr.2006.md
···22- mr.2006
33- mr.2014
44---
55-65vk: Change the naming function to use the extension `VK_EXT_debug_utils`, which
76has been included in core with 1.3, instead of the old `VK_EXT_debug_marker`
87extension. Also make the naming function type safe.
+1-1
doc/changes/auxiliary/mr.2049.md
···33- mr.2100
44---
5566-vk: Use formats list from xrt_swapchain_create_info in create_image.
66+vk: Use formats list from `xrt_swapchain_create_info` in `create_image`.
-1
doc/changes/auxiliary/mr.2057.md
···22- mr.2057
33- mr.2072
44---
55-65u/builder: Introduce new `u_builder` to make it easier to implement the
76interface function `xrt_builder::open_system`. Allowing lots of de-duplication
87of code that was exactly the same in most builders.
+1-4
doc/changes/auxiliary/mr.2058.md
···33- mr.2125
44- mr.2144
55---
66-77-introduce VIT loader to load a given VIT system, implement the VIT interface
88-in slam tracker and remove the unused MatFrame class.
99-only turn on the SLAM feature on Linux.
66+Introduce VIT loader to load a given VIT system, implement the VIT interface in SLAM tracker, and remove the unused MatFrame class. Only turn on the SLAM feature on Linux.
-1
doc/changes/auxiliary/mr.2076.md
···22- mr.2076
33- mr.2084
44---
55-65u/pacing: Add option U_PACING_APP_USE_MIN_FRAME_PERIOD to allow selecting the
76minimal frame period instead of calculated for pacing. The app is still being
87throttled, it's just different.
+1-1
doc/changes/auxiliary/mr.2104.md
···11- vk: Add enumerators for two surface properties.
22-- vk: Add vk_enumerate_swapchain_images.
22+- vk: Add `vk_enumerate_swapchain_images`.
33- vk: Tidy surface info function.
+1-1
doc/changes/auxiliary/mr.2133.1.md
···11-a/math: Fixes const-correctness in m_relation_history
11+a/math: Fix const-correctness in m_relation_history
+1-1
doc/changes/auxiliary/mr.2133.2.md
···11-a/util: Fixes crash bug with XR_EXT_dpad_binding after multiple session re-runs.
11+a/util: Fix crash bug with XR_EXT_dpad_binding after multiple session re-runs.
+1-1
doc/changes/auxiliary/mr.2169.md
···11-a/util: Fixes missing lib in cmake file for building mercury_steamvr_driver
11+a/util: Fix missing lib in cmake file for building `mercury_steamvr_driver`
+1-3
doc/changes/auxiliary/mr.2177.md
···11-u/var: Protect tracker access with a mutex.
22-33-Solves a race condition that may crash the debug gui if objects are removed using u_var_remove_root.
11+u/var: Protect tracker access with a mutex. Solves a race condition that may crash the debug gui if objects are removed using `u_var_remove_root`.
+4-6
doc/changes/auxiliary/mr.2205.md
···11-a/vk: Extend command buffer wait timeout to ~10 seconds
22-33-This is necessary because in some platforms (such as Windows 10, NVidia
44-RTX 3080ti) the OpenXR CTS will trigger an issue when the GPU memory
55-fills, where the system hangs for over one second during a paging queue
66-operation.
11+vk: Extend command buffer wait timeout to ~10 seconds. This is necessary because
22+in some platforms (such as Windows 10, NVIDIA RTX 3080Ti) the OpenXR CTS will
33+trigger an issue when the GPU memory fills, where the system hangs for over one
44+second during a paging queue operation.
···11-vk: Add support for VK_EXT_robustness2
11+vk: Add support for `VK_EXT_robustness2`
-1
doc/changes/auxiliary/mr.943.md
···44- mr.1302
55- mr.1337
66---
77-87d3d: Add D3D helpers used by various parts of Monado, mostly the D3D11 client
98compositor.
-1
doc/changes/big/mr.1576.md
···55- mr.1598
66- mr.1827
77---
88-98Added [Tracy](https://github.com/wolfpld/tracy) as a supported tracing backend,
109it joins the [Perfetto](https://perfetto.dev/) backend. Tracy works on Windows,
1110but doesn't support full system tracing or multi app as well as Perfetto.
+8-1
doc/changes/big/mr.1798.md
···11-Add driver for nreal Air glasses, the device features 3dof tracking.
11+---
22+- mr.1798
33+- mr.1989
44+- mr.2150
55+- issue.330
66+- mr.2172
77+---
88+- Add driver for XREAL (formerly nreal) Air glasses, the device features 3dof tracking. Also support XREAL Air 2 and XREAL Air 2 Pro.
-1
doc/changes/big/mr.1908.md
···33- mr.2055
44- mr.2099
55---
66-76Add `libmonado` library, allows control of applications and devices. Exposed API
87follows semver and is semi-stable. Will never be changed in a backward
98incompatible way without increasing the major version. Provisions for easily and
+9
doc/changes/big/mr.1983.md
···11+---
22+- mr.1983
33+- mr.1994
44+- mr.1995
55+- issue.299
66+- mr.2026
77+- mr.2105
88+---
99+Graphics compositor: Add new graphics layer helper code, supports projection, quad, cylinder, and equirect2 layers. This path now completely replaces the old layer renderer that was in the main compositor, making it reusable.
+1-2
doc/changes/big/mr.2163.md
···33- mr.2166
44- mr.2218
55---
66-77-Adds framework support for face tracking xrt-devices. XR_HTC_facial_tracking being the first face tracking extension supported and the conventions of this for expression weights that xrt-device/drivers can output.
66+Add framework support for face tracking xrt-devices. XR_HTC_facial_tracking being the first face tracking extension supported and the conventions of this for expression weights that xrt-device/drivers can output.
87More will be added in the future.
+1-1
doc/changes/big/mr.2178.md
···11-Adds body tracking xrt-devices framework and support for the XR_FB_body_tracking extension.11+Add body tracking xrt-devices framework and support for the XR_FB_body_tracking extension.
···6060- mr.1857
6161- mr.1859
6262---
6363-6463Added WinMR driver, it supports most headsets and controllers. Controllers can
6564be connected both via host-Bluetooth and tunneled with the onboard radio chip.
6665By default has 3DoF tracking, it can do 6DoF if used with the Basalt SLAM
+7-5
doc/changes/big/mr.873.md
···11---
22- mr.873
33- mr.1517
44+- mr.841
55+- mr.1998
66+- mr.2001
47---
55-66-New compute based rendering backend in the compositor. Through the layer
77-squasher it supports both projection and cube layers, not cubemap or equirect
88-layers. It is not enabled by default. It also supports ATW. On some hardware the
99-use of a compute queue improves latency when pre-empting other GPU work.
88+- New compute-shader based rendering backend in the compositor. Supports
99+ projection, quad, equirect2, cylinder layres. It is not enabled by default. It
1010+ also supports ATW. On some hardware the use of a compute queue improves
1111+ latency when pre-empting other GPU work.
-1
doc/changes/compositor/mr.1119.md
···44- mr.1125
55- mr.1128
66---
77-87client/util: Fix several flags being set wrong on barriers and creation of the
98swapchain images. We were especially wrong with the depth stencil formats.
-1
doc/changes/compositor/mr.1120.md
···33- mr.1135
44- mr.1144
55---
66-76main: Add support for mirroring the left view back to the debug gui, so we can
87record it or see what somebody's doing in VR.
+1-1
doc/changes/compositor/mr.1268.1.md
···11-main: Use at least 3 vk images for comp target swapchain if supported.
11+main: Use at least 3 Vulkan images for comp_target_swapchain if supported.
+1-1
doc/changes/compositor/mr.1316.md
···11-c/main: Init comp_base as early as possible, because it needs to be finalised
11+main: Init comp_base as early as possible, because it needs to be finalised
22last in destroy. It's basically a base class and should follow those semantics.
+1-5
doc/changes/compositor/mr.1319.md
···11-null: Add a new compositor intended to be used on CIs that use the Mesa software
22-rasteriser vulkan driver. It is also intended to be a base for how to write a
33-new compositor. It does no rendering and does not open up any window, so has
44-less requirements then the main compositor, both in terms of CPU usage and build
55-dependencies.
11+null: Add a new compositor intended to be used on CIs that use the Mesa software rasteriser vulkan driver. It is also intended to be a base for how to write a new compositor. It does no rendering and does not open up any window, so has less requirements then the main compositor, both in terms of CPU usage and build dependencies.
+1-1
doc/changes/compositor/mr.1340.md
···11-d3d12: Initial support for D3D12 client applications on Windows.
11+client: Initial support for D3D12 client applications on Windows.
-1
doc/changes/compositor/mr.1417.1.md
···22- mr.1417
33- mr.2052
44---
55-65util: Completely propagate errors from image creation failures and some tidy.
-1
doc/changes/compositor/mr.1465.2.md
···11---
22- issue.47
33---
44-54client: Reduce the minimum required OpenGL version for client applications to
653.0.
-1
doc/changes/compositor/mr.1570.md
···11---
22- mr.1684
33---
44-54main: Introduce `comp_target_factory`. This struct allows us to remove long and
65cumbersome switch statements for each type. Instead the code is generic and
76tweaks for specific target types can be reused for others more easily with this
···11-util: Remove samplers from comp_swapchain_image, they where alsways the same.
11+util: Remove samplers from comp_swapchain_image, they were always the same.
+1-1
doc/changes/compositor/mr.1884.md
···11-c/main: Use vk_cmd_submit_locked in vk_helper to simply peek logic
11+main: Use vk_cmd_submit_locked in vk_helper to simply peek logic
-1
doc/changes/compositor/mr.1894.2.md
···22- mr.1894
33- mr.1913
44---
55-65main: Use enumeration helpers in and refactor the NVIDIA direct target code.
+1-1
doc/changes/compositor/mr.1901.md
···11-multi: Adds support for `XR_EXT_hand_interaction` profile.
11+multi: Add support for `XR_EXT_hand_interaction` profile.
+1-1
doc/changes/compositor/mr.1920.md
···11-client: Use D3D12 allocator, and work around NVidia bug.
11+client: Use D3D12 allocator, and work around NVIDIA bug.
-1
doc/changes/compositor/mr.1955.5.md
···33- mr.1967
44- mr.1975
55---
66-76util: Add helpers to launch the compute layer squasher shaders and the compute
87distortion shaders. They are in `comp_util` because it looks at a list of
98`comp_layer` and `comp_swapchain` structs that `comp_base` manages.
···22- mr.1969
33- mr.1970
44---
55-65main: Refactor the layer rendering code to use `render_gfx_render_pass`,
76`render_gfx_target_resources` and an `VkCommandBuffer` that is passed in as an
87argument to the draw call. This allows the layer renderer to share the scratch
-1
doc/changes/compositor/mr.1971.md
···22- mr.1971
33- mr.2050
44---
55-65main: Use VK_CHK_WITH_RET instead of vk_check_error, and convert a few other
76places to the helpers as well.
-12
doc/changes/compositor/mr.1983.4.md
···11----
22-- mr.1983
33-- mr.1994
44-- mr.1995
55-- issue.299
66-- mr.2026
77-- mr.2105
88----
99-1010-util: Add new graphics layer helper code, supports projection, quad, cylinder
1111-and equirect2 layers. This path now completely replaces the old layer renderer
1212-that was in the main compositor, making it reusable.
···11-render|util: Implement equirect2 layer for compute render pipeline.
-1
doc/changes/compositor/mr.2001.md
···11-util: implement cylinder layer for compute render pipeline
+1-1
doc/changes/compositor/mr.2005.md
···11-client: Add renderdoc_enabled implementation for vk/gl only on android platform
11+client: Add renderdoc_enabled implementation for Vulkan/OpenGL only on Android platform
-1
doc/changes/compositor/mr.2086.md
···33- mr.2175
44- mr.2189
55---
66-76- xrt_layer_type: Renamed the `XRT_LAYER_STEREO_PROJECTION` to `XRT_LAYER_PROJECTION` and `XRT_LAYER_STEREO_PROJECTION_DEPTH` to `XRT_LAYER_PROJECTION_DEPTH` in the `xrt_layer_type` enumeration to support both mono and stereo projection layers. This change provides a more inclusive and versatile categorization of projection layers within the XRT framework, accommodating a wider range of use cases.
8798- multi_layer_entry: Updated the array length of xscs within multi_layer_entry from 4 to `2 * XRT_MAX_VIEWS` to accommodate a variable number of views.
+1-2
doc/changes/compositor/mr.2113.1.md
···11-main: Make sure to not use the array of displays if we fail to allocate it, and
22-also tidy the code.
11+main: Make sure to not use the array of displays if we fail to allocate it, and also tidy the code.
+1-6
doc/changes/compositor/mr.2113.2.md
···11-main: Let sub-classed targets override compositor extents. The big win here is
22-that targets no longer writes the `preferred_[width|height]` on the compositor's
33-settings struct. And this moves us closer to not using `comp_compositor` or
44-`comp_settings` in the targets which means they can be refactored out of main
55-and put into util, lettings us reuse them, and even have multiple targets active
66-at the same time.
11+main: Let sub-classed targets override compositor extents. The big win here is that targets no longer writes the `preferred_[width|height]` on the compositor's settings struct. And this moves us closer to not using `comp_compositor` or `comp_settings` in the targets which means they can be refactored out of main and put into util, lettings us reuse them, and even have multiple targets active at the same time.
-1
doc/changes/compositor/mr.2134.md
···22- mr.2134
33- mr.2179
44---
55-65main: let compositor targets control more of vulkan initialization.
+1-3
doc/changes/compositor/mr.2167.md
···11-util: Expand on swapchain import error codes.
22-33-This allows the CTS in Direct3D12 to not fail when attempting to import sRGB swapchains with flags such as XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT11+util: Expand on swapchain import error codes. This allows the CTS in Direct3D 12 to not fail when attempting to import sRGB swapchains with flags such as `XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT`.
+1-1
doc/changes/compositor/mr.2183.md
···11-c/main: Fixes bug with incorrect surface format matching.
11+main: Fix bug with incorrect surface format matching.
+2-2
doc/changes/compositor/mr.2199.md
···11-c/util: Fix double free when failing to initialize Vulkan swapchain
22-c/util: Fix double free when failing to import non-Vulkan swapchain
11+util: Fix double free when failing to initialize Vulkan swapchain
22+util: Fix double free when failing to import non-Vulkan swapchain
+1-1
doc/changes/compositor/mr.2214.md
···11-c/util: Fix vk_deinit_mutex asserts when vk_create_device fails.
11+util: Fix vk_deinit_mutex asserts when vk_create_device fails.
+1-2
doc/changes/compositor/mr.2216.md
···11-c/util: Fixes a crash bug in `render_gfx_end_target` with non-compute pipeline path
22-on certain android devices when zero layers are committed.
11+util: Fix a crash bug in `render_gfx_end_target` with non-compute pipeline path on certain Android devices when zero layers are committed.
+1-1
doc/changes/compositor/mr.677.md
···11-comp: Fix layer submission on nvidia tegra.
11+comp: Fix layer submission on NVIDIA Tegra.
-1
doc/changes/compositor/mr.721.md
···55- mr.1346
66- issue.171
77---
88-98multi: Introduce a new multi client compositor layer, this allows rendering code
109to be moved from the IPC layer into the compositor, separating concerns. The
1110main compositor always uses the multi client compositor, as it gives us a async
-1
doc/changes/compositor/mr.767.md
···22- issue.120
33- mr.787
44---
55-65main: Make it possible to create the swapchain later when actually needed,
76and have the swapchain be in a non-ready state that stops drawing.
+1-3
doc/changes/compositor/mr.833.md
···11-main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format, it's
22-not enough to show linear colours without banding but isn't used that often so
33-do not list it.
11+main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format, it's not enough to show linear colours without banding but isn't used that often so do not list it.
-1
doc/changes/compositor/mr.841.1.md
···11-render: Prepare for submitting work on the compute queue.
-1
doc/changes/compositor/mr.841.2.md
···11-main: Prepare for submitting work on the compute queue.
···11-render: Add ATW support in the compute pipeline.
-1
doc/changes/compositor/mr.943.md
···77- mr.1337
88- mr.1340
99---
1010-1110client: Initial support for D3D11 client applications on Windows.
-1
doc/changes/compositor/mr.959.1.md
···55- mr.982
66- mr.1021
77---
88-98render: Refactor and reorganize compositor to improve modularity and ease of
109reuse. This introduces the render folder which aims to be useful Vulkan render
1110code that can be used outside of the compositor.
+2-2
doc/changes/compositor/mr.967.2.md
···11util: Refactor swapchain and fence code to be more independent of compositor
22-and put into own library. Joined by a @ref comp_base helper that implements
33-a lot of the more boiler-plate compositor code.
22+and put into own library. Joined by a `comp_base` helper that implements
33+a lot of the more boilerplate compositor code.
+1-1
doc/changes/doc/mr.1872.md
···11---
22- mr.2120
33---
44-Add documentation for how to write changelogs in the @ref conventions page.
44+Add documentation for how to write changelogs in the conventions page.
···11-remote: Greatly improve the remote driver. Properly shutting down the main loop.
22-Use the new @ref xrt_system_devices as base class for @ref r_hub. Exposing the
33-Valve Index Controller instead of the simple controller as it better allows to
44-map other controllers to it. Reusing the vive bindings helper library.
11+remote: Greatly improve the remote driver. Properly shut down the main loop. Use the new `xrt_system_devices` as base class for `r_hub`. Expose the Valve Index Controller instead of the simple controller as it better allows to map other controllers to it. Reuse the vive bindings helper library.
-1
doc/changes/drivers/mr.1447.md
···55- mr.1691
66- mr.1823
77---
88-98rift_s: Add Rift-S driver, this works with Monado's hand and SLAM tracking.
-7
doc/changes/drivers/mr.1494.md
···11----
22-- mr.1494
33-- mr.1832
44----
55-66-dai: Enable IR floodlight, add code and env variable and u_var tracking to
77-control it's level.
-1
doc/changes/drivers/mr.1692.md
···11-dai: Make DepthAI frameserver work with multicam sinks.
···11-dai: Add manual exposure controls via u_var tracking.
-1
doc/changes/drivers/mr.1860.2.md
···22- mr.1860
33- mr.1863
44---
55-65vive: Add support for Gen 3.0 and Tundra trackers.
-1
doc/changes/drivers/mr.1861.md
···77- mr.2077
88- mr.2090
99---
1010-1110steamvr_lh: Add driver that wraps the SteamVR Lighthouse driver.
-1
doc/changes/drivers/mr.1881.md
···11-- dai: Try to set realtime priority on IMU thread
21- vive: Try to set realtime priority on sensors thread
32- wmr: Try to set realtime priority on USB thread
+1-2
doc/changes/drivers/mr.1912.md
···11-android: Fixed the issue of screen stuttering on some Android devices caused by
22-failing to set the IMU event rate.
11+android_sensors: Fixed the issue of screen stuttering on some Android devices caused by failing to set the IMU event rate.
···22- mr.1929
33- mr.1943
44---
55-65steamvr_lh: Set driver IPD & brightness on HMD.
+1-1
doc/changes/drivers/mr.1947.md
···11-steamvr_lh: Use proper timestamp on hands and fixes to angular/ linear velocity handling.
11+steamvr_lh: Use proper timestamp on hands and fix angular/linear velocity handling.
+1-1
doc/changes/drivers/mr.1949.md
···11-d/na,d/vive: Reduce relation history lock contention
11+d/xreal_air,d/vive: Reduce relation history lock contention
···22- mr.2060
33- mr.2061
44---
55-65remote: Fix socket closing on Windows by using socket_close.
+1-2
doc/changes/drivers/mr.2114.md
···11-steamvr_lh: Make playspace reading more robust by choosing the first tracking univere from
22-lighthousedb.json that is found in chaperone_info.vrchap.
11+steamvr_lh: Make playspace reading more robust by choosing the first tracking universe from `lighthousedb.json` that is found in `chaperone_info.vrchap`.
-1
doc/changes/drivers/mr.2131.2.md
···22- mr.2131
33- mr.2173
44---
55-65d/wmr: Properly compute hand tracking boundary circle
+1-1
doc/changes/drivers/mr.2131.3.md
···11-d/vive: Use raw imu samples for slam
11+d/vive: Use raw imu samples for SLAM
+1-2
doc/changes/drivers/mr.2136.md
···22- mr.2136
33- mr.2213
44---
55-66-steamvr_lh: Introduce new driver interface55+steamvr_lh: Introduce new driver interface
-8
doc/changes/drivers/mr.2150.md
···11----
22-- mr.2150
33-- issue.330
44-- mr.2172
55----
66-d/xreal_air: Rename nreal air into xreal air in driver
77-d/xreal_air: Support xreal air 2 and xreal air 2 pro
88-d/xreal_air: Fixes glasses detection by adjusting AVAILABLE_DRIVERS in cmake
+1-2
doc/changes/drivers/mr.2165.md
···11-d/remote: Add and use a multi-os r_socket_t typedef
22-d/remote: Add R_SOCKET_FMT to define the printf format to use for a socket descriptor
11+- d/remote: Add and use a multi-os `r_socket_t` typedef, with `R_SOCKET_FMT` to define the printf format to use for a socket descriptor
+1-3
doc/changes/drivers/mr.2219.md
···11-Set both orientation and position valid flags in the android driver's get_tracked_pose call-back.
22-33-hello_xr, unity and possibly other apps check the view pose flags for both position & orientation flags to be valid otherwise they invoke `xrEndFrame` with no layers set causing a constant Gray screen.
11+android_sensors: Set both orientation and position valid flags in the Android driver's `get_tracked_pose` callback. hello_xr, Unity and possibly other apps check the view pose flags for both position & orientation flags to be valid otherwise they invoke `xrEndFrame` with no layers set causing a constant gray screen.
-1
doc/changes/drivers/mr.714.md
···33- mr.1789
44- mr.1926
55---
66-76qwerty: Add qwerty driver for emulating headset and controllers with mouse and
87keyboard.
+1-2
doc/changes/drivers/mr.717.md
···11-psvr: Ensure that timestamps are always after each other, stopping any
22-time-traveling sample packets.
11+psvr: Ensure that timestamps are always monotonic, stopping any time-traveling sample packets.
-1
doc/changes/drivers/mr.774.md
···33- mr.1796
44- mr.1797
55---
66-76wmr: Add Windows Mixed Reality driver, supports 6dof through Basalt.
+11-3
doc/changes/drivers/mr.836.md
···11---
22- mr.831
33+- mr.836
34- mr.837
55+- mr.858
46- mr.934
57- mr.1027
68- mr.1029
···1113- mr.1278
1214- mr.1282
1315- mr.1360
1616+- mr.1494
1417- mr.1519
1515-- mr.1649
1618- mr.1523
1719- mr.1603
2020+- mr.1649
2121+- mr.1692
2222+- mr.1769
2323+- mr.1770
2424+- mr.1832
1825- mr.1839
2626+- mr.1881
2727+- mr.2228
1928---
2020-2121-dai: Add a new frameserver driver that uses supports the DepthAI cameras.
2929+- depthai: Add a new frameserver driver that supports some of the DepthAI cameras.
···11-depthai: Extend driver to support stereo grayscale cameras
+1-1
doc/changes/ipc/mr.1213.md
···11-Android: Do not require OPENXR permission when connect MonadoService.
11+Android: Do not require OPENXR permission when connecting to MonadoService.
22Permission will not be granted if install application before permission
33container.
-1
doc/changes/ipc/mr.1525.md
···44- mr.1584
55- mr.1807
66---
77-87all: Add Windows support to the IPC layer, this is based on named pipes.
+1-1
doc/changes/ipc/mr.1901.md
···11-all: Adds support for `XR_EXT_hand_interaction` profile - plumbs extension
11+all: Add support for `XR_EXT_hand_interaction` profile - plumbs extension
22enabled state to ipc server/drivers.
-1
doc/changes/ipc/mr.1992.md
···22- mr.1992
33- mr.2013
44---
55-65all: Add support for dynamic device roles.
-1
doc/changes/ipc/mr.2007.md
···22- mr.2007
33- mr.2012
44---
55-65server: Use macro TEMP_FAILURE_RETRY to avoid closing a client connection on
76`-ENTR`.
-1
doc/changes/ipc/mr.2009.1.md
···22- mr.2009
33- mr.2053
44---
55-65all: Add ability to do more complex IPC communication by introducing VLA
76functions. These lets us do the marshalling to some extent oursevles, useful
87for sending a non-fixed amount of data. This support is bi-directional.
+1-2
doc/changes/ipc/mr.2016.md
···22- mr.2016
33- mr.2032
44---
55-66-ipc: Add support for getting the device visibility mask.
55+all: Add support for getting the device visibility mask.
···33- mr.2079
44- mr.2095
55---
66-76all: Add support for the new `xrt_system` and `xrt_session` objects.
+1-4
doc/changes/ipc/mr.2094.md
···11-server: Make the server a little bit more chatty by default (switch the default
22-logging level `info` from `warn`). Print out a messages that the service has
33-started, and advising on how to collect information to help in debugging to ease
44-helping end-users.
11+server: Make the server a little bit more chatty by default (switch the default logging level `info` from `warn`). Print out a message that the service has started, and advise how to collect information to help in debugging to ease helping end-users.
+1-1
doc/changes/ipc/mr.2124.md
···11-ipc: Add interface for XR_FB_passthrough in Ipc communication.
11+all: Add interface for XR_FB_passthrough in Ipc communication.
+1-1
doc/changes/ipc/mr.2133.1.md
···11-client,server: Setting timer resolution (timeBeginPeriod) improves performance with Nvidia drivers
11+client,server: Setting timer resolution (timeBeginPeriod) improves performance with NVIDIA drivers
+1-1
doc/changes/ipc/mr.2133.3.md
···11-ipc/server: Adds "XRT_NO_STDIN" option disables stdin and prevents monado-service from terminating.
11+server: Add "XRT_NO_STDIN" option disables stdin and prevents monado-service from terminating.
+1-4
doc/changes/ipc/mr.565.md
···11-all: Use libbsd pidfile to detect running Monado instances.
22-Enables automatically deleting stale socket files.
33-The socket file is now placed in $XDG_RUNTIME_DIR/monado_comp_ipc by default
44-or falls back to /tmp/monado_comp_ipc again if $XDG_RUNTIME_DIR is not set.
11+all: Use `libbsd` pidfile to detect running Monado instances. Enables automatically deleting stale socket files. The socket file is now placed in `$XDG_RUNTIME_DIR/monado_comp_ipc` by default or falls back to `/tmp/monado_comp_ipc` again if `$XDG_RUNTIME_DIR` is not set.
-2
doc/changes/ipc/mr.712.md
···11-all: ~~Support systemd socket activation with meson too.~~ Mason build files
22-has been removed.
-1
doc/changes/ipc/mr.721.md
···44- mr.800
55- mr.846
66---
77-87all: Now that there is a interface that allows the compositor to support
98multi-client rendering use that instead of doing our own rendering.
-1
doc/changes/misc_features/mr.1992.1.md
···44- issue.296
55- mr.2020
66---
77-87t/common: Add support for new dynamic device roles.
+1-3
doc/changes/misc_features/mr.2058.md
···11-introduce visual-inertial tracking interface header and remove the old
22-slam tracker interface
33-remove XRT_HAVE_BASALT and XRT_HAVE_KIMERA from CMake
11+Introduce visual-inertial tracking interface header and remove the old SLAM tracker interface, remove XRT_HAVE_BASALT and XRT_HAVE_KIMERA from CMake
···11-Adds Nix flake files so that people that use the nix package manager can have an instant Monado development environment.
11+Add Nix flake files so that people that use the nix package manager can have an instant Monado development environment.
-1
doc/changes/misc_features/mr.739.md
···22- mr.743
33- mr.1322
44---
55-65More work on the Windows port: fix timing, waiting, sleeping, handling the
76message queue.
-1
doc/changes/misc_features/mr.785.md
···11---
22- issue.82
33---
44-54Add JSON Schema for config files.
-1
doc/changes/misc_features/mr.984.md
···22- issue.72
33- mr.1342
44---
55-65Add `cmake-format` config files and `scripts/format-cmake.sh` to keep our build
76system tidy.
-1
doc/changes/misc_fixes/mr.1396.md
···11---
22- issue.175
33---
44-54Fix build issue with Wayland on some distributions.
-1
doc/changes/misc_fixes/mr.1561.md
···11---
22- issue.221
33---
44-54Update vendored Catch2 to 2.13.10 to fix build issue.
+1-1
doc/changes/misc_fixes/mr.1890.md
···11-ext/oxr: Adds missing headers for unpublished monado extensions:
11+ext/oxr: Add missing headers for unpublished monado extensions:
22`XR_MNDX_ball_on_a_stick_controller` and `XR_MNDX_hydra`.
···11-t/north_star: In the north star builder, add the slam device after
11+t/north_star: In the North Star builder, add the SLAM device after
22the HMD device to avoid monado-service crash due to misordering.
-2
doc/changes/misc_fixes/mr.2228.2.md
···11-d/dai: Swap x and -y axis to account properly for orientation
22-of the IMU inside the DepthAI camera.
+1-2
doc/changes/misc_fixes/mr.2228.3.md
···11-d/twrap: Correct axis assignments for poses provided by basalt
22-vio/slam, so they match the OpenXR axis definition.
11+d/twrap: Correct axis assignments for poses provided by basalt VIO/SLAM, so they match the OpenXR axis definition.
-1
doc/changes/misc_fixes/mr.963.md
···11---
22- issue.132
33---
44-54Allow OpenGL to be found on \*nix without requiring GLX, which should allow a
65Wayland-only build.
+1-4
doc/changes/state_trackers/mr.1785.2.md
···22- mr.1785
33- mr.1889
44---
55-66-OpenXR: Refactor OXR_NO_PRINTING env vars, split them in two (which is useful
77-for Windows that has stderr and Debug console). And make stderr printing default
88-off on Windows.
55+OpenXR: Refactor `OXR_NO_PRINTING` env vars, split them in two (which is useful for Windows that has stderr and Debug console), and make stderr printing default off on Windows.
-1
doc/changes/state_trackers/mr.1796.1.md
···11-OpenXR: Handle LOCAL_FLOOR enums, doesn't add support for the extension.
-1
doc/changes/state_trackers/mr.1808.md
···22- mr.1808
33- issue.98
44---
55-65OpenXR: Fix crashes when enabling headless extension but using graphics.
-1
doc/changes/state_trackers/mr.1836.md
···44- issue.269
55- mr.2027
66---
77-87OpenXR: Add support for `XR_EXT_eye_gaze_interaction`.
···11-st/oxr: Remove non-reachable return for oxr_xrPathToString
11+OpenXR: Remove non-reachable return for `oxr_xrPathToString`
+1-2
doc/changes/state_trackers/mr.1901.md
···22- mr.1901
33- mr.2027
44---
55-66-st/oxr: Adds support for `XR_EXT_hand_interaction` profile
55+OpenXR: Add support for `XR_EXT_hand_interaction` profile
+1-1
doc/changes/state_trackers/mr.1915.md
···11-OpenXR: Fixes profile look for `XR_EXT_hand_interaction` while not breaking
11+OpenXR: Fix profile look for `XR_EXT_hand_interaction` while not breaking
22`XR_msft_hand_interaction` binding look-up
···22- mr.1992
33- mr.2073
44---
55-65OpenXR: Add support for new dynamic device roles. The bindings from actions to
76devices will be recalculated when decides change.
-1
doc/changes/state_trackers/mr.2005.2.md
···22- mr.2005
33- mr.2044
44---
55-65oxr: Enable VK_EXT_debug_utils extension for client side on the platform that
76support it. Since it can not be reliably detected if the extension was enabled
87by the application on `XR_KHR_vulkan_enable` instead use the the environmental
+1-1
doc/changes/state_trackers/mr.2005.3.md
···11-oxr: RenderDoc support on vulkan/gles client sides and Android platform, make rdc can be captured by the button in UI
11+oxr: RenderDoc support on Vulkan/OpenGL ES client sides and Android platform, make rdc can be captured by the button in UI
-1
doc/changes/state_trackers/mr.2016.md
···33- mr.2032
44- mr.2027
55---
66-76OpenXR: Implementation of XR_KHR_visibility_mask.
-1
doc/changes/state_trackers/mr.2018.2.md
···33- mr.2033
44- mr.2027
55---
66-76OpenXR: Export local_floor if extension enabled and space is supported, since
87the extension is compile time we may break the space if the system actually
98doesn't support local_floor. Hopefully those cases should be rare.
-1
doc/changes/state_trackers/mr.2018.3.md
···22- mr.2018
33- mr.2027
44---
55-65OpenXR: Export unbounded if extension enabled and space is supported, it's
76exposed via XR_MSFT_unbounded_reference_space.
+1-1
doc/changes/state_trackers/mr.2024.md
···11-OpenXR: Fix xrSyncActionsreturn code with no action sets.
11+OpenXR: Fix `xrSyncActions`' return code with no action sets.
···22- mr.2078
33- mr.2082
44---
55-65OpenXR: Add `XR_KHR_composition_layer_color_scale_bias` support, disabled by
76default because Monado's main compositor doesn't support it.
+1-1
doc/changes/state_trackers/mr.2133.1.md
···11-st/oxr: Fixes binding init/updates not being reset for any-pose-subaction paths
11+OpenXR: Fix binding init/updates not being reset for any-pose-subaction paths
+1-1
doc/changes/state_trackers/mr.2133.2.md
···11-st/oxr: Fixes `xrGetCurrentInteractionPath` returning incorrect paths for particular hand becoming unbound
11+OpenXR: Fix `xrGetCurrentInteractionPath` returning incorrect paths for a particular hand becoming unbound
+1-1
doc/changes/state_trackers/mr.2146.md
···11-st/oxr: Fixes invalid timestamps for action cache updates.
11+OpenXR: Fix invalid timestamps for action cache updates.
+1-1
doc/changes/state_trackers/mr.2151.md
···11-st/oxr: Getting vendor id/name from server.
11+OpenXR: Get vendor id/name from server.
+1-1
doc/changes/state_trackers/mr.2171.md
···11-st/oxr: Avoid calling oxr_action_cache_stop_output every time when xrSyncActions is called.
11+OpenXR: Avoid calling `oxr_action_cache_stop_output` every time when `xrSyncActions` is called.
+4-2
doc/changes/state_trackers/mr.2210.md
···11-st/oxr: Fixes null-pointer def crash bug in xrGetVisibilityMaskKHR with in-process builds and replicates the same behaviour as
22-out-of-process builds of falling back to a default implementation. Fixes issue #375.11+---
22+- issue.375
33+---
44+OpenXR: Fix null-pointer crash bug in `xrGetVisibilityMaskKHR` with in-process builds and replicates the same behaviour as out-of-process builds of falling back to a default implementation.
+1-1
doc/changes/state_trackers/mr.2217.md
···11-st/oxr: support XrEventDataVisibilityMaskChangedKHR for visibility mask
11+OpenXR: support `XrEventDataVisibilityMaskChangedKHR` for visibility mask
+1-1
doc/changes/state_trackers/mr.458.1.md
···11-st/oxr: Keep track of the union of each action set's action sub-action paths
11+OpenXR: Keep track of the union of each action set's action sub-action paths
+1-1
doc/changes/state_trackers/mr.458.2.md
···11-st/oxr: Stricter path verification in xrSyncActions
11+OpenXR: Stricter path verification in `xrSyncActions`
+1-1
doc/changes/state_trackers/mr.458.3.md
···11-st/oxr: Fixes action state change/timestamp updates
11+OpenXR: Fix action state change/timestamp updates
-9
doc/changes/state_trackers/mr.689.md
···11----
22-- mr.689
33-- mr.690
44-- mr.740
55----
66-77-OpenXR: ~~Add quirk for UnrealEngine4.27 to disable depth/stencil buffer to work
88-around a bug where Unreal would forget to call acquire before wait image.~~
99-This has been fixed in UnrealEngine and is no longer needed.
-1
doc/changes/state_trackers/mr.740.md
···11-OpenXR: Unreal Engine 4 depth buffer quirk no longer needed.
-1
doc/changes/xrt/mr.1250.md
···33- mr.1257
44- mr.1259
55---
66-76Introduce `xrt_uuid_t` and `xrt_luid_t` structs and add these as field to
87`xrt_system_compositor_info` to more correctly transport UUID and LUID values.
+1-5
doc/changes/xrt/mr.1275.md
···55- mr.1285
66- mr.1299
77---
88-99-Introduce @ref xrt_system_devices struct and @ref xrt_instance_create_system
1010-call. This is a prerequisite for setter uppers (system builders if will), also
1111-have the added benefit of moving the logic of which devices has which role
1212-solely into the service/instance.
88+Introduce `xrt_system_devices` struct and `xrt_instance_create_system` call. This is a prerequisite for builders, also has the added benefit of moving the logic of which devices has which role solely into the service/instance.
+4-5
doc/changes/xrt/mr.1285.md
···33- mr.1299
44- mr.1313
55---
66-77-Introduce @ref xrt_builder struct and various functions on @ref xrt_prober
88-to support them. This is a follow up on the @ref xrt_system_devices changes.
99-These make it much easier to build more complex all in one devices like WinMR
1010-and Rift-S. And moves a lot of contextual configuration out of generic drivers
66+Introduce `xrt_builder` struct and various functions on `xrt_prober`
77+to support them. This is a follow up on the `xrt_system_devices` changes.
88+These make it much easier to build more complex integrated systems like WinMR
99+and Rift-S, and moves a lot of contextual configuration out of generic drivers
1110like the hand-tracker code needing to know which device it was being used by.
+1-2
doc/changes/xrt/mr.1296.md
···11-Make a @ref xrt_builder specifically for Lighthouse (vive, index, etc.), and
22-remove Lighthouse devices from the legacy builder.
11+Make an `xrt_builder` specifically for Lighthouse (vive, index, etc.), and remove Lighthouse devices from the legacy builder.
+5-6
doc/changes/xrt/mr.1743.md
···11-Added functions to swapchain to explicitly do the barrier insertion.
22-33-This pushes the handling of barrier calls into the OpenXR state tracker, while
44-the changes are minimal for the client compositors they no longer have the
55-responsibility to implicitly to insert a barrier when needed. Allows us to in
66-the future support extensions.
11+Added functions to swapchain to explicitly do the barrier insertion. This pushes
22+the handling of barrier calls into the OpenXR state tracker, while the changes
33+are minimal for the client compositors they no longer have the responsibility to
44+implicitly to insert a barrier when needed. Allows us to in the future support
55+extensions.
-1
doc/changes/xrt/mr.1890.1.md
···22- mr.1841
33- mr.1890
44---
55-65Add and passthrough enabled/disabled state of the `XR_EXT_hand_tracking`
76extension.
+1-1
doc/changes/xrt/mr.1896.md
···11-Adds a new `xrt_input_name` entry, `XRT_INPUT_GENERIC_PALM_POSE` for
11+Add a new `xrt_input_name` entry, `XRT_INPUT_GENERIC_PALM_POSE` for
22`XR_EXT_palm_pose`.
+1-1
doc/changes/xrt/mr.1901.md
···11-general: Adds support for `XR_EXT_hand_interaction` profile.
11+general: Add support for `XR_EXT_hand_interaction` profile.
-1
doc/changes/xrt/mr.1957.md
···22- mr.1957
33- mr.2066
44---
55-65Add `xrt_limited_unique_id` and `xrt_limited_unique_id_t` types to donate a
76special id that is unique to the current process. Use that to decorate
87`xrt_swapchain_native` with a limited unique id, useful for caching of the
-1
doc/changes/xrt/mr.1964.md
···22- mr.1964
33- mr.2066
44---
55-65Add size limit for swapchain.
-1
doc/changes/xrt/mr.1992.md
···22- mr.1992
33- mr.2019
44---
55-65Extend `xrt_system_devices` with dynamic roles for input devices and add
76function `xrt_system_devices_get_roles` to get updated devices.
-1
doc/changes/xrt/mr.2016.md
···44- mr.2034
55- mr.2067
66---
77-87Add `xrt_device` visibility mask interface, this is used to implement
98the OpenXR extension `XR_KHR_visibility_mask`.
+6-2
doc/changes/xrt/mr.2018.md
···11-Extend xrt_space_overseer to support local_floor, in the Monado interface it's
22-optional, but in OpenXR it's always required if the extension is supported.
11+---
22+- mr.2018
33+- mr.2048
44+- mr.1796
55+---
66+- Extend `xrt_space_overseer` and other APIs to support LOCAL_FLOOR. In the Monado interface it is optional, but in OpenXR it is always required if the extension is supported or 1.1 is enabled.
+1-1
doc/changes/xrt/mr.2048.1.md
···11-Add LOCAL_FLOOR and UNBOUNDED generic space poses, and re-order some of the
11+Add UNBOUNDED generic space poses, and re-order some of the
22generic inputs.
+1-2
doc/changes/xrt/mr.2048.2.md
···22- mr.2048
33- mr.2092
44---
55-65Add reference space usage information, this lets the space overseer know when
76a space has been used or no longer used. This allows for doing various things
87like recentering when an application starts, or stopping tracking of the floor
99-if the stage or local_floor space isn't used.
88+if the stage or LOCAL_FLOOR space isn't used.
+1-2
doc/changes/xrt/mr.2055.md
···11-Add new recenter function on @ref xrt_space_overseer and new result code for
22-when recentering isn't supported.
11+Add new recenter function on `xrt_space_overseer` and new result code for when recentering isn't supported.
-1
doc/changes/xrt/mr.2091.md
···22- mr.2091
33- mr.2107
44---
55-65Add `xrt_device::ref_space_usage` function to let a `xrt_device` know if a
76reference it's powering is being used or not by any client.
+1-1
doc/changes/xrt/mr.2117.md
···11-config: Add `XRT_OS_ANDROID_USE_AHB` for Android platform.If this macro is not defined, vulkan memory will be used to create swapchains.
11+config: Add `XRT_OS_ANDROID_USE_AHB` for Android platform. If this macro is not defined, Vulkan memory will be used to create swapchains.
-1
doc/changes/xrt/mr.2149.md
···11---
22- mr.2149
33---
44-54Support overriding steamvr path with the `STEAMVR_PATH` environment variable.
-1
doc/changes/xrt/mr.705.2.md
···11---
22- mr.768
33---
44-54Add `XRT_ERROR_EGL_CONFIG_MISSING` error, to handle missing config from EGL
65compositor creation call.
+1-2
doc/changes/xrt/mr.723.md
···22- mr.754
33- mr.807
44---
55-66-Make @ref xrt_swapchain be reference counted. This will greatly help with
55+Make `xrt_swapchain` be reference counted. This will greatly help with
76handling swapchains for multiple clients in the compositor rendering pipeline
87where a client might go away while the compositor is using it.
+1-2
doc/changes/xrt/mr.810.md
···11---
22- issue.61
33---
44-55-Add a @ref conventions page.
44+Add a conventions page.