The open source OpenXR runtime

doc: Update CHANGELOG

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>

+2482 -1810
+2482 -1
doc/CHANGELOG.md
··· 2 2 3 3 ```txt 4 4 SPDX-License-Identifier: CC0-1.0 5 - SPDX-FileCopyrightText: 2020 Collabora, Ltd. and the Monado contributors 5 + 6 + SPDX-FileCopyrightText: 2020-2024 Collabora, Ltd. and the Monado contributors 6 7 ``` 8 + 9 + ## Monado 24.0.0 (2024-06-07) 10 + 11 + This is a substantial release, our first tagged release in three years. In that 12 + intervening period, most Monado users have been using the `main` development 13 + branch directly. We intend to release more regularly going forward, with very 14 + limited backports of fixes to stable branches as needed. 15 + 16 + Compared to 21.0.0, this release features, among many other changes, 17 + substantially improved OpenXR conformance, support for additional extensions as 18 + well as initial support for OpenXR 1.1 (intended to be conformant but not yet 19 + submitted), asynchronous time warp in both the graphics-pipeline and 20 + compute-pipeline compositors, equal composition layer support in both compositor 21 + pipelines, improved multi-platform capabilities, optical hand tracking in some 22 + environments, support for external visual-inertial tracking (VIT aka SLAM) 23 + modules, and many driver additions and improvements. The maintainers would like 24 + to express our gratitude to the Monado community for their collective efforts, 25 + submission of merge requests and issues, mutual support, derived runtimes, and 26 + documentation efforts on top of Monado over the past three years. We look 27 + forward to keeping the momentum up! 28 + 29 + - Major changes 30 + - Implement OpenXR 1.1 31 + ([!2194](https://gitlab.freedesktop.org/monado/monado/merge_requests/2194)) 32 + - Added WinMR driver, it supports most headsets and controllers. Controllers can 33 + be connected both via host-Bluetooth and tunneled with the onboard radio chip. 34 + By default has 3DoF tracking, it can do 6DoF if used with the Basalt SLAM 35 + tracking software. Distortion is there but doesn't work perfectly on all 36 + hardware, best results is on Reverb G2. 37 + ([!774](https://gitlab.freedesktop.org/monado/monado/merge_requests/774), 38 + [!780](https://gitlab.freedesktop.org/monado/monado/merge_requests/780), 39 + [!782](https://gitlab.freedesktop.org/monado/monado/merge_requests/782), 40 + [!784](https://gitlab.freedesktop.org/monado/monado/merge_requests/784), 41 + [!850](https://gitlab.freedesktop.org/monado/monado/merge_requests/850), 42 + [!989](https://gitlab.freedesktop.org/monado/monado/merge_requests/989), 43 + [!990](https://gitlab.freedesktop.org/monado/monado/merge_requests/990), 44 + [!991](https://gitlab.freedesktop.org/monado/monado/merge_requests/991), 45 + [!999](https://gitlab.freedesktop.org/monado/monado/merge_requests/999), 46 + [!1000](https://gitlab.freedesktop.org/monado/monado/merge_requests/1000), 47 + [!1003](https://gitlab.freedesktop.org/monado/monado/merge_requests/1003), 48 + [!1006](https://gitlab.freedesktop.org/monado/monado/merge_requests/1006), 49 + [!1010](https://gitlab.freedesktop.org/monado/monado/merge_requests/1010), 50 + [!1011](https://gitlab.freedesktop.org/monado/monado/merge_requests/1011), 51 + [!1014](https://gitlab.freedesktop.org/monado/monado/merge_requests/1014), 52 + [!1018](https://gitlab.freedesktop.org/monado/monado/merge_requests/1018), 53 + [!1025](https://gitlab.freedesktop.org/monado/monado/merge_requests/1025), 54 + [!1030](https://gitlab.freedesktop.org/monado/monado/merge_requests/1030), 55 + [!1035](https://gitlab.freedesktop.org/monado/monado/merge_requests/1035), 56 + [!1041](https://gitlab.freedesktop.org/monado/monado/merge_requests/1041), 57 + [!1048](https://gitlab.freedesktop.org/monado/monado/merge_requests/1048), 58 + [!1051](https://gitlab.freedesktop.org/monado/monado/merge_requests/1051), 59 + [!1052](https://gitlab.freedesktop.org/monado/monado/merge_requests/1052), 60 + [!1055](https://gitlab.freedesktop.org/monado/monado/merge_requests/1055), 61 + [!1056](https://gitlab.freedesktop.org/monado/monado/merge_requests/1056), 62 + [!1060](https://gitlab.freedesktop.org/monado/monado/merge_requests/1060), 63 + [!1063](https://gitlab.freedesktop.org/monado/monado/merge_requests/1063), 64 + [!1088](https://gitlab.freedesktop.org/monado/monado/merge_requests/1088), 65 + [!1101](https://gitlab.freedesktop.org/monado/monado/merge_requests/1101), 66 + [!1103](https://gitlab.freedesktop.org/monado/monado/merge_requests/1103), 67 + [!1111](https://gitlab.freedesktop.org/monado/monado/merge_requests/1111), 68 + [!1134](https://gitlab.freedesktop.org/monado/monado/merge_requests/1134), 69 + [!1227](https://gitlab.freedesktop.org/monado/monado/merge_requests/1227), 70 + [!1234](https://gitlab.freedesktop.org/monado/monado/merge_requests/1234), 71 + [!1244](https://gitlab.freedesktop.org/monado/monado/merge_requests/1244), 72 + [!1264](https://gitlab.freedesktop.org/monado/monado/merge_requests/1264), 73 + [!1291](https://gitlab.freedesktop.org/monado/monado/merge_requests/1291), 74 + [!1334](https://gitlab.freedesktop.org/monado/monado/merge_requests/1334), 75 + [!1382](https://gitlab.freedesktop.org/monado/monado/merge_requests/1382), 76 + [!1418](https://gitlab.freedesktop.org/monado/monado/merge_requests/1418), 77 + [!1446](https://gitlab.freedesktop.org/monado/monado/merge_requests/1446), 78 + [!1498](https://gitlab.freedesktop.org/monado/monado/merge_requests/1498), 79 + [!1506](https://gitlab.freedesktop.org/monado/monado/merge_requests/1506), 80 + [!1550](https://gitlab.freedesktop.org/monado/monado/merge_requests/1550), 81 + [!1590](https://gitlab.freedesktop.org/monado/monado/merge_requests/1590), 82 + [!1596](https://gitlab.freedesktop.org/monado/monado/merge_requests/1596), 83 + [!1602](https://gitlab.freedesktop.org/monado/monado/merge_requests/1602), 84 + [!1619](https://gitlab.freedesktop.org/monado/monado/merge_requests/1619), 85 + [!1636](https://gitlab.freedesktop.org/monado/monado/merge_requests/1636), 86 + [!1643](https://gitlab.freedesktop.org/monado/monado/merge_requests/1643), 87 + [!1665](https://gitlab.freedesktop.org/monado/monado/merge_requests/1665), 88 + [!1719](https://gitlab.freedesktop.org/monado/monado/merge_requests/1719), 89 + [!1744](https://gitlab.freedesktop.org/monado/monado/merge_requests/1744), 90 + [!1752](https://gitlab.freedesktop.org/monado/monado/merge_requests/1752), 91 + [!1754](https://gitlab.freedesktop.org/monado/monado/merge_requests/1754), 92 + [!1797](https://gitlab.freedesktop.org/monado/monado/merge_requests/1797), 93 + [!1845](https://gitlab.freedesktop.org/monado/monado/merge_requests/1845), 94 + [!1852](https://gitlab.freedesktop.org/monado/monado/merge_requests/1852), 95 + [!1855](https://gitlab.freedesktop.org/monado/monado/merge_requests/1855), 96 + [!1857](https://gitlab.freedesktop.org/monado/monado/merge_requests/1857), 97 + [!1859](https://gitlab.freedesktop.org/monado/monado/merge_requests/1859)) 98 + - New compute-shader based rendering backend in the compositor. Supports 99 + projection, quad, equirect2, cylinder layers. It is not enabled by default. 100 + It also supports ATW. On some hardware the use of a compute queue improves 101 + latency when pre-empting other GPU work. 102 + ([!873](https://gitlab.freedesktop.org/monado/monado/merge_requests/873), 103 + [!1517](https://gitlab.freedesktop.org/monado/monado/merge_requests/1517), 104 + [!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841), 105 + [!1998](https://gitlab.freedesktop.org/monado/monado/merge_requests/1998), 106 + [!2001](https://gitlab.freedesktop.org/monado/monado/merge_requests/2001)) 107 + - Added [Tracy](https://github.com/wolfpld/tracy) as a supported tracing 108 + backend, it joins the [Perfetto](https://perfetto.dev/) backend. Tracy works 109 + on Windows, but doesn't support full system tracing or multi app as well as 110 + Perfetto. 111 + ([!1576](https://gitlab.freedesktop.org/monado/monado/merge_requests/1576), 112 + [!1577](https://gitlab.freedesktop.org/monado/monado/merge_requests/1577), 113 + [!1579](https://gitlab.freedesktop.org/monado/monado/merge_requests/1579), 114 + [!1598](https://gitlab.freedesktop.org/monado/monado/merge_requests/1598), 115 + [!1827](https://gitlab.freedesktop.org/monado/monado/merge_requests/1827)) 116 + - Add driver for XREAL (formerly nreal) Air glasses, the device features 3dof 117 + tracking. Also support XREAL Air 2 and XREAL Air 2 Pro. 118 + ([!1798](https://gitlab.freedesktop.org/monado/monado/merge_requests/1798), 119 + [!1989](https://gitlab.freedesktop.org/monado/monado/merge_requests/1989), 120 + [!2150](https://gitlab.freedesktop.org/monado/monado/merge_requests/2150), 121 + [#330](https://gitlab.freedesktop.org/monado/monado/issues/330), 122 + [!2172](https://gitlab.freedesktop.org/monado/monado/merge_requests/2172)) 123 + - xrt: Updates binding verify usage for new binding code gen and pass in enabled 124 + extensions status. 125 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 126 + - Add `libmonado` library, allows control of applications and devices. Exposed 127 + API follows semver and is semi-stable. Will never be changed in a backward 128 + incompatible way without increasing the major version. Provisions for easily 129 + and safely checking version is included, both at compile and runtime. 130 + ([!1908](https://gitlab.freedesktop.org/monado/monado/merge_requests/1908), 131 + [!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055), 132 + [!2099](https://gitlab.freedesktop.org/monado/monado/merge_requests/2099)) 133 + - Add driver for Rokid and Rokid Max glasses, the devices features 3dof tracking. 134 + ([!1930](https://gitlab.freedesktop.org/monado/monado/merge_requests/1930)) 135 + - Add new curated debug GUI, while not exposing all the of the knobs it presents 136 + those knobs in a more organized way compared to the advanced UI. The curated UI 137 + also features the readback sink in the background, making it possible for it 138 + to double as the peek window. 139 + ([!1941](https://gitlab.freedesktop.org/monado/monado/merge_requests/1941)) 140 + - Graphics compositor: Add new graphics layer helper code, supports projection, 141 + quad, cylinder, and equirect2 layers. This path now completely replaces the old 142 + layer renderer that was in the main compositor, making it reusable. 143 + ([!1983](https://gitlab.freedesktop.org/monado/monado/merge_requests/1983), 144 + [!1994](https://gitlab.freedesktop.org/monado/monado/merge_requests/1994), 145 + [!1995](https://gitlab.freedesktop.org/monado/monado/merge_requests/1995), 146 + [#299](https://gitlab.freedesktop.org/monado/monado/issues/299), 147 + [!2026](https://gitlab.freedesktop.org/monado/monado/merge_requests/2026), 148 + [!2105](https://gitlab.freedesktop.org/monado/monado/merge_requests/2105)) 149 + - Add hot-switch support for input devices like controllers and gamepads. This is 150 + not full hot-plug support, but instead only enables switching between devices 151 + created at start. 152 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 153 + - Add framework support for face tracking xrt-devices. XR_HTC_facial_tracking 154 + being the first face tracking extension supported and the conventions of this 155 + for expression weights that xrt-device/drivers can output. 156 + More will be added in the future. 157 + ([!2163](https://gitlab.freedesktop.org/monado/monado/merge_requests/2163), 158 + [!2166](https://gitlab.freedesktop.org/monado/monado/merge_requests/2166), 159 + [!2218](https://gitlab.freedesktop.org/monado/monado/merge_requests/2218)) 160 + - Add body tracking xrt-devices framework and support for the XR_FB_body_tracking 161 + extension. 162 + ([!2178](https://gitlab.freedesktop.org/monado/monado/merge_requests/2178)) 163 + - Implement experimental XR_MNDX_xdev_space extension 164 + ([!2211](https://gitlab.freedesktop.org/monado/monado/merge_requests/2211), 165 + [!2215](https://gitlab.freedesktop.org/monado/monado/merge_requests/2215)) 166 + - XRT Interface 167 + - Added frame timing code that when the underlying vulkan driver supports the 168 + VK_GOOGLE_display_timing extension greatly improves the timing accuracy of 169 + the compositor. Along with this tracing code was added to better help use 170 + understand what was happening during a frame. 171 + ([!697](https://gitlab.freedesktop.org/monado/monado/merge_requests/697)) 172 + - Add functionality to disable individual drivers in the configuration file. 173 + ([!704](https://gitlab.freedesktop.org/monado/monado/merge_requests/704)) 174 + - Return `xrt_result_t` from `xrt_gfx_provider_create_gl_egl`. 175 + ([!705](https://gitlab.freedesktop.org/monado/monado/merge_requests/705)) 176 + - Add `XRT_ERROR_EGL_CONFIG_MISSING` error, to handle missing config from EGL 177 + compositor creation call. 178 + ([!705](https://gitlab.freedesktop.org/monado/monado/merge_requests/705), 179 + [!768](https://gitlab.freedesktop.org/monado/monado/merge_requests/768)) 180 + - Add small helper function for pushing frames. 181 + ([!715](https://gitlab.freedesktop.org/monado/monado/merge_requests/715)) 182 + - Add `xrt_compositor_fence` interface to handle service and client render 183 + synchronisation. 184 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 185 + - Add `XRT_ERROR_THREADING_INIT_FAILURE` a new threading related error code. 186 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 187 + - Add alternative functions to `xrt_compositor::wait_frame` called 188 + `xrt_compositor::predict_frame` and `xrt_compositor::mark_frame` these allow 189 + one to do frame timing without having to block on the service side. 190 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 191 + - Add `xrt_multi_compositor_control` that allows the `xrt_system_compositor` to 192 + expose a interface that the IPC layer can use to manage multiple clients 193 + without having to do the rendering. This allows us to move a lot of the code 194 + out the IPC layer and make it more about passing calls. 195 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 196 + - Pass `XrFrameEndInfo::displayTime` to `xrt_compositor::layer_begin` so that the 197 + compositor can correctly schedule frames, most importantly do not display them 198 + too early that might lead to stutter. 199 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 200 + - Make `xrt_swapchain` be reference counted. This will greatly help with 201 + handling swapchains for multiple clients in the compositor rendering pipeline 202 + where a client might go away while the compositor is using it. 203 + ([!723](https://gitlab.freedesktop.org/monado/monado/merge_requests/723), 204 + [!754](https://gitlab.freedesktop.org/monado/monado/merge_requests/754), 205 + [!807](https://gitlab.freedesktop.org/monado/monado/merge_requests/807)) 206 + - Make `enum xrt_blend_mode` an array instead of a bitfield, so that drivers can 207 + specify which one is preferred. 208 + ([!749](https://gitlab.freedesktop.org/monado/monado/merge_requests/749)) 209 + - Add new IPC session not created error `XRT_ERROR_IPC_SESSION_NOT_CREATED`, as 210 + some functions cannot be called without first creating a session. 211 + ([!768](https://gitlab.freedesktop.org/monado/monado/merge_requests/768)) 212 + - Make eye_relation argument to xrt_device_get_view_pose const, more safety for 213 + everybody. 214 + ([!794](https://gitlab.freedesktop.org/monado/monado/merge_requests/794)) 215 + - Add `XRT_ERROR_IPC_SESSION_ALREADY_CREATED` error message to signal that a 216 + session has already been created on this connection. 217 + ([!800](https://gitlab.freedesktop.org/monado/monado/merge_requests/800)) 218 + - Add a conventions page. 219 + ([!810](https://gitlab.freedesktop.org/monado/monado/merge_requests/810), 220 + [#61](https://gitlab.freedesktop.org/monado/monado/issues/61)) 221 + - Send down sub-image offsets and sizes in normalised form, this makes it so that 222 + compositor does not need to track the size of swapchains. 223 + ([!847](https://gitlab.freedesktop.org/monado/monado/merge_requests/847)) 224 + - Add `use_dedicated_allocation` field to `xrt_image_native` struct to track if 225 + dedicated allocation is required. 226 + ([!867](https://gitlab.freedesktop.org/monado/monado/merge_requests/867)) 227 + - Add xrt_vec3_f64 struct. 228 + ([!870](https://gitlab.freedesktop.org/monado/monado/merge_requests/870)) 229 + - Make `xrt_system_compositor_info::supported_blend_modes` an array with an 230 + adjacent count field. 231 + ([!975](https://gitlab.freedesktop.org/monado/monado/merge_requests/975)) 232 + - Rename all `num_` parameters and fields in the interface, typically to `_count` 233 + but sometimes `_capacity`, to match OpenXR convention. 234 + ([!977](https://gitlab.freedesktop.org/monado/monado/merge_requests/977)) 235 + - Remove `xrt_view::display::{w|h}_meters`, they are not used anywhere. 236 + ([!1054](https://gitlab.freedesktop.org/monado/monado/merge_requests/1054)) 237 + - Rename `xrt_space_graph` (and related `m_space_graph_*` functions in 238 + `m_space.h`) to `xrt_relation_chain` to more accurately reflect the function of 239 + this structure. 240 + ([!1092](https://gitlab.freedesktop.org/monado/monado/merge_requests/1092)) 241 + - Add the ability for `xrt_device` to dynamically change the fov of the views 242 + return back to the applications. We do this by addning a new function called 243 + `xrt_device::get_view_poses` and removing the old one. This function now 244 + returns view poses, fovs and the observer position in one go. 245 + ([!1105](https://gitlab.freedesktop.org/monado/monado/merge_requests/1105)) 246 + - Add `XRT_TIMEOUT` to be used for operations that can timeout, same value as 247 + `VK_TIMEOUT` for extra compatibility. 248 + ([!1147](https://gitlab.freedesktop.org/monado/monado/merge_requests/1147)) 249 + - Make it possible when creating the Vulkan client compositor to say if timeline 250 + semaphores has been enabled. 251 + ([!1164](https://gitlab.freedesktop.org/monado/monado/merge_requests/1164)) 252 + - Add `xrt_compositor_semaphore` object, add interfaces to `xrt_compositor` for 253 + creating the new semaphore object. Also add interface for passing in semaphore 254 + to `xrt_compositor::layer_commit`. Added support for these interface through 255 + the whole Monado stack. 256 + ([!1164](https://gitlab.freedesktop.org/monado/monado/merge_requests/1164)) 257 + - Add `XRT_CHECK_RESULT` define to be used for ensure that the result from 258 + functions are read and acted upon. 259 + ([!1166](https://gitlab.freedesktop.org/monado/monado/merge_requests/1166)) 260 + - xrt: Add new `XRT_TRACING` environmental variable to control if tracing is 261 + enabled or not, this is to work around crashes in Perfetto when running the 262 + CTS. 263 + ([!1231](https://gitlab.freedesktop.org/monado/monado/merge_requests/1231)) 264 + - Introduce `xrt_uuid_t` and `xrt_luid_t` structs and add these as field to 265 + `xrt_system_compositor_info` to more correctly transport UUID and LUID values. 266 + ([!1250](https://gitlab.freedesktop.org/monado/monado/merge_requests/1250), 267 + [!1257](https://gitlab.freedesktop.org/monado/monado/merge_requests/1257), 268 + [!1259](https://gitlab.freedesktop.org/monado/monado/merge_requests/1259)) 269 + - xrt: Add xrt_swapchain_create_properties to allow client compositors and IPC 270 + code to query the main compositor how many images to create on a swapchain, 271 + and provide an extension point for more properties as needed. 272 + ([!1258](https://gitlab.freedesktop.org/monado/monado/merge_requests/1258)) 273 + - Introduce `xrt_system_devices` struct and `xrt_instance_create_system` call. 274 + This is a prerequisite for builders, also has the added benefit of moving the 275 + logic of which devices has which role solely into the service/instance. 276 + ([!1275](https://gitlab.freedesktop.org/monado/monado/merge_requests/1275), 277 + [!1279](https://gitlab.freedesktop.org/monado/monado/merge_requests/1279), 278 + [!1283](https://gitlab.freedesktop.org/monado/monado/merge_requests/1283), 279 + [!1285](https://gitlab.freedesktop.org/monado/monado/merge_requests/1285), 280 + [!1299](https://gitlab.freedesktop.org/monado/monado/merge_requests/1299)) 281 + - Introduce `xrt_builder` struct and various functions on `xrt_prober` 282 + to support them. This is a follow up on the `xrt_system_devices` changes. 283 + These make it much easier to build more complex integrated systems like WinMR 284 + and Rift-S, and moves a lot of contextual configuration out of generic drivers 285 + like the hand-tracker code needing to know which device it was being used by. 286 + ([!1285](https://gitlab.freedesktop.org/monado/monado/merge_requests/1285), 287 + [!1299](https://gitlab.freedesktop.org/monado/monado/merge_requests/1299), 288 + [!1313](https://gitlab.freedesktop.org/monado/monado/merge_requests/1313)) 289 + - Make an `xrt_builder` specifically for Lighthouse (vive, index, etc.), and 290 + remove Lighthouse devices from the legacy builder. 291 + ([!1296](https://gitlab.freedesktop.org/monado/monado/merge_requests/1296)) 292 + - No longer include any util headers (in this case `u_time.h`), the XRT headers 293 + are supposed to be completely self contained. The include also messed with 294 + build 295 + refactoring in the auxiliary directory. 296 + ([!1328](https://gitlab.freedesktop.org/monado/monado/merge_requests/1328)) 297 + - Mark haptic value in xrt_device_set_output as const. 298 + ([!1408](https://gitlab.freedesktop.org/monado/monado/merge_requests/1408)) 299 + - Remove unused `xrt_layer_cube_data::image_array_index` field. 300 + ([!1421](https://gitlab.freedesktop.org/monado/monado/merge_requests/1421)) 301 + - Add a single header for limits, like max number of swapchain images. 302 + ([!1553](https://gitlab.freedesktop.org/monado/monado/merge_requests/1553)) 303 + - Add `XRT_IPC_SERVICE_PID_FILE_NAME` cmake variable to configure the name of pid 304 + file. 305 + ([!1567](https://gitlab.freedesktop.org/monado/monado/merge_requests/1567)) 306 + - Add `XRT_OXR_RUNTIME_SUFFIX` cmake variable to configure the suffix of the 307 + output openXR library. 308 + ([!1567](https://gitlab.freedesktop.org/monado/monado/merge_requests/1567)) 309 + - Remove the `xrt_gfx_native.h` as it is no longer needed, it has been replaced 310 + by `compositor/main` own interface file. In the past it was the state tracker 311 + or IPC layer that created the `xrt_system_compositor` directly by calling this 312 + function. But now it's the `xrt_instance`s responsibility, and it can pick 313 + which compositor to create. So this interface becomes less special and just 314 + one of many possible compositors implementations. 315 + ([!1569](https://gitlab.freedesktop.org/monado/monado/merge_requests/1569)) 316 + - Added `XRT_STRUCT_INIT` define to help with headers and code that needs to 317 + compile as both C and C++ code. This is due to differences in default struct 318 + initialization. 319 + ([!1578](https://gitlab.freedesktop.org/monado/monado/merge_requests/1578)) 320 + - Document using `XRT_INPUT_GENERIC_UNBOUNDED_SPACE_POSE` unbounded reference 321 + space. 322 + ([!1621](https://gitlab.freedesktop.org/monado/monado/merge_requests/1621)) 323 + - Remote `xrt_prober_device::product_name` array, the value was only used 324 + internally by the prober. There is already a access function for the product 325 + name that is needed by USB, so make the interface less confusing. 326 + ([!1732](https://gitlab.freedesktop.org/monado/monado/merge_requests/1732)) 327 + - Added functions to swapchain to explicitly do the barrier insertion. This 328 + pushes the handling of barrier calls into the OpenXR state tracker, while 329 + the changes are minimal for the client compositors they no longer have the 330 + responsibility to implicitly to insert a barrier when needed. Allows us to 331 + in the future support extensions. 332 + ([!1743](https://gitlab.freedesktop.org/monado/monado/merge_requests/1743)) 333 + - Introduce `xrt_layer_frame_data` struct that holds per frame data for the 334 + `xrt_compositor` layer interface. This is a sibling to the `xrt_layer_data` 335 + struct which holds per layer data. Both are structs instead of arguments to 336 + make it easier to pass the needed data through the layers of Monado, and for 337 + easier extension further down the line. 338 + ([!1755](https://gitlab.freedesktop.org/monado/monado/merge_requests/1755)) 339 + - Extend `xrt_swapchain_create_properties` to allow the main compositor 340 + request extra bits to be used beyond those requested by the OpenXR app. Some 341 + compositors might need extra usage bits set beyond just the constant sampled 342 + bit. This also ensures that images have exactly the same usages in both the 343 + compositor and app. 344 + ([!1763](https://gitlab.freedesktop.org/monado/monado/merge_requests/1763)) 345 + - Add eye gaze enums to enable exposing eye gaze data to the application. 346 + ([!1836](https://gitlab.freedesktop.org/monado/monado/merge_requests/1836)) 347 + - Add Gen 3.0 and Tundar vive tracker device names. 348 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860)) 349 + - Add generic vive tracker input and output defines. 350 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860)) 351 + - Add and passthrough enabled/disabled state of the `XR_EXT_hand_tracking` 352 + extension. 353 + ([!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890), 354 + [!1841](https://gitlab.freedesktop.org/monado/monado/merge_requests/1841), 355 + [!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890)) 356 + - Add and passthrough enabled/disabled state of the `XR_EXT_eye_gaze_interaction` 357 + extension. 358 + ([!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890)) 359 + - Add a new `xrt_input_name` entry, `XRT_INPUT_GENERIC_PALM_POSE` for 360 + `XR_EXT_palm_pose`. 361 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 362 + - general: Add support for `XR_EXT_hand_interaction` profile. 363 + ([!1901](https://gitlab.freedesktop.org/monado/monado/merge_requests/1901)) 364 + - Add OPPO MR controller defines. 365 + ([!1904](https://gitlab.freedesktop.org/monado/monado/merge_requests/1904)) 366 + - Add trailing commas to all enums, reduces the size of any future changes to 367 + those enums. 368 + ([!1907](https://gitlab.freedesktop.org/monado/monado/merge_requests/1907)) 369 + - Add new `xrt_device_name` enum entry for `XR_EXT_hand_interaction`. 370 + ([!1915](https://gitlab.freedesktop.org/monado/monado/merge_requests/1915)) 371 + - Add performance settings interface, used to implement 372 + `XR_EXT_performance_settings`. 373 + ([!1936](https://gitlab.freedesktop.org/monado/monado/merge_requests/1936)) 374 + - Add `xrt_thread_hint` enum and `xrt_compositor::set_thread_hint` function, 375 + this function lets us implement the 376 + [XR_KHR_android_thread_settings](https://registry.khronos.org/OpenXR/specs/1.0/man/html/XR_KHR_android_thread_settings.html) 377 + extension. 378 + ([!1951](https://gitlab.freedesktop.org/monado/monado/merge_requests/1951)) 379 + - Add `xrt_limited_unique_id` and `xrt_limited_unique_id_t` types to donate a 380 + special id that is unique to the current process. Use that to decorate 381 + `xrt_swapchain_native` with a limited unique id, useful for caching of the 382 + `xrt_image_native` imports of swapchains and other objects. 383 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957), 384 + [!2066](https://gitlab.freedesktop.org/monado/monado/merge_requests/2066)) 385 + - Add size limit for swapchain. 386 + ([!1964](https://gitlab.freedesktop.org/monado/monado/merge_requests/1964), 387 + [!2066](https://gitlab.freedesktop.org/monado/monado/merge_requests/2066)) 388 + - Extend `xrt_system_devices` with dynamic roles for input devices and add 389 + function `xrt_system_devices_get_roles` to get updated devices. 390 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 391 + [!2019](https://gitlab.freedesktop.org/monado/monado/merge_requests/2019)) 392 + - xrt/android: bump AGP to 8.1.0 and use latest google-java-format, spotless and 393 + svg-2-android-vector 394 + ([!2002](https://gitlab.freedesktop.org/monado/monado/merge_requests/2002)) 395 + - Add `xrt_device` visibility mask interface, this is used to implement 396 + the OpenXR extension `XR_KHR_visibility_mask`. 397 + ([!2016](https://gitlab.freedesktop.org/monado/monado/merge_requests/2016), 398 + [!2032](https://gitlab.freedesktop.org/monado/monado/merge_requests/2032), 399 + [!2034](https://gitlab.freedesktop.org/monado/monado/merge_requests/2034), 400 + [!2067](https://gitlab.freedesktop.org/monado/monado/merge_requests/2067)) 401 + - Extend `xrt_space_overseer` and other APIs to support LOCAL_FLOOR. In the 402 + Monado interface it is optional, but in OpenXR it is always required if the 403 + extension is supported or 1.1 is enabled. 404 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018), 405 + [!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048), 406 + [!1796](https://gitlab.freedesktop.org/monado/monado/merge_requests/1796)) 407 + - xrt: Make `xrt_device::get_visibility_mask` return `xrt_return_t`. 408 + ([!2034](https://gitlab.freedesktop.org/monado/monado/merge_requests/2034)) 409 + - Tidy the `xrt_device.h` file to make sure the destroy function is the last 410 + function on the device. 411 + ([!2038](https://gitlab.freedesktop.org/monado/monado/merge_requests/2038)) 412 + - Add `XRT_ERROR_DEVICE_FUNCTION_NOT_IMPLEMENTED` error message, used to signal 413 + when a function that isn't implemented is called. It is not meant to query the 414 + availability of the function or feature, only a error condition on bad code. 415 + ([!2039](https://gitlab.freedesktop.org/monado/monado/merge_requests/2039)) 416 + - handles: Add defines to characterize the behavior of the Vulkan graphics buffer 417 + import functionality: on most platforms, the import consumes the reference, but 418 + on some it just increases a ref count/clones the reference. 419 + ([!2042](https://gitlab.freedesktop.org/monado/monado/merge_requests/2042)) 420 + - xrt: Improve the xrt_reference helper functions, making them more clear and 421 + better documented. 422 + ([!2047](https://gitlab.freedesktop.org/monado/monado/merge_requests/2047)) 423 + - Add UNBOUNDED generic space poses, and re-order some of the 424 + generic inputs. 425 + ([!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048)) 426 + - Add reference space usage information, this lets the space overseer know when 427 + a space has been used or no longer used. This allows for doing various things 428 + like recentering when an application starts, or stopping tracking of the floor 429 + if the stage or LOCAL_FLOOR space isn't used. 430 + ([!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048), 431 + [!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048), 432 + [!2092](https://gitlab.freedesktop.org/monado/monado/merge_requests/2092)) 433 + - Fix graphics includes in the xrt_openxr_includes.h header. 434 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049)) 435 + - Use uint32_t instead of int64_t for xrt_swapchain_create_info::format. 436 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049)) 437 + - Add formats list to xrt_swapchain_create_info, used to implement the OpenXR 438 + extension XR_KHR_vulkan_swapchain_format_list. 439 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049)) 440 + - For display refresh info add hz prefix, follow code style and add limit to 441 + refresh rate array. 442 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051)) 443 + - Add new API in xrt_compositor and xrt_multi_compositor_control interfaces for 444 + display refresh rate setting and getting, used to implement 445 + XR_FB_display_refresh_rate. 446 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051)) 447 + - Add new recenter function on `xrt_space_overseer` and new result code for when 448 + recentering isn't supported. 449 + ([!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055)) 450 + - Introduce two new objects `xrt_system`, `xrt_session`, `xrt_session_event` and 451 + `xrt_session_event_sink`. Along with two new error returns 452 + `XRT_ERROR_IPC_COMPOSITOR_NOT_CREATED` and 453 + `XRT_ERROR_COMPOSITOR_NOT_SUPPORTED`. 454 + Also moves the compositor events to the session. 455 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 456 + - Add `xrt_session_event_reference_space_change_pending` event, this is used to 457 + generate `XrEventDataReferenceSpaceChangePending` in OpenXR. 458 + ([!2081](https://gitlab.freedesktop.org/monado/monado/merge_requests/2081)) 459 + - Pass down broadcast `xrt_session_event_sink` pointer to prober and builder when 460 + creating system, this is used to broadcast events to all sessions. Such as 461 + reference space change pending event. 462 + ([!2081](https://gitlab.freedesktop.org/monado/monado/merge_requests/2081)) 463 + - xrt_defines: Added new define `XRT_MAX_VIEWS` to define the maximum number of 464 + views supported by the system. This is used to define the maximum number of 465 + views supported by the distortion calculation as well as other view-related 466 + arrays. 467 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086)) 468 + - xrt_device: Added new function `xrt_device_get_view_configuration` to get the 469 + view configuration for a device. Array size is determined by `XRT_MAX_VIEWS`. 470 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086)) 471 + - The runtime name is now picked up from the CMake project description. 472 + ([!2089](https://gitlab.freedesktop.org/monado/monado/merge_requests/2089)) 473 + - Add `xrt_device::ref_space_usage` function to let a `xrt_device` know if a 474 + reference it's powering is being used or not by any client. 475 + ([!2091](https://gitlab.freedesktop.org/monado/monado/merge_requests/2091), 476 + [!2107](https://gitlab.freedesktop.org/monado/monado/merge_requests/2107)) 477 + - Make it possible to get builders from prober, this is useful for generating 478 + reports for end-user debugging. 479 + ([!2094](https://gitlab.freedesktop.org/monado/monado/merge_requests/2094)) 480 + - Make it possible to control where dump goes, this is useful for generating 481 + reports for end-user debugging. 482 + ([!2094](https://gitlab.freedesktop.org/monado/monado/merge_requests/2094)) 483 + - Prevent systemd from activating the user unit in quick succession, if it 484 + crashes on startup. This keep the units from entering a failed state. 485 + ([!2116](https://gitlab.freedesktop.org/monado/monado/merge_requests/2116)) 486 + - config: Add `XRT_OS_ANDROID_USE_AHB` for Android platform. If this macro is not 487 + defined, Vulkan memory will be used to create swapchains. 488 + ([!2117](https://gitlab.freedesktop.org/monado/monado/merge_requests/2117)) 489 + - xrt: Support STAGE space to be tracked by xrt_devices and implement in 490 + steamvr_lh, survive and remote drivers. 491 + ([!2121](https://gitlab.freedesktop.org/monado/monado/merge_requests/2121)) 492 + - Support overriding steamvr path with the `STEAMVR_PATH` environment variable. 493 + ([!2149](https://gitlab.freedesktop.org/monado/monado/merge_requests/2149)) 494 + - Add `XRT_SPACE_BOUNDS_UNAVAILABLE` and 495 + `XRT_ERROR_COMPOSITOR_FUNCTION_NOT_IMPLEMENTED` enum, 496 + and `xrt_compositor::get_reference_bounds_rect` function to implement 497 + `xrGetReferenceSpaceBoundsRect` 498 + ([!2180](https://gitlab.freedesktop.org/monado/monado/merge_requests/2180)) 499 + - Fix compile error in t_imu.cpp due to missing header 500 + ([!2182](https://gitlab.freedesktop.org/monado/monado/merge_requests/2182)) 501 + - Generate the `enum xrt_input_name` from a macro to avoid code duplication 502 + ([!2191](https://gitlab.freedesktop.org/monado/monado/merge_requests/2191)) 503 + - State Trackers 504 + - OpenXR: Keep track of the union of each action set's action sub-action paths 505 + ([!458](https://gitlab.freedesktop.org/monado/monado/merge_requests/458)) 506 + - OpenXR: Stricter path verification in `xrSyncActions` 507 + ([!458](https://gitlab.freedesktop.org/monado/monado/merge_requests/458)) 508 + - OpenXR: Fix action state change/timestamp updates 509 + ([!458](https://gitlab.freedesktop.org/monado/monado/merge_requests/458)) 510 + - OpenXR: Ignore XrSystemHandTrackingPropertiesEXT when hand tracking extension 511 + is not enabled. 512 + ([!688](https://gitlab.freedesktop.org/monado/monado/merge_requests/688)) 513 + - OpenXR: Support EGL clients sending in no EGLConfig if the EGLDisplay supports 514 + EGL_KHR_no_config_context. 515 + ([!705](https://gitlab.freedesktop.org/monado/monado/merge_requests/705)) 516 + - OpenXR: Use new multi compositor controls to set visibility and z_order if 517 + available. This is needed for when we are not in service mode. 518 + ([!759](https://gitlab.freedesktop.org/monado/monado/merge_requests/759)) 519 + - OpenXR: Add prefix to gfx related session functions to improve sorting. 520 + ([!847](https://gitlab.freedesktop.org/monado/monado/merge_requests/847)) 521 + - OpenXR: Break out end frame handling to its own file since it's so big. 522 + ([!847](https://gitlab.freedesktop.org/monado/monado/merge_requests/847)) 523 + - OpenXR: Fill in normalised sub-image offsets and sizes. 524 + ([!847](https://gitlab.freedesktop.org/monado/monado/merge_requests/847)) 525 + - OpenXR: Add support for XR_KHR_swapchain_usage_input_attachment_bit. 526 + ([!886](https://gitlab.freedesktop.org/monado/monado/merge_requests/886)) 527 + - OpenXR: Implement a basic support XR_FB_display_refresh_rate that can report 528 + the current refresh rate. 529 + ([!897](https://gitlab.freedesktop.org/monado/monado/merge_requests/897)) 530 + - OpenXR: Add support for RenderDoc frame capture of OpenXR applications between 531 + xrBeginFrame and xrEndFrame. 532 + ([!1126](https://gitlab.freedesktop.org/monado/monado/merge_requests/1126)) 533 + - OpenXR: Add `XRT_CHECK_RESULT` to oxr space functions. 534 + ([!1166](https://gitlab.freedesktop.org/monado/monado/merge_requests/1166)) 535 + - OpenXR: Ensure even if relation is not locatable return only valid data. 536 + ([!1166](https://gitlab.freedesktop.org/monado/monado/merge_requests/1166)) 537 + - OpenXR: Improve logging in `xrLocateSpace`. 538 + ([!1166](https://gitlab.freedesktop.org/monado/monado/merge_requests/1166)) 539 + - OpenXR: Do not expose the XR_EXT_debug_utils extension, none of the functions 540 + where given out but we still listed the extension to the loader. So we put it 541 + behind a feature config that is always set to off. 542 + ([!1312](https://gitlab.freedesktop.org/monado/monado/merge_requests/1312)) 543 + - OpenXR: Make sure to init session fields as early as possible. 544 + ([!1353](https://gitlab.freedesktop.org/monado/monado/merge_requests/1353)) 545 + - OpenXR: Update headers to 1.0.23. 546 + ([!1355](https://gitlab.freedesktop.org/monado/monado/merge_requests/1355)) 547 + - OpenXR: Validate faceCount parameter of XrSwapchainCreateInfo. 548 + ([!1399](https://gitlab.freedesktop.org/monado/monado/merge_requests/1399)) 549 + - OpenXR: Now does the barrier insertion explicitly, see XRT comment for this MR. 550 + ([!1743](https://gitlab.freedesktop.org/monado/monado/merge_requests/1743)) 551 + - OpenXR: Refactor logging functions and use OutputDebugStringA on Windows. 552 + ([!1785](https://gitlab.freedesktop.org/monado/monado/merge_requests/1785)) 553 + - OpenXR: Refactor `OXR_NO_PRINTING` env vars, split them in two (which is useful 554 + for Windows that has stderr and Debug console), and make stderr printing 555 + default off on Windows. 556 + ([!1785](https://gitlab.freedesktop.org/monado/monado/merge_requests/1785), 557 + [!1785](https://gitlab.freedesktop.org/monado/monado/merge_requests/1785), 558 + [!1889](https://gitlab.freedesktop.org/monado/monado/merge_requests/1889)) 559 + - OpenXR: Set extensions earlier in instance init. 560 + ([!1796](https://gitlab.freedesktop.org/monado/monado/merge_requests/1796)) 561 + - OpenXR: Refactor wait frame function to avoid setting state before we should. 562 + ([!1805](https://gitlab.freedesktop.org/monado/monado/merge_requests/1805)) 563 + - OpenXR: Fix crashes when enabling headless extension but using graphics. 564 + ([!1808](https://gitlab.freedesktop.org/monado/monado/merge_requests/1808), 565 + [#98](https://gitlab.freedesktop.org/monado/monado/issues/98)) 566 + - OpenXR: Add support for `XR_EXT_eye_gaze_interaction`. 567 + ([!1836](https://gitlab.freedesktop.org/monado/monado/merge_requests/1836), 568 + [!1867](https://gitlab.freedesktop.org/monado/monado/merge_requests/1867), 569 + [#269](https://gitlab.freedesktop.org/monado/monado/issues/269), 570 + [!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 571 + - OpenXR: Use truncating printf helpers from util. 572 + ([!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865)) 573 + - OpenXR: Check that argument performanceCounter to 574 + xrConvertWin32PerformanceCounterToTimeKHR is valid. 575 + ([!1880](https://gitlab.freedesktop.org/monado/monado/merge_requests/1880)) 576 + - OpenXR: Add missing cpp defines/checks for: `XR_HTCX_vive_tracker_interaction` 577 + and `XR_MNDX_hydra`. 578 + ([!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890)) 579 + - OpenXR: Add disabled `XR_EXT_palm_pose`, no device driver actually support it 580 + yet hence added in a disabled state. 581 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 582 + - OpenXR: Add disabled `XR_MSFT_hand_intertaction`. 583 + The binding code has support for this extension, but the bindings are not 584 + used in any of the drivers so totally untested and would lead to the wrong 585 + expectations of the applications. 586 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 587 + - OpenXR: Remove non-reachable return for `oxr_xrPathToString` 588 + ([!1899](https://gitlab.freedesktop.org/monado/monado/merge_requests/1899)) 589 + - OpenXR: Add support for `XR_EXT_hand_interaction` profile 590 + ([!1901](https://gitlab.freedesktop.org/monado/monado/merge_requests/1901), 591 + [!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 592 + - OpenXR: Add XR_MNDX_system_buttons extension to expose system buttons for 593 + controllers where they have been omitted. 594 + ([!1903](https://gitlab.freedesktop.org/monado/monado/merge_requests/1903)) 595 + - OpenXR: Add OPPO MR controller extension. 596 + ([!1904](https://gitlab.freedesktop.org/monado/monado/merge_requests/1904)) 597 + - OpenXR: Fix profile look for `XR_EXT_hand_interaction` while not breaking 598 + `XR_msft_hand_interaction` binding look-up 599 + ([!1915](https://gitlab.freedesktop.org/monado/monado/merge_requests/1915)) 600 + - OpenXR: Implement `XR_EXT_performance_settings`. 601 + ([!1936](https://gitlab.freedesktop.org/monado/monado/merge_requests/1936)) 602 + - OpenXR: Implementation of XR_KHR_android_thread_settings. 603 + ([!1951](https://gitlab.freedesktop.org/monado/monado/merge_requests/1951)) 604 + - OpenXR: Verify size limit for swapchain. 605 + ([!1964](https://gitlab.freedesktop.org/monado/monado/merge_requests/1964), 606 + [!2066](https://gitlab.freedesktop.org/monado/monado/merge_requests/2066)) 607 + - OpenXR: Prefer use of action ref in binding code, in other words make 608 + `oxr_action_attachment_bind` only use `oxr_action_ref` params. 609 + ([!1985](https://gitlab.freedesktop.org/monado/monado/merge_requests/1985)) 610 + - OpenXR: Refactor device getters. 611 + ([!1985](https://gitlab.freedesktop.org/monado/monado/merge_requests/1985)) 612 + - OpenXR: Add support for new dynamic device roles. The bindings from actions to 613 + devices will be recalculated when decides change. 614 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 615 + [!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 616 + [!2073](https://gitlab.freedesktop.org/monado/monado/merge_requests/2073)) 617 + - OpenXR: Route log output to Android logcat. 618 + ([!2003](https://gitlab.freedesktop.org/monado/monado/merge_requests/2003)) 619 + - OpenXR: Implementation of XR_KHR_visibility_mask. 620 + ([!2016](https://gitlab.freedesktop.org/monado/monado/merge_requests/2016), 621 + [!2032](https://gitlab.freedesktop.org/monado/monado/merge_requests/2032), 622 + [!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 623 + - OpenXR: Refactor reference space validation and support checking, code now 624 + supports per system set of supported reference spaces. 625 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018)) 626 + - OpenXR: Export local_floor if extension enabled and space is supported, since 627 + the extension is compile time we may break the space if the system actually 628 + doesn't support local_floor. Hopefully those cases should be rare. 629 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018), 630 + [!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018), 631 + [!2033](https://gitlab.freedesktop.org/monado/monado/merge_requests/2033), 632 + [!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 633 + - OpenXR: Export unbounded if extension enabled and space is supported, it's 634 + exposed via XR_MSFT_unbounded_reference_space. 635 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018), 636 + [!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018), 637 + [!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 638 + - OpenXR: Fix `xrSyncActions`' return code with no action sets. 639 + ([!2024](https://gitlab.freedesktop.org/monado/monado/merge_requests/2024)) 640 + - OpenXR: Properly check all extension interaction profiles if enabled or 641 + supported in xrSuggestInteractionProfileBindings. 642 + ([!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 643 + - OpenXR: Make many more extensions build time options, doesn't change which 644 + are enabled by default. This lets runtimes using Monado control which 645 + extensions are exposed, this needs to be build time options because 646 + extensions are listed before a connection is made to the service. 647 + ([!2027](https://gitlab.freedesktop.org/monado/monado/merge_requests/2027)) 648 + - OpenXR: Handle session not focused for action input and output and return 649 + XR_SESSION_NOT_FOCUSED where needed. 650 + ([!2035](https://gitlab.freedesktop.org/monado/monado/merge_requests/2035)) 651 + - OpenXR: Use xrt_device function helper. 652 + ([!2038](https://gitlab.freedesktop.org/monado/monado/merge_requests/2038)) 653 + - OpenXR: Add support for reference space usage. 654 + ([!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048)) 655 + - OpenXR: Track which graphics API was used to create the session. 656 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049)) 657 + - OpenXR: Implement XR_KHR_vulkan_swapchain_format_list. 658 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049), 659 + [!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049), 660 + [!2059](https://gitlab.freedesktop.org/monado/monado/merge_requests/2059), 661 + [!2083](https://gitlab.freedesktop.org/monado/monado/merge_requests/2083)) 662 + - OpenXR: Complete implementation of extension XR_FB_display_refresh_rate. 663 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051), 664 + [!2054](https://gitlab.freedesktop.org/monado/monado/merge_requests/2054)) 665 + - OpenXR: Add support for the new `xrt_system` and `xrt_session` objects. 666 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 667 + - OpenXR: Fix unhandled enum in switch statements. 668 + ([!2069](https://gitlab.freedesktop.org/monado/monado/merge_requests/2069), 669 + [!2063](https://gitlab.freedesktop.org/monado/monado/merge_requests/2063)) 670 + - OpenXR: Transition headless session to FOCUSED on xrBeginSession as per the 671 + extension, this fixes actions not being active in headless sessions. 672 + ([!2072](https://gitlab.freedesktop.org/monado/monado/merge_requests/2072)) 673 + - OpenXR: Tidy code a little bit and improve debugging of bindings. 674 + ([!2072](https://gitlab.freedesktop.org/monado/monado/merge_requests/2072)) 675 + - OpenXR: Add guards around overlay event code and tidy event code. 676 + ([!2074](https://gitlab.freedesktop.org/monado/monado/merge_requests/2074)) 677 + - OpenXR: Add extension XR_FB_composition_layer_image_layout. 678 + ([!2075](https://gitlab.freedesktop.org/monado/monado/merge_requests/2075)) 679 + - OpenXR: Add `XR_KHR_composition_layer_color_scale_bias` support, disabled by 680 + default because Monado's main compositor doesn't support it. 681 + ([!2078](https://gitlab.freedesktop.org/monado/monado/merge_requests/2078), 682 + [!2082](https://gitlab.freedesktop.org/monado/monado/merge_requests/2082)) 683 + - OpenXR: Use correct define to test for extension support. 684 + ([!2082](https://gitlab.freedesktop.org/monado/monado/merge_requests/2082)) 685 + - OpenXR: Add `XR_FB_composition_layer_alpha_blend` support, disabled by 686 + default because Monado's main compositor doesn't support it. 687 + ([!2087](https://gitlab.freedesktop.org/monado/monado/merge_requests/2087)) 688 + - OpenXR: Add extension XR_FB_composition_layer_settings. 689 + ([!2088](https://gitlab.freedesktop.org/monado/monado/merge_requests/2088)) 690 + - OpenXR: Fix crashes on too many bindings to a single action. 691 + ([!2109](https://gitlab.freedesktop.org/monado/monado/merge_requests/2109)) 692 + - OpenXR: Increase internal limit of bindings per action. 693 + ([!2109](https://gitlab.freedesktop.org/monado/monado/merge_requests/2109)) 694 + - OpenXR: Switch to use new loader header. 695 + ([!2111](https://gitlab.freedesktop.org/monado/monado/merge_requests/2111)) 696 + - OpenXR: Implement extension 'XR_FB_passthrough'. 697 + ([!2124](https://gitlab.freedesktop.org/monado/monado/merge_requests/2124)) 698 + - OpenXR: Add extension XR_FB_composition_layer_depth_test. 699 + ([!2129](https://gitlab.freedesktop.org/monado/monado/merge_requests/2129)) 700 + - OpenXR: Fix binding init/updates not being reset for any-pose-subaction paths 701 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 702 + - OpenXR: Fix `xrGetCurrentInteractionPath` returning incorrect paths for a 703 + particular hand becoming unbound 704 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 705 + - OpenXR: Fix invalid timestamps for action cache updates. 706 + ([!2146](https://gitlab.freedesktop.org/monado/monado/merge_requests/2146)) 707 + - OpenXR: Get vendor id/name from server. 708 + ([!2151](https://gitlab.freedesktop.org/monado/monado/merge_requests/2151)) 709 + - OpenXR: Avoid calling `oxr_action_cache_stop_output` every time when 710 + `xrSyncActions` is called. 711 + ([!2171](https://gitlab.freedesktop.org/monado/monado/merge_requests/2171)) 712 + - OpenXR: Implement function 'xrGetReferenceSpaceBoundsRect'. 713 + ([!2180](https://gitlab.freedesktop.org/monado/monado/merge_requests/2180)) 714 + - OpenXR: Fix null-pointer crash bug in `xrGetVisibilityMaskKHR` with in-process 715 + builds and replicates the same behaviour as out-of-process builds of falling 716 + back to a default implementation. 717 + ([!2210](https://gitlab.freedesktop.org/monado/monado/merge_requests/2210), 718 + [#375](https://gitlab.freedesktop.org/monado/monado/issues/375)) 719 + - OpenXR: support `XrEventDataVisibilityMaskChangedKHR` for visibility mask 720 + ([!2217](https://gitlab.freedesktop.org/monado/monado/merge_requests/2217)) 721 + - OpenXR: Ignore primaryViewConfigurationType with XR_MND_headless 722 + ([!2225](https://gitlab.freedesktop.org/monado/monado/merge_requests/2225)) 723 + - gui: Add a GUI for recording videos from the Valve Index. 724 + ([!715](https://gitlab.freedesktop.org/monado/monado/merge_requests/715)) 725 + - gui: Show git description in `monado-gui` window title. 726 + ([!830](https://gitlab.freedesktop.org/monado/monado/merge_requests/830)) 727 + - gui: Add tracing support 728 + ([!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858)) 729 + - gui: Various fixes for video handling, null checking and wrong argument orders. 730 + ([!859](https://gitlab.freedesktop.org/monado/monado/merge_requests/859)) 731 + - gui: Add support to record from ELP 3D camera and select DepthAI camera 732 + to calibration. 733 + ([!859](https://gitlab.freedesktop.org/monado/monado/merge_requests/859)) 734 + - gui: Support RGBA/RGBx and unusual image strides in record window. 735 + ([!1120](https://gitlab.freedesktop.org/monado/monado/merge_requests/1120)) 736 + - gui: Add SW Ultrafast and SW Veryfast pipelines in record window. 737 + ([!1144](https://gitlab.freedesktop.org/monado/monado/merge_requests/1144)) 738 + - gui: Make it possible to enter address and port for remote. 739 + ([!1356](https://gitlab.freedesktop.org/monado/monado/merge_requests/1356)) 740 + - gui: Expose the new Index Controller UI for the remote driver. 741 + ([!1356](https://gitlab.freedesktop.org/monado/monado/merge_requests/1356)) 742 + - gui: Add some tracing in the prober code. 743 + ([!1814](https://gitlab.freedesktop.org/monado/monado/merge_requests/1814)) 744 + - gui: Tweaks for the sinks gui, opened by default and make possible to hide the 745 + header. 746 + ([!1827](https://gitlab.freedesktop.org/monado/monado/merge_requests/1827)) 747 + - gui: General tidy and refactoring code to make it prettier. 748 + ([!1902](https://gitlab.freedesktop.org/monado/monado/merge_requests/1902)) 749 + - gui: Add code to draw a image to the background of the main window. 750 + ([!1902](https://gitlab.freedesktop.org/monado/monado/merge_requests/1902)) 751 + - gui: Fix warning with passing arrays. 752 + ([!1928](https://gitlab.freedesktop.org/monado/monado/merge_requests/1928)) 753 + - gui: Rename OpenGL sink file, slightly improve thread safety and add note. 754 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 755 + - gui: Add infinitely fast trigger finger in remote UI. 756 + ([!2110](https://gitlab.freedesktop.org/monado/monado/merge_requests/2110)) 757 + - gui/calibration: Skip mode selection if there's only one mode. 758 + ([!1074](https://gitlab.freedesktop.org/monado/monado/merge_requests/1074)) 759 + - gui/calibration: Save/load parameters to file so that you don't have to change 760 + them every time. 761 + ([!1074](https://gitlab.freedesktop.org/monado/monado/merge_requests/1074)) 762 + - oxr: Enable RenderDoc compiling on Android 763 + ([!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005)) 764 + - oxr: Enable VK_EXT_debug_utils extension for client side on the platform that 765 + support it. Since it can not be reliably detected if the extension was enabled 766 + by the application on `XR_KHR_vulkan_enable` instead use the the environmental 767 + variable `OXR_DEBUG_FORCE_VK_DEBUG_UTILS` to force it on. 768 + ([!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005), 769 + [!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005), 770 + [!2044](https://gitlab.freedesktop.org/monado/monado/merge_requests/2044)) 771 + - oxr: RenderDoc support on Vulkan/OpenGL ES client sides and Android platform, 772 + make rdc can be captured by the button in UI 773 + ([!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005)) 774 + - prober: Minor fixes & tidy commits. Mostly around doc-comments and the string 775 + descriptor getter function. 776 + ([!686](https://gitlab.freedesktop.org/monado/monado/merge_requests/686)) 777 + - prober: Change the default logging level to info so that people can see what 778 + drivers are disabled. 779 + ([!735](https://gitlab.freedesktop.org/monado/monado/merge_requests/735)) 780 + - prober: Fix warnings found with GCC 13. 781 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 782 + - prober: Quit without crashing if no driver is available. 783 + ([!1996](https://gitlab.freedesktop.org/monado/monado/merge_requests/1996)) 784 + - st/gui: Refactor a few OpenGL drawing code into helper. 785 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 786 + - steamvr_drv: Add support for new dynamic device roles. 787 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 788 + - steamvr_drv: Add support for the new `xrt_system` and `xrt_session` objects. 789 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 790 + - steamvr_drv: Fill HMD properties for games and apps to recognize it correctly. 791 + ([!2102](https://gitlab.freedesktop.org/monado/monado/merge_requests/2102)) 792 + - Drivers 793 + - Sample driver: Implement missing APIs. 794 + ([!2067](https://gitlab.freedesktop.org/monado/monado/merge_requests/2067), 795 + [!2135](https://gitlab.freedesktop.org/monado/monado/merge_requests/2135)) 796 + - ULv5: Add new driver for UltraLeap v5 API for hand-tracking devices. 797 + ([!2064](https://gitlab.freedesktop.org/monado/monado/merge_requests/2064)) 798 + - adjust the pose for VIT system and assumes basalt 799 + ([!2058](https://gitlab.freedesktop.org/monado/monado/merge_requests/2058)) 800 + - all: Use `u_device_noop_update_inputs` helper for drivers with nothing in their 801 + update input function. 802 + ([!2039](https://gitlab.freedesktop.org/monado/monado/merge_requests/2039)) 803 + - all: Standardize use of `u_device_get_view_poses` helper. 804 + ([!2039](https://gitlab.freedesktop.org/monado/monado/merge_requests/2039)) 805 + - android_sensors: Fixed the issue of screen stuttering on some Android devices 806 + caused by failing to set the IMU event rate. 807 + ([!1912](https://gitlab.freedesktop.org/monado/monado/merge_requests/1912)) 808 + - android_sensors: Set both orientation and position valid flags in the Android 809 + driver's `get_tracked_pose` callback. hello_xr, Unity and possibly other apps 810 + check the view pose flags for both position & orientation flags to be valid 811 + otherwise they invoke `xrEndFrame` with no layers set causing a constant gray 812 + screen. 813 + ([!2219](https://gitlab.freedesktop.org/monado/monado/merge_requests/2219)) 814 + - d/remote: Add and use a multi-os `r_socket_t` typedef, with `R_SOCKET_FMT` to 815 + define the printf format to use for a socket descriptor 816 + ([!2165](https://gitlab.freedesktop.org/monado/monado/merge_requests/2165)) 817 + - d/vive: Use raw imu samples for SLAM 818 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131)) 819 + - d/wmr: Properly compute hand tracking boundary circle 820 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131), 821 + [!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131), 822 + [!2173](https://gitlab.freedesktop.org/monado/monado/merge_requests/2173)) 823 + - d/xreal_air,d/vive: Reduce relation history lock contention 824 + ([!1949](https://gitlab.freedesktop.org/monado/monado/merge_requests/1949)) 825 + - d/{wmr,rift_s,vive,ns}: Share hand bounding box with head tracker 826 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131), 827 + [!2143](https://gitlab.freedesktop.org/monado/monado/merge_requests/2143)) 828 + - depthai: Add a new frameserver driver that supports some of the DepthAI 829 + cameras. 830 + ([!836](https://gitlab.freedesktop.org/monado/monado/merge_requests/836), 831 + [!831](https://gitlab.freedesktop.org/monado/monado/merge_requests/831), 832 + [!837](https://gitlab.freedesktop.org/monado/monado/merge_requests/837), 833 + [!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858), 834 + [!934](https://gitlab.freedesktop.org/monado/monado/merge_requests/934), 835 + [!1027](https://gitlab.freedesktop.org/monado/monado/merge_requests/1027), 836 + [!1029](https://gitlab.freedesktop.org/monado/monado/merge_requests/1029), 837 + [!1063](https://gitlab.freedesktop.org/monado/monado/merge_requests/1063), 838 + [!1097](https://gitlab.freedesktop.org/monado/monado/merge_requests/1097), 839 + [!1153](https://gitlab.freedesktop.org/monado/monado/merge_requests/1153), 840 + [!1260](https://gitlab.freedesktop.org/monado/monado/merge_requests/1260), 841 + [!1278](https://gitlab.freedesktop.org/monado/monado/merge_requests/1278), 842 + [!1282](https://gitlab.freedesktop.org/monado/monado/merge_requests/1282), 843 + [!1360](https://gitlab.freedesktop.org/monado/monado/merge_requests/1360), 844 + [!1494](https://gitlab.freedesktop.org/monado/monado/merge_requests/1494), 845 + [!1519](https://gitlab.freedesktop.org/monado/monado/merge_requests/1519), 846 + [!1523](https://gitlab.freedesktop.org/monado/monado/merge_requests/1523), 847 + [!1603](https://gitlab.freedesktop.org/monado/monado/merge_requests/1603), 848 + [!1649](https://gitlab.freedesktop.org/monado/monado/merge_requests/1649), 849 + [!1692](https://gitlab.freedesktop.org/monado/monado/merge_requests/1692), 850 + [!1769](https://gitlab.freedesktop.org/monado/monado/merge_requests/1769), 851 + [!1770](https://gitlab.freedesktop.org/monado/monado/merge_requests/1770), 852 + [!1832](https://gitlab.freedesktop.org/monado/monado/merge_requests/1832), 853 + [!1839](https://gitlab.freedesktop.org/monado/monado/merge_requests/1839), 854 + [!1881](https://gitlab.freedesktop.org/monado/monado/merge_requests/1881), 855 + [!2228](https://gitlab.freedesktop.org/monado/monado/merge_requests/2228)) 856 + - euroc: Add euroc driver that plays EuRoC datasets for SLAM system evaluation. 857 + ([!880](https://gitlab.freedesktop.org/monado/monado/merge_requests/880)) 858 + - ht: Error out if we can't find a hand-tracking model directory. 859 + ([!1831](https://gitlab.freedesktop.org/monado/monado/merge_requests/1831)) 860 + - multi: Enable specifying arbitrary xrt_input_name for querying tracker poses. 861 + ([!741](https://gitlab.freedesktop.org/monado/monado/merge_requests/741)) 862 + - north_star: Upstream Moshi Turner's "VIPD" distortion. 863 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 864 + - north_star: Fix the FOV calc on the v1/3D distortion. 865 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 866 + - north_star: General improvement of code organization. 867 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 868 + - north_star: Improved JSON parsing. 869 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 870 + - ohmd: Support OpenHMD controllers and specifically the Oculus Touch controller. 871 + ([!742](https://gitlab.freedesktop.org/monado/monado/merge_requests/742)) 872 + - ohmd: Fix warnings and tidy. 873 + ([!2038](https://gitlab.freedesktop.org/monado/monado/merge_requests/2038)) 874 + - ohmd: Disable WMR and Rift S drivers with a warning to use the native 875 + drivers. 876 + ([!2221](https://gitlab.freedesktop.org/monado/monado/merge_requests/2221)) 877 + - opengloves: Refactor creation. 878 + ([!1987](https://gitlab.freedesktop.org/monado/monado/merge_requests/1987)) 879 + - pssense: Add trigger force feedback. 880 + ([!1916](https://gitlab.freedesktop.org/monado/monado/merge_requests/1916)) 881 + - psvr: Ensure that timestamps are always monotonic, stopping any time-traveling 882 + sample packets. 883 + ([!717](https://gitlab.freedesktop.org/monado/monado/merge_requests/717)) 884 + - qwerty: Add qwerty driver for emulating headset and controllers with mouse and 885 + keyboard. 886 + ([!714](https://gitlab.freedesktop.org/monado/monado/merge_requests/714), 887 + [!1789](https://gitlab.freedesktop.org/monado/monado/merge_requests/1789), 888 + [!1926](https://gitlab.freedesktop.org/monado/monado/merge_requests/1926)) 889 + - qwerty: Fix input timestamps for select and menu. 890 + ([!2080](https://gitlab.freedesktop.org/monado/monado/merge_requests/2080)) 891 + - realsense: Expand driver to support non-T26x cameras and external SLAM 892 + tracking. 893 + ([!907](https://gitlab.freedesktop.org/monado/monado/merge_requests/907)) 894 + - remote: Greatly improve the remote driver. Properly shut down the main loop. 895 + Use the new `xrt_system_devices` as base class for `r_hub`. Expose the Valve 896 + Index Controller instead of the simple controller as it better allows to map 897 + other controllers to it. Reuse the vive bindings helper library. 898 + ([!1356](https://gitlab.freedesktop.org/monado/monado/merge_requests/1356)) 899 + - remote: Fix warnings found with GCC 13. 900 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 901 + - remote: Add support for new dynamic device roles. 902 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 903 + - remote: Add support for local_floor space. 904 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018)) 905 + - remote: Fix socket closing on Windows by using socket_close. 906 + ([!2060](https://gitlab.freedesktop.org/monado/monado/merge_requests/2060), 907 + [!2061](https://gitlab.freedesktop.org/monado/monado/merge_requests/2061)) 908 + - rift_s: Add Rift-S driver, this works with Monado's hand and SLAM tracking. 909 + ([!1447](https://gitlab.freedesktop.org/monado/monado/merge_requests/1447), 910 + [!1580](https://gitlab.freedesktop.org/monado/monado/merge_requests/1580), 911 + [!1665](https://gitlab.freedesktop.org/monado/monado/merge_requests/1665), 912 + [!1691](https://gitlab.freedesktop.org/monado/monado/merge_requests/1691), 913 + [!1823](https://gitlab.freedesktop.org/monado/monado/merge_requests/1823)) 914 + - rs: Fix warnings with function declarations. 915 + ([!1989](https://gitlab.freedesktop.org/monado/monado/merge_requests/1989)) 916 + - simulated: Support reference space usage via debug printing. 917 + ([!2091](https://gitlab.freedesktop.org/monado/monado/merge_requests/2091)) 918 + - steamvr_lh: Add driver that wraps the SteamVR Lighthouse driver. 919 + ([!1861](https://gitlab.freedesktop.org/monado/monado/merge_requests/1861), 920 + [!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927), 921 + [!1943](https://gitlab.freedesktop.org/monado/monado/merge_requests/1943), 922 + [!1947](https://gitlab.freedesktop.org/monado/monado/merge_requests/1947), 923 + [!1950](https://gitlab.freedesktop.org/monado/monado/merge_requests/1950), 924 + [!2077](https://gitlab.freedesktop.org/monado/monado/merge_requests/2077), 925 + [!2090](https://gitlab.freedesktop.org/monado/monado/merge_requests/2090)) 926 + - steamvr_lh: Add Vive Pro support. 927 + ([!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927)) 928 + - steamvr_lh: Add Index support, also support canting of views. 929 + ([!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927)) 930 + - steamvr_lh: Add Valve Knuckles support, also support hand tracking. 931 + ([!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927)) 932 + - steamvr_lh: Basic vive tracker support. 933 + ([!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927), 934 + [!1927](https://gitlab.freedesktop.org/monado/monado/merge_requests/1927), 935 + [!1943](https://gitlab.freedesktop.org/monado/monado/merge_requests/1943)) 936 + - steamvr_lh: Fix warnings with logger defines. 937 + ([!1929](https://gitlab.freedesktop.org/monado/monado/merge_requests/1929)) 938 + - steamvr_lh: Set driver IPD & brightness on HMD. 939 + ([!1929](https://gitlab.freedesktop.org/monado/monado/merge_requests/1929), 940 + [!1929](https://gitlab.freedesktop.org/monado/monado/merge_requests/1929), 941 + [!1943](https://gitlab.freedesktop.org/monado/monado/merge_requests/1943)) 942 + - steamvr_lh: Fix prediction and jitter and remove old `LH_PREDICTION` env var. 943 + ([!1943](https://gitlab.freedesktop.org/monado/monado/merge_requests/1943)) 944 + - steamvr_lh: Use proper timestamp on hands and fix angular/linear velocity 945 + handling. 946 + ([!1947](https://gitlab.freedesktop.org/monado/monado/merge_requests/1947)) 947 + - steamvr_lh: Add a mutex to update_inputs() to prevent unsafe condition in 948 + lighthouse driver. 949 + ([!1968](https://gitlab.freedesktop.org/monado/monado/merge_requests/1968)) 950 + - steamvr_lh: Add tundra as a generic tracker 951 + ([!1979](https://gitlab.freedesktop.org/monado/monado/merge_requests/1979)) 952 + - steamvr_lh: Silence some useless logging and properly wait for vive wands to 953 + settle 954 + ([!1986](https://gitlab.freedesktop.org/monado/monado/merge_requests/1986)) 955 + - steamvr_lh: Simplify coordinate space conversion. 956 + ([!2090](https://gitlab.freedesktop.org/monado/monado/merge_requests/2090)) 957 + - steamvr_lh: Make playspace reading more robust by choosing the first tracking 958 + universe from `lighthousedb.json` that is found in `chaperone_info.vrchap`. 959 + ([!2114](https://gitlab.freedesktop.org/monado/monado/merge_requests/2114)) 960 + - steamvr_lh: Add additional bindings for vive and index controllers. 961 + ([!2115](https://gitlab.freedesktop.org/monado/monado/merge_requests/2115)) 962 + - steamvr_lh: Introduce new driver interface 963 + ([!2136](https://gitlab.freedesktop.org/monado/monado/merge_requests/2136), 964 + [!2213](https://gitlab.freedesktop.org/monado/monado/merge_requests/2213)) 965 + - steamvr_lh: Adjust location flags behavior for better lighthouse tracking on 966 + occlusion 967 + ([!2212](https://gitlab.freedesktop.org/monado/monado/merge_requests/2212)) 968 + - survive: Add support for Gen 3.0 and Tundra trackers. 969 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860)) 970 + - survive: Add support for HTC Vive Pro 2 971 + ([!1911](https://gitlab.freedesktop.org/monado/monado/merge_requests/1911)) 972 + - survive: Fall back to default ipd if survive reports 0.0 973 + ([!2128](https://gitlab.freedesktop.org/monado/monado/merge_requests/2128)) 974 + - survive/vive: Use new common controller bindings in `a/vive`. 975 + ([!1265](https://gitlab.freedesktop.org/monado/monado/merge_requests/1265)) 976 + - ulv5: Add orientation values to hand joints. 977 + ([!2118](https://gitlab.freedesktop.org/monado/monado/merge_requests/2118)) 978 + - v4l2: Add tracing support. 979 + ([!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858)) 980 + - vf: Show the time on the video test source video server. 981 + ([!715](https://gitlab.freedesktop.org/monado/monado/merge_requests/715)) 982 + - vf: Some tidy, frame fixes and tracing support. 983 + ([!860](https://gitlab.freedesktop.org/monado/monado/merge_requests/860)) 984 + - vive: Factor out json config parser and reuse it in survive driver. 985 + ([!674](https://gitlab.freedesktop.org/monado/monado/merge_requests/674)) 986 + - vive: Add rotation pose prediction to HMD and Controllers 987 + ([!691](https://gitlab.freedesktop.org/monado/monado/merge_requests/691)) 988 + - vive: Setup the variable tracking for imu fusion. 989 + ([!740](https://gitlab.freedesktop.org/monado/monado/merge_requests/740)) 990 + - vive: Tidy code by improving comments, removing old print, and use defines for 991 + hardcoded values. 992 + ([!793](https://gitlab.freedesktop.org/monado/monado/merge_requests/793)) 993 + - vive: Minor refactor to IMU conversion code, should be no functional change. 994 + ([!793](https://gitlab.freedesktop.org/monado/monado/merge_requests/793)) 995 + - vive: Drian IMU packets at start, this helps reduce time drift due backed up 996 + packets confusing the timing code. 997 + ([!1829](https://gitlab.freedesktop.org/monado/monado/merge_requests/1829)) 998 + - vive: Refactor timing code in source, make it take in account of the age of 999 + samples, this reduces the time drift due to irregular delivery of packets. 1000 + ([!1829](https://gitlab.freedesktop.org/monado/monado/merge_requests/1829)) 1001 + - vive: Add support for Gen 3.0 and Tundra trackers. 1002 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860), 1003 + [!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860), 1004 + [!1863](https://gitlab.freedesktop.org/monado/monado/merge_requests/1863)) 1005 + - vive: Try to set realtime priority on sensors thread 1006 + ([!1881](https://gitlab.freedesktop.org/monado/monado/merge_requests/1881)) 1007 + - vive: Set the correct tracking origin type when we have SLAM. 1008 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1009 + - vive: Add support for HTC Vive Pro 2 1010 + ([!1911](https://gitlab.freedesktop.org/monado/monado/merge_requests/1911)) 1011 + - vive: Follow common naming of update_inputs. 1012 + ([!2038](https://gitlab.freedesktop.org/monado/monado/merge_requests/2038)) 1013 + - wmr: Add Windows Mixed Reality driver, supports 6dof through Basalt. 1014 + ([!774](https://gitlab.freedesktop.org/monado/monado/merge_requests/774), 1015 + [!803](https://gitlab.freedesktop.org/monado/monado/merge_requests/803), 1016 + [!1796](https://gitlab.freedesktop.org/monado/monado/merge_requests/1796), 1017 + [!1797](https://gitlab.freedesktop.org/monado/monado/merge_requests/1797)) 1018 + - wmr: Add SLAM (6dof inside-out) tracking for WMR headsets. 1019 + ([!1035](https://gitlab.freedesktop.org/monado/monado/merge_requests/1035)) 1020 + - wmr: Add initial hand tracking for WMR devices. 1021 + ([!1264](https://gitlab.freedesktop.org/monado/monado/merge_requests/1264)) 1022 + - wmr: Add auto exposure and gain module. 1023 + ([!1291](https://gitlab.freedesktop.org/monado/monado/merge_requests/1291)) 1024 + - wmr: Send calibration automatically to SLAM tracker. This makes WMR SLAM 1025 + tracking work out of the box without user intervention with Basalt. 1026 + ([!1334](https://gitlab.freedesktop.org/monado/monado/merge_requests/1334)) 1027 + - wmr: Move driver over to builder interface. Currently only a simpler builder, 1028 + the SLAM and Hand-Tracking setup hasn't been moved out yet. 1029 + ([!1754](https://gitlab.freedesktop.org/monado/monado/merge_requests/1754)) 1030 + - wmr: Improve WMR controller orientation when in 3DoF by using the information 1031 + that is available in the JSON config that is stored on the controllers. 1032 + ([!1858](https://gitlab.freedesktop.org/monado/monado/merge_requests/1858)) 1033 + - wmr: Reduce drifting by applying calibration biases to controllers, doesn't 1034 + fully eliminate as calibration is lacking for all temperature ranges. 1035 + ([!1876](https://gitlab.freedesktop.org/monado/monado/merge_requests/1876)) 1036 + - wmr: Try to set realtime priority on USB thread 1037 + ([!1881](https://gitlab.freedesktop.org/monado/monado/merge_requests/1881)) 1038 + - wmr: Add `WMR_LEFT_DISPLAY_VIEW_Y_OFFSET` and `WMR_RIGHT_DISPLAY_VIEW_Y_OFFSET` 1039 + environmental variables to adjust screen distortion. 1040 + ([!1988](https://gitlab.freedesktop.org/monado/monado/merge_requests/1988)) 1041 + - wmr: Add Dell Visor support to WMR driver. 1042 + ([!2023](https://gitlab.freedesktop.org/monado/monado/merge_requests/2023)) 1043 + - wmr: Follow common naming of update_inputs. 1044 + ([!2038](https://gitlab.freedesktop.org/monado/monado/merge_requests/2038)) 1045 + - wmr: Add support for Acer AH101 HMD 1046 + ([!2222](https://gitlab.freedesktop.org/monado/monado/merge_requests/2222)) 1047 + - IPC 1048 + - Add support for thread hint function. 1049 + ([!1951](https://gitlab.freedesktop.org/monado/monado/merge_requests/1951)) 1050 + - Android: Do not require OPENXR permission when connecting to MonadoService. 1051 + Permission will not be granted if install application before permission 1052 + container. 1053 + ([!1213](https://gitlab.freedesktop.org/monado/monado/merge_requests/1213)) 1054 + - all: Use `libbsd` pidfile to detect running Monado instances. Enables 1055 + automatically deleting stale socket files. The socket file is now placed in 1056 + `$XDG_RUNTIME_DIR/monado_comp_ipc` by default or falls back to 1057 + `/tmp/monado_comp_ipc` again if `$XDG_RUNTIME_DIR` is not set. 1058 + ([!565](https://gitlab.freedesktop.org/monado/monado/merge_requests/565)) 1059 + - all: Transfer HMD blend mode, don't drop it on the floor. 1060 + ([!694](https://gitlab.freedesktop.org/monado/monado/merge_requests/694)) 1061 + - all: Now that there is a interface that allows the compositor to support 1062 + multi-client rendering use that instead of doing our own rendering. 1063 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721), 1064 + [!754](https://gitlab.freedesktop.org/monado/monado/merge_requests/754), 1065 + [!768](https://gitlab.freedesktop.org/monado/monado/merge_requests/768), 1066 + [!800](https://gitlab.freedesktop.org/monado/monado/merge_requests/800), 1067 + [!846](https://gitlab.freedesktop.org/monado/monado/merge_requests/846)) 1068 + - all: Ensure that functions that require the compositor can't be called if a 1069 + session has not been created yet. 1070 + ([!768](https://gitlab.freedesktop.org/monado/monado/merge_requests/768)) 1071 + - all: Add Windows support to the IPC layer, this is based on named pipes. 1072 + ([!1525](https://gitlab.freedesktop.org/monado/monado/merge_requests/1525), 1073 + [!1531](https://gitlab.freedesktop.org/monado/monado/merge_requests/1531), 1074 + [!1584](https://gitlab.freedesktop.org/monado/monado/merge_requests/1584), 1075 + [!1807](https://gitlab.freedesktop.org/monado/monado/merge_requests/1807)) 1076 + - all: Add support for `XR_EXT_hand_interaction` profile - plumbs extension 1077 + enabled state to ipc server/drivers. 1078 + ([!1901](https://gitlab.freedesktop.org/monado/monado/merge_requests/1901)) 1079 + - all: Rename client connected function and document code. 1080 + ([!1909](https://gitlab.freedesktop.org/monado/monado/merge_requests/1909)) 1081 + - all: Send less information when describing the client. 1082 + ([!1909](https://gitlab.freedesktop.org/monado/monado/merge_requests/1909)) 1083 + - all: Add a stable ID for clients. 1084 + ([!1909](https://gitlab.freedesktop.org/monado/monado/merge_requests/1909)) 1085 + - all: Implement performance settings interface, used to implement 1086 + `XR_EXT_performance_settings`. 1087 + ([!1936](https://gitlab.freedesktop.org/monado/monado/merge_requests/1936)) 1088 + - all: Add support for dynamic device roles. 1089 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 1090 + [!2013](https://gitlab.freedesktop.org/monado/monado/merge_requests/2013)) 1091 + - all: Add ability to do more complex IPC communication by introducing VLA 1092 + functions. These lets us do the marshalling to some extent oursevles, useful 1093 + for sending a non-fixed amount of data. This support is bi-directional. 1094 + ([!2009](https://gitlab.freedesktop.org/monado/monado/merge_requests/2009), 1095 + [!2009](https://gitlab.freedesktop.org/monado/monado/merge_requests/2009), 1096 + [!2053](https://gitlab.freedesktop.org/monado/monado/merge_requests/2053)) 1097 + - all: Add variable length get views function. 1098 + ([!2009](https://gitlab.freedesktop.org/monado/monado/merge_requests/2009)) 1099 + - all: Add support for getting the device visibility mask. 1100 + ([!2016](https://gitlab.freedesktop.org/monado/monado/merge_requests/2016), 1101 + [!2032](https://gitlab.freedesktop.org/monado/monado/merge_requests/2032)) 1102 + - all: Share per client thread shutdown code between platforms. 1103 + ([!2046](https://gitlab.freedesktop.org/monado/monado/merge_requests/2046)) 1104 + - all: Add support for reference space usage. 1105 + ([!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048)) 1106 + - all: Implement display refresh rate functions. 1107 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051), 1108 + [!2054](https://gitlab.freedesktop.org/monado/monado/merge_requests/2054)) 1109 + - all: Add support for recentering local spaces. 1110 + ([!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055)) 1111 + - all: Add support for the new `xrt_system` and `xrt_session` objects. 1112 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062), 1113 + [!2079](https://gitlab.freedesktop.org/monado/monado/merge_requests/2079), 1114 + [!2095](https://gitlab.freedesktop.org/monado/monado/merge_requests/2095)) 1115 + - all: Add interface for XR_FB_passthrough in Ipc communication. 1116 + ([!2124](https://gitlab.freedesktop.org/monado/monado/merge_requests/2124)) 1117 + - all: Forwards the results of server swapchain image waits to 1118 + xrWaitSwapchainImage client calls 1119 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 1120 + - all: Add support for get bounds rect function, used to implement 1121 + `xrGetReferenceSpaceBoundsRect`. 1122 + ([!2180](https://gitlab.freedesktop.org/monado/monado/merge_requests/2180)) 1123 + - android: Dup the fd from JVM and maintain it in native. 1124 + ([!1924](https://gitlab.freedesktop.org/monado/monado/merge_requests/1924)) 1125 + - client: Refactor out the connection connect code into a its own file, this lets 1126 + it be reused by other things that might want to connect like monado-ctl and 1127 + libmonado. 1128 + ([!1875](https://gitlab.freedesktop.org/monado/monado/merge_requests/1875)) 1129 + - client: Destroy the shared memory area when shutting down. 1130 + ([!1906](https://gitlab.freedesktop.org/monado/monado/merge_requests/1906)) 1131 + - client: Add a interface header for `ipc_instance_create`. 1132 + ([!1917](https://gitlab.freedesktop.org/monado/monado/merge_requests/1917)) 1133 + - client: Generate limited unique ids for native swapchains. 1134 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 1135 + - client: Refactor connection init code. 1136 + ([!2011](https://gitlab.freedesktop.org/monado/monado/merge_requests/2011)) 1137 + - client: Check git tag as early as possible when connecting. 1138 + ([!2011](https://gitlab.freedesktop.org/monado/monado/merge_requests/2011)) 1139 + - client: Use `log_level` from the message channel. 1140 + ([!2022](https://gitlab.freedesktop.org/monado/monado/merge_requests/2022)) 1141 + - client: Add and use return check helpers, this makes it easier to see where the 1142 + error happened. 1143 + ([!2025](https://gitlab.freedesktop.org/monado/monado/merge_requests/2025), 1144 + [!2025](https://gitlab.freedesktop.org/monado/monado/merge_requests/2025), 1145 + [!2028](https://gitlab.freedesktop.org/monado/monado/merge_requests/2028)) 1146 + - client,server: Setting timer resolution (timeBeginPeriod) improves performance 1147 + with NVIDIA drivers 1148 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 1149 + - server: Factor out the IPC server mainloop into a per-platform structure. 1150 + ([!685](https://gitlab.freedesktop.org/monado/monado/merge_requests/685)) 1151 + - server: Destroy the shared memory area when shutting down. 1152 + ([!1906](https://gitlab.freedesktop.org/monado/monado/merge_requests/1906)) 1153 + - server: Add a interface header for `ipc_server_main[_android]`. 1154 + ([!1917](https://gitlab.freedesktop.org/monado/monado/merge_requests/1917)) 1155 + - server: Fix session deactivation negative array index access. 1156 + ([!1991](https://gitlab.freedesktop.org/monado/monado/merge_requests/1991)) 1157 + - server: Use macro TEMP_FAILURE_RETRY to avoid closing a client connection on 1158 + `-ENTR`. 1159 + ([!2007](https://gitlab.freedesktop.org/monado/monado/merge_requests/2007), 1160 + [!2012](https://gitlab.freedesktop.org/monado/monado/merge_requests/2012)) 1161 + - server: Read the exact command size in the client loop on Linux. 1162 + ([!2053](https://gitlab.freedesktop.org/monado/monado/merge_requests/2053)) 1163 + - server: Make the server a little bit more chatty by default (switch the default 1164 + logging level `info` from `warn`). Print out a message that the service has 1165 + started, and advise how to collect information to help in debugging to ease 1166 + helping end-users. 1167 + ([!2094](https://gitlab.freedesktop.org/monado/monado/merge_requests/2094)) 1168 + - server: Don't call teardown if mutex fails to be created. 1169 + ([!2095](https://gitlab.freedesktop.org/monado/monado/merge_requests/2095)) 1170 + - server: Pass in log_level to init function. 1171 + ([!2095](https://gitlab.freedesktop.org/monado/monado/merge_requests/2095)) 1172 + - server: Use correct log define error message. 1173 + ([!2095](https://gitlab.freedesktop.org/monado/monado/merge_requests/2095)) 1174 + - server: Print more client info. 1175 + ([!2095](https://gitlab.freedesktop.org/monado/monado/merge_requests/2095)) 1176 + - server: Re-order functions [NFC] 1177 + ([!2096](https://gitlab.freedesktop.org/monado/monado/merge_requests/2096)) 1178 + - server: Add "XRT_NO_STDIN" option disables stdin and prevents monado-service 1179 + from terminating. 1180 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 1181 + - shared: Change IPC script to automatically mark all input aggregates as const. 1182 + ([!1408](https://gitlab.freedesktop.org/monado/monado/merge_requests/1408)) 1183 + - shared: Add function to unmap the shared memory area when destroying. 1184 + ([!1906](https://gitlab.freedesktop.org/monado/monado/merge_requests/1906)) 1185 + - shared: Minor tidy of various shared files. 1186 + ([!2022](https://gitlab.freedesktop.org/monado/monado/merge_requests/2022)) 1187 + - shared: Break out message channel functions to own files. 1188 + ([!2022](https://gitlab.freedesktop.org/monado/monado/merge_requests/2022)) 1189 + - shared: Add `ipc_print_result` helper. 1190 + ([!2025](https://gitlab.freedesktop.org/monado/monado/merge_requests/2025)) 1191 + - shared: Minor fixes and tidy ipc_generated_protocol.h file. 1192 + ([!2030](https://gitlab.freedesktop.org/monado/monado/merge_requests/2030)) 1193 + - shared: Add ipc_command_size function to the protocol generation. 1194 + ([!2053](https://gitlab.freedesktop.org/monado/monado/merge_requests/2053)) 1195 + - Compositor 1196 + - Android: Refactor surface creation flow. 1197 + ([!1742](https://gitlab.freedesktop.org/monado/monado/merge_requests/1742)) 1198 + - all: Rename all `num_` parameters and fields, typically to `_count`, to match 1199 + OpenXR convention. 1200 + ([!977](https://gitlab.freedesktop.org/monado/monado/merge_requests/977)) 1201 + - android: Default to compute compositor to work around issue 1202 + [381](https://gitlab.freedesktop.org/monado/monado/-/issues/381). 1203 + ([!2236](https://gitlab.freedesktop.org/monado/monado/merge_requests/2236)) 1204 + - client: Handle EGL_NO_CONTEXT_KHR gracefully if the EGLDisplay supports 1205 + EGL_KHR_no_config_context. 1206 + ([!705](https://gitlab.freedesktop.org/monado/monado/merge_requests/705)) 1207 + - client: Use the EGL compositor's display in swapchain, previously it tried to 1208 + use the current one, which when running on a new thread would explode. 1209 + ([!827](https://gitlab.freedesktop.org/monado/monado/merge_requests/827)) 1210 + - client: Initial support for D3D11 client applications on Windows. 1211 + ([!943](https://gitlab.freedesktop.org/monado/monado/merge_requests/943), 1212 + [!1263](https://gitlab.freedesktop.org/monado/monado/merge_requests/1263), 1213 + [!1295](https://gitlab.freedesktop.org/monado/monado/merge_requests/1295), 1214 + [!1326](https://gitlab.freedesktop.org/monado/monado/merge_requests/1326), 1215 + [!1302](https://gitlab.freedesktop.org/monado/monado/merge_requests/1302), 1216 + [!1337](https://gitlab.freedesktop.org/monado/monado/merge_requests/1337), 1217 + [!1340](https://gitlab.freedesktop.org/monado/monado/merge_requests/1340)) 1218 + - client: Wait on Vulkan clients to complete rendering. 1219 + ([!1117](https://gitlab.freedesktop.org/monado/monado/merge_requests/1117)) 1220 + - client: Set default log level on vk_bundle in Vulkan compositor. 1221 + ([!1142](https://gitlab.freedesktop.org/monado/monado/merge_requests/1142)) 1222 + - client: Fence the client work and send fence to the native compositor. 1223 + ([!1142](https://gitlab.freedesktop.org/monado/monado/merge_requests/1142)) 1224 + - client: Initial support for D3D12 client applications on Windows. 1225 + ([!1340](https://gitlab.freedesktop.org/monado/monado/merge_requests/1340)) 1226 + - client: Support for OpenGL client applications on Windows. 1227 + ([!1465](https://gitlab.freedesktop.org/monado/monado/merge_requests/1465)) 1228 + - client: Reduce the minimum required OpenGL version for client applications to 1229 + 3.0. 1230 + ([!1465](https://gitlab.freedesktop.org/monado/monado/merge_requests/1465), 1231 + [#47](https://gitlab.freedesktop.org/monado/monado/issues/47)) 1232 + - client: Do not use the global command buffer pool in the Vulkan compositor. 1233 + ([!1748](https://gitlab.freedesktop.org/monado/monado/merge_requests/1748)) 1234 + - client: Silence VK_FORMAT_R32_SFLOAT warning in OpenGL code. 1235 + ([!1750](https://gitlab.freedesktop.org/monado/monado/merge_requests/1750)) 1236 + - client: Don't use vkDeviceWaitIdle, because it requires all queues to be 1237 + externally synchronized which we can't enforce. 1238 + ([!1751](https://gitlab.freedesktop.org/monado/monado/merge_requests/1751)) 1239 + - client: Use correct format in get_swapchain_create_properties functions, client 1240 + compositors are given their formats, make then translate to Vulkan before 1241 + passing on. 1242 + ([!1763](https://gitlab.freedesktop.org/monado/monado/merge_requests/1763)) 1243 + - client: Respect native compositor's extra usage bits, so we can remove the 1244 + hardcoded always sampled bit. This also ensures that images have exactly the 1245 + same usages in both the compositor and app. 1246 + ([!1763](https://gitlab.freedesktop.org/monado/monado/merge_requests/1763)) 1247 + - client: Wait till D3D12 images aren't in use before releasing the swapchain. 1248 + ([!1868](https://gitlab.freedesktop.org/monado/monado/merge_requests/1868)) 1249 + - client: Use D3D12 allocator, and work around NVIDIA bug. 1250 + ([!1920](https://gitlab.freedesktop.org/monado/monado/merge_requests/1920)) 1251 + - client: Make sure to not double CloseHandle semaphore HANDLE. 1252 + ([!1935](https://gitlab.freedesktop.org/monado/monado/merge_requests/1935)) 1253 + - client: Expose size limit for swapchains. 1254 + ([!1964](https://gitlab.freedesktop.org/monado/monado/merge_requests/1964), 1255 + [!2066](https://gitlab.freedesktop.org/monado/monado/merge_requests/2066)) 1256 + - client: Add and use helpers to unwrap native swapchains and compositors. 1257 + ([!1982](https://gitlab.freedesktop.org/monado/monado/merge_requests/1982)) 1258 + - client: Make it possible to set log level in Vulkan compositor. 1259 + ([!1993](https://gitlab.freedesktop.org/monado/monado/merge_requests/1993)) 1260 + - client: Add renderdoc_enabled implementation for Vulkan/OpenGL only on Android 1261 + platform 1262 + ([!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005)) 1263 + - client: Remove event functions. 1264 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 1265 + - client: Replace `glTextureStorageMem2DEXT` with `glTexStorageMem2DEXT` to adapt 1266 + to more vendors' GPU drivers. 1267 + ([!2117](https://gitlab.freedesktop.org/monado/monado/merge_requests/2117)) 1268 + - client: Add interface for XR_FB_passthrough in client side. 1269 + ([!2124](https://gitlab.freedesktop.org/monado/monado/merge_requests/2124)) 1270 + - client: Run D3D12 swapchain initial barriers after all possible points of 1271 + failure. 1272 + ([!2161](https://gitlab.freedesktop.org/monado/monado/merge_requests/2161)) 1273 + - client/util: Fix several flags being set wrong on barriers and creation of the 1274 + swapchain images. We were especially wrong with the depth stencil formats. 1275 + ([!1119](https://gitlab.freedesktop.org/monado/monado/merge_requests/1119), 1276 + [!1124](https://gitlab.freedesktop.org/monado/monado/merge_requests/1124), 1277 + [!1125](https://gitlab.freedesktop.org/monado/monado/merge_requests/1125), 1278 + [!1128](https://gitlab.freedesktop.org/monado/monado/merge_requests/1128)) 1279 + - comp: Fix layer submission on NVIDIA Tegra. 1280 + ([!677](https://gitlab.freedesktop.org/monado/monado/merge_requests/677)) 1281 + - main: Integrate new frame timing code. 1282 + ([!697](https://gitlab.freedesktop.org/monado/monado/merge_requests/697)) 1283 + - main: Make it possible to create the swapchain later when actually needed, 1284 + and have the swapchain be in a non-ready state that stops drawing. 1285 + ([!767](https://gitlab.freedesktop.org/monado/monado/merge_requests/767), 1286 + [#120](https://gitlab.freedesktop.org/monado/monado/issues/120), 1287 + [!787](https://gitlab.freedesktop.org/monado/monado/merge_requests/787)) 1288 + - main: Do not list VK_FORMAT_A2B10G10R10_UNORM_PACK32 as a supported format, 1289 + it's not enough to show linear colours without banding but isn't used that 1290 + often so do not list it. 1291 + ([!833](https://gitlab.freedesktop.org/monado/monado/merge_requests/833)) 1292 + - main: Also resize on VK_SUBOPTIMAL_KHR. 1293 + ([!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841)) 1294 + - main: Increase the usage of the `get_vk` helper function. 1295 + ([!967](https://gitlab.freedesktop.org/monado/monado/merge_requests/967)) 1296 + - main: Use the new helpers to reduce code in main library. 1297 + ([!967](https://gitlab.freedesktop.org/monado/monado/merge_requests/967)) 1298 + - main: Add support for mirroring the left view back to the debug gui, so we can 1299 + record it or see what somebody's doing in VR. 1300 + ([!1120](https://gitlab.freedesktop.org/monado/monado/merge_requests/1120), 1301 + [!1135](https://gitlab.freedesktop.org/monado/monado/merge_requests/1135), 1302 + [!1144](https://gitlab.freedesktop.org/monado/monado/merge_requests/1144)) 1303 + - main: Use at least 3 Vulkan images for comp_target_swapchain if supported. 1304 + ([!1268](https://gitlab.freedesktop.org/monado/monado/merge_requests/1268)) 1305 + - main: Setting logging level when checking vulkan caps. 1306 + ([!1268](https://gitlab.freedesktop.org/monado/monado/merge_requests/1268)) 1307 + - main: Refactor comp_target_swapchain to not pre-declare internal functions, we 1308 + seem to be moving away from this style in the compositor so refactor the 1309 + `comp_target_swapchain` file before adding the vblank thread in there. 1310 + ([!1269](https://gitlab.freedesktop.org/monado/monado/merge_requests/1269)) 1311 + - main: Make `VK_KHR_external_[fence|semaphore]_fd` optional, this is helpful for 1312 + CI where only lavapipe can be used which does not support those extensions. 1313 + ([!1270](https://gitlab.freedesktop.org/monado/monado/merge_requests/1270)) 1314 + - main: Add thread waiting for vblank events, lets the fake pacer properly 1315 + synchronise with hardware. 1316 + ([!1271](https://gitlab.freedesktop.org/monado/monado/merge_requests/1271)) 1317 + - main: Init comp_base as early as possible, because it needs to be finalised 1318 + last in destroy. It's basically a base class and should follow those semantics. 1319 + ([!1316](https://gitlab.freedesktop.org/monado/monado/merge_requests/1316)) 1320 + - main: Propagate more errors from the renderer frame drawing and helper mirror 1321 + functions. 1322 + ([!1417](https://gitlab.freedesktop.org/monado/monado/merge_requests/1417)) 1323 + - main: Render cube layer 1324 + ([!1421](https://gitlab.freedesktop.org/monado/monado/merge_requests/1421)) 1325 + - main: Introduce `comp_target_factory`. This struct allows us to remove long and 1326 + cumbersome switch statements for each type. Instead the code is generic and 1327 + tweaks for specific target types can be reused for others more easily with this 1328 + data driven design of the code. 1329 + ([!1570](https://gitlab.freedesktop.org/monado/monado/merge_requests/1570), 1330 + [!1684](https://gitlab.freedesktop.org/monado/monado/merge_requests/1684)) 1331 + - main: Refactor arguments to `comp_target_create_images`, introduces the struct 1332 + `comp_target_create_images_info`. 1333 + ([!1601](https://gitlab.freedesktop.org/monado/monado/merge_requests/1601)) 1334 + - main: Refactor how surface formats are handled, this lets the compositor select 1335 + which formats are considered exactly, and not just prefer one format. 1336 + ([!1601](https://gitlab.freedesktop.org/monado/monado/merge_requests/1601)) 1337 + - main: Do not use the global command buffer pool. 1338 + ([!1748](https://gitlab.freedesktop.org/monado/monado/merge_requests/1748)) 1339 + - main: Refactor to use vk_surface_info helper. 1340 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 1341 + - main: Refactor frame handling, makes semantics clearer. 1342 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801), 1343 + [!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801), 1344 + [!1820](https://gitlab.freedesktop.org/monado/monado/merge_requests/1820)) 1345 + - main: Avoid acquiring early if the target isn't ready. 1346 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 1347 + - main: Prefer to only have two swapchains, useful for direct mode rendering. 1348 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 1349 + - main: Try to detect when we miss frames even without frame timing information. 1350 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 1351 + - main: Refactor mirror to debug gui code and add support for compute queue. 1352 + ([!1820](https://gitlab.freedesktop.org/monado/monado/merge_requests/1820)) 1353 + - main: Use the new samplers on render_resources, remove the layer renderer 1354 + framebuffer's samplers. 1355 + ([!1824](https://gitlab.freedesktop.org/monado/monado/merge_requests/1824)) 1356 + - main: Optionally enable VK_EXT_debug_marker extension on debug builds. 1357 + ([!1877](https://gitlab.freedesktop.org/monado/monado/merge_requests/1877)) 1358 + - main: Name all fence objects using debug helper function. 1359 + ([!1877](https://gitlab.freedesktop.org/monado/monado/merge_requests/1877)) 1360 + - main: Use vk_cmd_submit_locked in vk_helper to simply peek logic 1361 + ([!1884](https://gitlab.freedesktop.org/monado/monado/merge_requests/1884)) 1362 + - main: Add NorthStar to listed displays 1363 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1364 + - main: Only wait on the main queue when drawing the frame. 1365 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1366 + - main: Use enumeration helpers in and refactor the NVIDIA direct target code. 1367 + ([!1894](https://gitlab.freedesktop.org/monado/monado/merge_requests/1894), 1368 + [!1894](https://gitlab.freedesktop.org/monado/monado/merge_requests/1894), 1369 + [!1913](https://gitlab.freedesktop.org/monado/monado/merge_requests/1913)) 1370 + - main: Set sequence number correctly on readback frames. 1371 + ([!1902](https://gitlab.freedesktop.org/monado/monado/merge_requests/1902)) 1372 + - main: Fix warnings found with GCC 13. 1373 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 1374 + - main: Use more enumeration helpers. 1375 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 1376 + - main: Free plane_properties earlier. 1377 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 1378 + - main: Print creation info for direct mode objects. 1379 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 1380 + - main: Always use the mode's extents when creating the surface. 1381 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 1382 + - main: Use new layer squasher helpers and manage scratch images lifetime. 1383 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955)) 1384 + - main: Trace mirror blit function. 1385 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 1386 + - main: Name the runtime Surface on Android. 1387 + ([!1963](https://gitlab.freedesktop.org/monado/monado/merge_requests/1963)) 1388 + - main: Refactor the layer rendering code to use `render_gfx_render_pass`, 1389 + `render_gfx_target_resources` and an `VkCommandBuffer` that is passed in as an 1390 + argument to the draw call. This allows the layer renderer to share the scratch 1391 + images with the compute pipeline. 1392 + ([!1969](https://gitlab.freedesktop.org/monado/monado/merge_requests/1969), 1393 + [!1969](https://gitlab.freedesktop.org/monado/monado/merge_requests/1969), 1394 + [!1970](https://gitlab.freedesktop.org/monado/monado/merge_requests/1970)) 1395 + - main: Use VK_CHK_WITH_RET instead of vk_check_error, and convert a few other 1396 + places to the helpers as well. 1397 + ([!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971), 1398 + [!2050](https://gitlab.freedesktop.org/monado/monado/merge_requests/2050)) 1399 + - main: Tidy headers in layer renderer. 1400 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1401 + - main: Refactor the various getters of poses and view data so that they are 1402 + shared between both graphics and compute paths. 1403 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1404 + - main: Refactor graphics dispatch, this makes it easier to extract the code 1405 + later down the line. 1406 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1407 + - main: Wire up timewarp on the graphics path for the distortion shaders. 1408 + ([!1981](https://gitlab.freedesktop.org/monado/monado/merge_requests/1981)) 1409 + - main: Use new graphics layer squasher. 1410 + ([!1995](https://gitlab.freedesktop.org/monado/monado/merge_requests/1995)) 1411 + - main: Remove old layer renderer code and integration. 1412 + ([!1995](https://gitlab.freedesktop.org/monado/monado/merge_requests/1995)) 1413 + - main: Add argument to specify display mode id for surface creation. 1414 + ([!2010](https://gitlab.freedesktop.org/monado/monado/merge_requests/2010)) 1415 + - main: Fix multiple thread access to VkQueue in present. 1416 + ([!2050](https://gitlab.freedesktop.org/monado/monado/merge_requests/2050)) 1417 + - main: Implement display refresh rates function stubs. 1418 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051)) 1419 + - main: Remove events code, no longer needed. 1420 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 1421 + - main: Add enum to select FoV source, it was very unclear where exactly the FoV 1422 + came from, this makes it clearer and also reduces the number of places it's 1423 + accessed from. 1424 + ([!2101](https://gitlab.freedesktop.org/monado/monado/merge_requests/2101)) 1425 + - main: Use new debuggable scratch images (one `comp_scratch_single_images` per 1426 + view), used to drive the preview view in the UI and to debug the views. 1427 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 1428 + - main: Use vk_enumerate_swapchain_images helper. 1429 + ([!2104](https://gitlab.freedesktop.org/monado/monado/merge_requests/2104)) 1430 + - main: Improve swapchain creation to print more debug information. 1431 + ([!2104](https://gitlab.freedesktop.org/monado/monado/merge_requests/2104)) 1432 + - main: Split submit timing into begin and end. 1433 + ([!2108](https://gitlab.freedesktop.org/monado/monado/merge_requests/2108)) 1434 + - main: Make sure to not use the array of displays if we fail to allocate it, and 1435 + also tidy the code. 1436 + ([!2113](https://gitlab.freedesktop.org/monado/monado/merge_requests/2113)) 1437 + - main: Let sub-classed targets override compositor extents. The big win here 1438 + is that targets no longer writes the `preferred_[width|height]` on the 1439 + compositor's settings struct. And this moves us closer to not using 1440 + `comp_compositor` or `comp_settings` in the targets which means they can be 1441 + refactored out of main and put into util, lettings us reuse them, and even 1442 + have multiple targets active at the same time. 1443 + ([!2113](https://gitlab.freedesktop.org/monado/monado/merge_requests/2113)) 1444 + - main: let compositor targets control more of vulkan initialization. 1445 + ([!2134](https://gitlab.freedesktop.org/monado/monado/merge_requests/2134), 1446 + [!2179](https://gitlab.freedesktop.org/monado/monado/merge_requests/2179)) 1447 + - main: Fix bug with incorrect surface format matching. 1448 + ([!2183](https://gitlab.freedesktop.org/monado/monado/merge_requests/2183)) 1449 + - multi: Introduce a new multi client compositor layer, this allows rendering 1450 + code 1451 + to be moved from the IPC layer into the compositor, separating concerns. The 1452 + main compositor always uses the multi client compositor, as it gives us a async 1453 + render loop for free. 1454 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721), 1455 + [!754](https://gitlab.freedesktop.org/monado/monado/merge_requests/754), 1456 + [!759](https://gitlab.freedesktop.org/monado/monado/merge_requests/759), 1457 + [!1323](https://gitlab.freedesktop.org/monado/monado/merge_requests/1323), 1458 + [!1346](https://gitlab.freedesktop.org/monado/monado/merge_requests/1346), 1459 + [#171](https://gitlab.freedesktop.org/monado/monado/issues/171)) 1460 + - multi: Make sure there are at least some predicted data, to avoid asserts in 1461 + non-service mode. 1462 + ([!864](https://gitlab.freedesktop.org/monado/monado/merge_requests/864)) 1463 + - multi: Try to set realtime priority on main thread 1464 + ([!1881](https://gitlab.freedesktop.org/monado/monado/merge_requests/1881)) 1465 + - multi: Add support for `XR_EXT_hand_interaction` profile. 1466 + ([!1901](https://gitlab.freedesktop.org/monado/monado/merge_requests/1901)) 1467 + - multi: Add stub set thread hint function. 1468 + ([!1951](https://gitlab.freedesktop.org/monado/monado/merge_requests/1951)) 1469 + - multi: Implement display refresh rate functions. 1470 + ([!2051](https://gitlab.freedesktop.org/monado/monado/merge_requests/2051)) 1471 + - multi: Switch to use `xrt_session_event` and `xrt_session_event_sink`. 1472 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 1473 + - multi_layer_entry: Updated the array length of xscs within multi_layer_entry 1474 + from 4 to `2 * XRT_MAX_VIEWS` to accommodate a variable number of views. 1475 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086), 1476 + [!2175](https://gitlab.freedesktop.org/monado/monado/merge_requests/2175), 1477 + [!2189](https://gitlab.freedesktop.org/monado/monado/merge_requests/2189)) 1478 + - null: Add a new compositor intended to be used on CIs that use the Mesa 1479 + software rasteriser vulkan driver. It is also intended to be a base for how to 1480 + write a new compositor. It does no rendering and does not open up any window, 1481 + so has less requirements then the main compositor, both in terms of CPU usage 1482 + and build dependencies. 1483 + ([!1319](https://gitlab.freedesktop.org/monado/monado/merge_requests/1319)) 1484 + - null: Remove events code, no longer needed. 1485 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 1486 + - render: Refactor and reorganize compositor to improve modularity and ease of 1487 + reuse. This introduces the render folder which aims to be useful Vulkan render 1488 + code that can be used outside of the compositor. 1489 + ([!959](https://gitlab.freedesktop.org/monado/monado/merge_requests/959), 1490 + [!959](https://gitlab.freedesktop.org/monado/monado/merge_requests/959), 1491 + [!967](https://gitlab.freedesktop.org/monado/monado/merge_requests/967), 1492 + [!970](https://gitlab.freedesktop.org/monado/monado/merge_requests/970), 1493 + [!982](https://gitlab.freedesktop.org/monado/monado/merge_requests/982), 1494 + [!1021](https://gitlab.freedesktop.org/monado/monado/merge_requests/1021)) 1495 + - render: Add fast path for single layer projection layer skipping the layer 1496 + renderer and avoiding one copy. 1497 + ([!959](https://gitlab.freedesktop.org/monado/monado/merge_requests/959)) 1498 + - render: Lots of refactoring and tidying in code, making it independent of the 1499 + compositor and only depending on the vk_bundle. 1500 + ([!959](https://gitlab.freedesktop.org/monado/monado/merge_requests/959)) 1501 + - render: Refactor out into own library. 1502 + ([!967](https://gitlab.freedesktop.org/monado/monado/merge_requests/967)) 1503 + - render: Use query pool to measure GPU time. 1504 + ([!1268](https://gitlab.freedesktop.org/monado/monado/merge_requests/1268)) 1505 + - render: Reuse a single command buffer instead of allocating/freeing it every 1506 + frame. 1507 + ([!1352](https://gitlab.freedesktop.org/monado/monado/merge_requests/1352)) 1508 + - render: Do not use the global command buffer pool, use `vk_cmd_pool` for 1509 + distrion images upload. 1510 + ([!1748](https://gitlab.freedesktop.org/monado/monado/merge_requests/1748)) 1511 + - render: Add new shared samplers, use them and remove the default sampler. 1512 + ([!1824](https://gitlab.freedesktop.org/monado/monado/merge_requests/1824)) 1513 + - render: Various smaller commit to tidy the code, 1514 + better documentation and naming of defines. 1515 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955)) 1516 + - render: Refactor layer squasher code, the shader is now run once per view 1517 + instead of doing two views in one submission. Makes it easier to split up 1518 + targets and requires less samplers in one invocation. 1519 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955)) 1520 + - render: Refactor scratch images so that they are fully their own struct and 1521 + is managed by a user of the render code. 1522 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955)) 1523 + - render: Optimize layer shader, cutting of around 5%-10% of execution time. 1524 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955)) 1525 + - render: Stop timewarp stretching by changing math. 1526 + ([!1956](https://gitlab.freedesktop.org/monado/monado/merge_requests/1956)) 1527 + - render: Don't enable depth testing and writing for mesh shader. 1528 + ([!1969](https://gitlab.freedesktop.org/monado/monado/merge_requests/1969)) 1529 + - render: Refactor gfx path code to split out render pass vulkan objects from 1530 + the render target resources struct into the `render_gfx_render_pass` struct. 1531 + This allows the render pass to be reused for more than one target. 1532 + ([!1969](https://gitlab.freedesktop.org/monado/monado/merge_requests/1969)) 1533 + - render: Use defines helpers from Vulkan helper code instead of defining self. 1534 + ([!1972](https://gitlab.freedesktop.org/monado/monado/merge_requests/1972)) 1535 + - render: Refactor mesh distortion dispatch functions. 1536 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1537 + - render: Expose render_calc_uv_to_tangent_lengths_rect function, document it 1538 + better and also add tests for it. 1539 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1540 + - render: Tweak cmake files so that comp_render is usable without any other of 1541 + the compositor bits. 1542 + ([!1974](https://gitlab.freedesktop.org/monado/monado/merge_requests/1974)) 1543 + - render: Add ability to sub-allocate UBOs from a larger buffer, both code and 1544 + needed scaffolding to use it in the gfx path. 1545 + ([!1976](https://gitlab.freedesktop.org/monado/monado/merge_requests/1976)) 1546 + - render: Make gfx mesh distortion shader sub-allocate it's UBO. 1547 + ([!1976](https://gitlab.freedesktop.org/monado/monado/merge_requests/1976)) 1548 + - render: Refactor gfx mesh shader allocation and dispatch. 1549 + ([!1980](https://gitlab.freedesktop.org/monado/monado/merge_requests/1980)) 1550 + - render: Remove unused render_gfx_view and other fields on render_gfx, 1551 + the limiting factor to how many views the graphics path can do now is the sizes 1552 + of descriptor pools and UBO buffer. 1553 + ([!1980](https://gitlab.freedesktop.org/monado/monado/merge_requests/1980)) 1554 + - render: Refactor gfx descriptor pool, descriptor layout creation function, 1555 + ubo upload ad descriptor updating function to be shareable. The common pattern 1556 + is one UBO and one source image, so make it possible to share these. 1557 + ([!1980](https://gitlab.freedesktop.org/monado/monado/merge_requests/1980)) 1558 + - render: Add timewarp to graphics path distortion shaders, works very similar to 1559 + the compute paths timewarp. 1560 + ([!1981](https://gitlab.freedesktop.org/monado/monado/merge_requests/1981)) 1561 + - render: Make it possible to set clear color when starting render pass. 1562 + ([!1983](https://gitlab.freedesktop.org/monado/monado/merge_requests/1983)) 1563 + - render: Add new layer shaders and support code. 1564 + ([!1983](https://gitlab.freedesktop.org/monado/monado/merge_requests/1983)) 1565 + - render: Prepare gfx shared one ubo and src code for addition of cylinder and 1566 + equirect2 shaders. 1567 + ([!1994](https://gitlab.freedesktop.org/monado/monado/merge_requests/1994)) 1568 + - render: Add cylinder and equirect2 shaders and code for graphics path. 1569 + ([!1994](https://gitlab.freedesktop.org/monado/monado/merge_requests/1994)) 1570 + - render: Remove old graphics layer squasher. 1571 + ([!1995](https://gitlab.freedesktop.org/monado/monado/merge_requests/1995)) 1572 + - render: `render_resources` now has a `view_count` field, which is set to 1 for 1573 + mono and 2 for stereo. This is used to iterate over the views in the render 1574 + function. 1575 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086), 1576 + [!2175](https://gitlab.freedesktop.org/monado/monado/merge_requests/2175), 1577 + [!2189](https://gitlab.freedesktop.org/monado/monado/merge_requests/2189)) 1578 + - render: Use the `XRT_MAX_VIEWS` macro to calculate the length of a series of 1579 + arrays. 1580 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086), 1581 + [!2175](https://gitlab.freedesktop.org/monado/monado/merge_requests/2175), 1582 + [!2189](https://gitlab.freedesktop.org/monado/monado/merge_requests/2189)) 1583 + - render: Tweak alpha blending, before on the gfx path the written alpha was 1584 + always zero, this would pose a problem when we want to display the scratch 1585 + images in the debug UI as they would be completely black. 1586 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 1587 + - shaders: Add blit compute shader. 1588 + ([!1820](https://gitlab.freedesktop.org/monado/monado/merge_requests/1820)) 1589 + - swapchain: Change `struct xrt_swapchain *l_xsc, struct xrt_swapchain *r_xsc` to 1590 + `struct xrt_swapchain *xsc[XRT_MAX_VIEWS]`, in order to support multiple views' 1591 + swapchains. When iterating, use `xrt_layer_data.view_count`. 1592 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086), 1593 + [!2175](https://gitlab.freedesktop.org/monado/monado/merge_requests/2175), 1594 + [!2189](https://gitlab.freedesktop.org/monado/monado/merge_requests/2189)) 1595 + - util: Refactor swapchain and fence code to be more independent of compositor 1596 + and put into own library. Joined by a `comp_base` helper that implements 1597 + a lot of the more boilerplate compositor code. 1598 + ([!967](https://gitlab.freedesktop.org/monado/monado/merge_requests/967)) 1599 + - util: Add Vulkan helper code to initialise a vk_bundle from scratch. 1600 + ([!970](https://gitlab.freedesktop.org/monado/monado/merge_requests/970)) 1601 + - util: Completely propagate errors from image creation failures and some tidy. 1602 + ([!1417](https://gitlab.freedesktop.org/monado/monado/merge_requests/1417), 1603 + [!1417](https://gitlab.freedesktop.org/monado/monado/merge_requests/1417), 1604 + [!2052](https://gitlab.freedesktop.org/monado/monado/merge_requests/2052)) 1605 + - util: Remove samplers from comp_swapchain_image, they were always the same. 1606 + ([!1824](https://gitlab.freedesktop.org/monado/monado/merge_requests/1824)) 1607 + - util: Name all fence objects using debug helper function. 1608 + ([!1877](https://gitlab.freedesktop.org/monado/monado/merge_requests/1877)) 1609 + - util: Improve Vulkan instance creation code to be clearer about what extensions 1610 + are missing, also generally refactor function to make it better. 1611 + ([!1885](https://gitlab.freedesktop.org/monado/monado/merge_requests/1885)) 1612 + - util: Make sure to not destroy invalid `VkSemaphore` objects. 1613 + ([!1887](https://gitlab.freedesktop.org/monado/monado/merge_requests/1887)) 1614 + - util: Track native semaphore handles, following the semantics of other handles 1615 + in Monado. This fixes the leak of `syncobj_file` on Linux. 1616 + ([!1887](https://gitlab.freedesktop.org/monado/monado/merge_requests/1887)) 1617 + - util: Use enumeration helpers, with a tiny little bit of refactor to increase 1618 + code reuse. 1619 + ([!1894](https://gitlab.freedesktop.org/monado/monado/merge_requests/1894)) 1620 + - util: Add helpers to launch the compute layer squasher shaders and the compute 1621 + distortion shaders. They are in `comp_util` because it looks at a list of 1622 + `comp_layer` and `comp_swapchain` structs that `comp_base` manages. 1623 + ([!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955), 1624 + [!1955](https://gitlab.freedesktop.org/monado/monado/merge_requests/1955), 1625 + [!1967](https://gitlab.freedesktop.org/monado/monado/merge_requests/1967), 1626 + [!1975](https://gitlab.freedesktop.org/monado/monado/merge_requests/1975)) 1627 + - util: Generate limited limited ids for native swapchains. 1628 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 1629 + - util: Prefix compute functions with `cs`, rename file and refactor out layer 1630 + helpers in preparation for new graphics layer render code. 1631 + ([!1983](https://gitlab.freedesktop.org/monado/monado/merge_requests/1983)) 1632 + - util: Prepare code for addition of cylinder and equirect layers to graphics 1633 + paths, like adding various helpers. 1634 + ([!1994](https://gitlab.freedesktop.org/monado/monado/merge_requests/1994)) 1635 + - util: Add cylinder and equirect2 shaders and code for graphics path. 1636 + ([!1994](https://gitlab.freedesktop.org/monado/monado/merge_requests/1994)) 1637 + - util: Replace is_view_index_visible helper by is_layer_view_visible. 1638 + ([!1998](https://gitlab.freedesktop.org/monado/monado/merge_requests/1998)) 1639 + - util: Also clean up image views on mutex and cond variable creation error 1640 + in the comp_swapchain.c file. 1641 + ([!2052](https://gitlab.freedesktop.org/monado/monado/merge_requests/2052)) 1642 + - util: Refactor how arguments are given, this makes it easier to change the 1643 + number of views that the code supports. 1644 + ([!2101](https://gitlab.freedesktop.org/monado/monado/merge_requests/2101)) 1645 + - util: Add `comp_scratch_single_images` and `comp_scratch_stereo_images` helper 1646 + struct, these uses `u_native_images_debug` this let us do zero copy viewing or 1647 + debugging of the images. 1648 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 1649 + - util: Expand on swapchain import error codes. This allows the CTS in Direct3D 1650 + 12 to not fail when attempting to import sRGB swapchains with flags such as 1651 + `XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT`. 1652 + ([!2167](https://gitlab.freedesktop.org/monado/monado/merge_requests/2167)) 1653 + - util: Fix double free when failing to initialize Vulkan swapchain 1654 + util: Fix double free when failing to import non-Vulkan swapchain 1655 + ([!2199](https://gitlab.freedesktop.org/monado/monado/merge_requests/2199)) 1656 + - util: Fix vk_deinit_mutex asserts when vk_create_device fails. 1657 + ([!2214](https://gitlab.freedesktop.org/monado/monado/merge_requests/2214)) 1658 + - util: Fix a crash bug in `render_gfx_end_target` with non-compute pipeline path 1659 + on certain Android devices when zero layers are committed. 1660 + ([!2216](https://gitlab.freedesktop.org/monado/monado/merge_requests/2216)) 1661 + - xrt_layer_type: Renamed the `XRT_LAYER_STEREO_PROJECTION` to 1662 + `XRT_LAYER_PROJECTION` and `XRT_LAYER_STEREO_PROJECTION_DEPTH` to 1663 + `XRT_LAYER_PROJECTION_DEPTH` in the `xrt_layer_type` enumeration to support 1664 + both mono and stereo projection layers. This change provides a more inclusive 1665 + and versatile categorization of projection layers within the XRT framework, 1666 + accommodating a wider range of use cases. 1667 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086), 1668 + [!2175](https://gitlab.freedesktop.org/monado/monado/merge_requests/2175), 1669 + [!2189](https://gitlab.freedesktop.org/monado/monado/merge_requests/2189)) 1670 + - Tracking 1671 + - h/mercury: Push hand rect masks to the SLAM tracker sinks 1672 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131)) 1673 + - hand: General tidy of the async code. 1674 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1675 + - hand: Rename new user hand estimation switch. 1676 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1677 + - hand: Add env variables to control prediction. 1678 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1679 + - mercury: Add Levenberg-Marquardt optimizer and lots of improvements. Makes hand 1680 + tracking finally somewhat usable. 1681 + ([!1381](https://gitlab.freedesktop.org/monado/monado/merge_requests/1381)) 1682 + - t/hand: Reduce relation history lock contention 1683 + ([!1949](https://gitlab.freedesktop.org/monado/monado/merge_requests/1949)) 1684 + - tracking: Remove unused destroy function on async interface. 1685 + ([!1893](https://gitlab.freedesktop.org/monado/monado/merge_requests/1893)) 1686 + - Helper Libraries 1687 + - Introduce VIT loader to load a given VIT system, implement the VIT interface in 1688 + SLAM tracker, and remove the unused MatFrame class. Only turn on the SLAM 1689 + feature on Linux. 1690 + ([!2058](https://gitlab.freedesktop.org/monado/monado/merge_requests/2058), 1691 + [!2125](https://gitlab.freedesktop.org/monado/monado/merge_requests/2125), 1692 + [!2144](https://gitlab.freedesktop.org/monado/monado/merge_requests/2144)) 1693 + - When a space is located in itself as base space, skip locating the space 1694 + altogether. 1695 + ([!2192](https://gitlab.freedesktop.org/monado/monado/merge_requests/2192)) 1696 + - a/bindings: Interaction profile inheritance, support data-inheritance in 1697 + bindings.json, add a new concept of virtual profiles for profile like 1698 + extensions (e.g. `XR_EXT_palm_pose`) which do not define a profile 1699 + themselves but require their newly defined actions to be supported by all 1700 + profiles. 1701 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 1702 + - a/bindings: Add support for `XR_EXT_hand_interaction` profile - Updates 1703 + bindings & pretty-print for newly added support for `XR_EXT_hand_interaction` 1704 + profile. 1705 + ([!1901](https://gitlab.freedesktop.org/monado/monado/merge_requests/1901)) 1706 + - a/math: Fix const-correctness in m_relation_history 1707 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 1708 + - a/util: Fix crash bug with XR_EXT_dpad_binding after multiple session re-runs. 1709 + ([!2133](https://gitlab.freedesktop.org/monado/monado/merge_requests/2133)) 1710 + - a/util: Fix missing lib in cmake file for building `mercury_steamvr_driver` 1711 + ([!2169](https://gitlab.freedesktop.org/monado/monado/merge_requests/2169)) 1712 + - a/vive: Add FoV tweaks for another index HMD 1713 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1714 + - all: Rename all `num_` parameters and fields, typically to `_count`, to match 1715 + OpenXR convention. 1716 + ([!977](https://gitlab.freedesktop.org/monado/monado/merge_requests/977)) 1717 + - android: Tidy code and add warning on not getting refresh rate. 1718 + ([!1907](https://gitlab.freedesktop.org/monado/monado/merge_requests/1907)) 1719 + - android: Support creating surface with title. 1720 + ([!1963](https://gitlab.freedesktop.org/monado/monado/merge_requests/1963)) 1721 + - android: Add argument to specify display mode id for surface creation. 1722 + ([!2010](https://gitlab.freedesktop.org/monado/monado/merge_requests/2010)) 1723 + - aux/debug_ui: bump the minimum gl version to 4.5 1724 + ([!2147](https://gitlab.freedesktop.org/monado/monado/merge_requests/2147)) 1725 + - bindings: Add support for eye gaze bindings extension. 1726 + ([!1836](https://gitlab.freedesktop.org/monado/monado/merge_requests/1836)) 1727 + - bindings: Add generic vive tracker input and output bindings, not used for now. 1728 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860)) 1729 + - bindings: Correct ML2 controller extension string. 1730 + ([!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890)) 1731 + - bindings: Add system buttons to WinMR controllers, for OpenXR gate them behind 1732 + the XR_MNDX_system_buttons extension. 1733 + ([!1903](https://gitlab.freedesktop.org/monado/monado/merge_requests/1903)) 1734 + - bindings: Add OPPO MR controller profile. 1735 + ([!1904](https://gitlab.freedesktop.org/monado/monado/merge_requests/1904)) 1736 + - bindings: Replaces the `monado_device` entry for `XR_EXT_hand_interaction` in 1737 + bindings.json to refer to a new device name type. 1738 + ([!1915](https://gitlab.freedesktop.org/monado/monado/merge_requests/1915)) 1739 + - cmake: Split the CMakeLists.txt out into the sub-directories of each library, 1740 + making each much more manageable when editing. 1741 + ([!1328](https://gitlab.freedesktop.org/monado/monado/merge_requests/1328)) 1742 + - d3d: Add D3D helpers used by various parts of Monado, mostly the D3D11 client 1743 + compositor. 1744 + ([!943](https://gitlab.freedesktop.org/monado/monado/merge_requests/943), 1745 + [!1326](https://gitlab.freedesktop.org/monado/monado/merge_requests/1326), 1746 + [!1302](https://gitlab.freedesktop.org/monado/monado/merge_requests/1302), 1747 + [!1337](https://gitlab.freedesktop.org/monado/monado/merge_requests/1337)) 1748 + - d3d: Add a D3D12 allocator, certain use-cases in D3D12 requires the resource 1749 + to be allocated directly in D3D12, like multi-gpu. 1750 + ([!1920](https://gitlab.freedesktop.org/monado/monado/merge_requests/1920)) 1751 + - d3d: Add copy D3D12 helper functions, needed to work around issues with layout 1752 + on small textures on NVIDIA hardware. 1753 + ([!1920](https://gitlab.freedesktop.org/monado/monado/merge_requests/1920)) 1754 + - external/slam: Update to 7.0.0 with RESET_TRACKER_STATE and ignore masks 1755 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1756 + - h/mercury: Add min detection confidence option 1757 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1758 + - m/3dof: Add assert to catch time traveling drivers. 1759 + ([!717](https://gitlab.freedesktop.org/monado/monado/merge_requests/717)) 1760 + - math: Fix for M_PI on Windows. 1761 + ([!735](https://gitlab.freedesktop.org/monado/monado/merge_requests/735)) 1762 + - math: Add `math_map_ranges` function, does the same thing as Arduino's `map`. 1763 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 1764 + - math: Add clock_offset utility to estimate offset between clocks 1765 + ([!1590](https://gitlab.freedesktop.org/monado/monado/merge_requests/1590)) 1766 + - math: Minor tidy of `m_api.h`, `m_base.cpp` and `CMakeLists.txt`. 1767 + ([!1978](https://gitlab.freedesktop.org/monado/monado/merge_requests/1978)) 1768 + - math: Add function to calculate a vulkan infinite reverse projection matrix. 1769 + ([!1978](https://gitlab.freedesktop.org/monado/monado/merge_requests/1978)) 1770 + - math: Refactor m_clock_offset_a2b to avoid precision problems. 1771 + ([!2106](https://gitlab.freedesktop.org/monado/monado/merge_requests/2106)) 1772 + - math: Refactor apply_relation to handle valid/tracked flags more like OpenXR. 1773 + ([!2186](https://gitlab.freedesktop.org/monado/monado/merge_requests/2186)) 1774 + - math: Restore upgrading of 3DOF relations with valid positions to ensure 3DOF 1775 + devices have monado's 3DOF offset. 1776 + ([!2239](https://gitlab.freedesktop.org/monado/monado/merge_requests/2239)) 1777 + - misc: Fix double free when shrinking typed array to zero. 1778 + ([!2069](https://gitlab.freedesktop.org/monado/monado/merge_requests/2069)) 1779 + - ogl: Add various helper functions, and tidy code a bit. 1780 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 1781 + - os: Rename threading functions to more clearly state that it both stops and 1782 + waits on the thread. Also add asserts to make sure primitives have been 1783 + initialized. 1784 + ([!1320](https://gitlab.freedesktop.org/monado/monado/merge_requests/1320), 1785 + [!1324](https://gitlab.freedesktop.org/monado/monado/merge_requests/1324), 1786 + [!1329](https://gitlab.freedesktop.org/monado/monado/merge_requests/1329), 1787 + [!1353](https://gitlab.freedesktop.org/monado/monado/merge_requests/1353)) 1788 + - os/threading: Add mutex recursive wrapper. 1789 + ([!1933](https://gitlab.freedesktop.org/monado/monado/merge_requests/1933)) 1790 + - os/threading: fix assert in debug build 1791 + ([!2127](https://gitlab.freedesktop.org/monado/monado/merge_requests/2127)) 1792 + - os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper 1793 + ([!1585](https://gitlab.freedesktop.org/monado/monado/merge_requests/1585)) 1794 + - pacing: Add minimum app margin, also add `U_PACING_APP_MIN_MARGIN_MS` env var. 1795 + ([!1961](https://gitlab.freedesktop.org/monado/monado/merge_requests/1961)) 1796 + - system_helpers: Make system devices easier to embed. 1797 + ([!1977](https://gitlab.freedesktop.org/monado/monado/merge_requests/1977)) 1798 + - t/calibration: Add support for RGB image streams, also add a special sink 1799 + converter helper to handle this case. 1800 + ([!859](https://gitlab.freedesktop.org/monado/monado/merge_requests/859)) 1801 + - t/calibration: Make it possible to select number distortion parameters. 1802 + ([!859](https://gitlab.freedesktop.org/monado/monado/merge_requests/859)) 1803 + - t/calibration: Add support for findChessboardCornersSB in calibration code. 1804 + ([!911](https://gitlab.freedesktop.org/monado/monado/merge_requests/911)) 1805 + - t/cli: Add monado-cli slambatch command for evaluation of SLAM datasets in 1806 + batch. 1807 + ([!1172](https://gitlab.freedesktop.org/monado/monado/merge_requests/1172)) 1808 + - t/euroc: Add EuRoC dataset recorder for saving camera and IMU streams to disk. 1809 + ([!1017](https://gitlab.freedesktop.org/monado/monado/merge_requests/1017)) 1810 + - t/euroc: Allow euroc recorder to start and stop recordings in the same session 1811 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1812 + - t/file: Migrate calibration file format to JSON. 1813 + ([!1005](https://gitlab.freedesktop.org/monado/monado/merge_requests/1005)) 1814 + - t/fm: Add simple FrameMat that wraps a cv::Mat, this allows us to easily pass 1815 + cv::Mat's around without the C code needing to know about OpenCV. 1816 + ([!825](https://gitlab.freedesktop.org/monado/monado/merge_requests/825)) 1817 + - t/hsv: Add tracing support for timing info. 1818 + ([!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858)) 1819 + - t/psvr: Fix warnings found with GCC 13. 1820 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 1821 + - t/slam: Initial external SLAM tracking support, working with fork of Kimera- 1822 + VIO. 1823 + ([!889](https://gitlab.freedesktop.org/monado/monado/merge_requests/889)) 1824 + - t/slam: Add Basalt as a possible external SLAM system. 1825 + ([!941](https://gitlab.freedesktop.org/monado/monado/merge_requests/941)) 1826 + - t/slam: Update SLAM interface to support dynamically query external systems for 1827 + special features. 1828 + ([!1016](https://gitlab.freedesktop.org/monado/monado/merge_requests/1016)) 1829 + - t/slam: Add naive prediction to the SLAM tracker. 1830 + ([!1060](https://gitlab.freedesktop.org/monado/monado/merge_requests/1060)) 1831 + - t/slam: Add trajectory filters and use IMU for prediction in the SLAM tracker. 1832 + ([!1067](https://gitlab.freedesktop.org/monado/monado/merge_requests/1067)) 1833 + - t/slam: Add tools for performance and accuracy evaluation of the SLAM tracker. 1834 + ([!1152](https://gitlab.freedesktop.org/monado/monado/merge_requests/1152)) 1835 + - t/slam: Support calibration info from drivers and sending it to the external 1836 + SLAM system. 1837 + ([!1334](https://gitlab.freedesktop.org/monado/monado/merge_requests/1334)) 1838 + - t/slam: Add basic tracing support. 1839 + ([!1796](https://gitlab.freedesktop.org/monado/monado/merge_requests/1796)) 1840 + - t/slam: Add reset state button 1841 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1842 + - t/slam: Turn timestamp asserts into warnings 1843 + ([!1937](https://gitlab.freedesktop.org/monado/monado/merge_requests/1937)) 1844 + - t/slam: Use locks for CSV writers 1845 + ([!2000](https://gitlab.freedesktop.org/monado/monado/merge_requests/2000)) 1846 + - t/slam: Use newly-extracted "VIT" (visual-inertial tracking) interface project, 1847 + version 2.0.1, to connect to SLAM trackers. 1848 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131), 1849 + [!2132](https://gitlab.freedesktop.org/monado/monado/merge_requests/2132)) 1850 + - t/slam: Send hand tracking masks to VIT system 1851 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131)) 1852 + - tracking: Tidy and improve `xrt::auxiliary::tracking::FrameMat`. 1853 + ([!2056](https://gitlab.freedesktop.org/monado/monado/merge_requests/2056)) 1854 + - u/aeg: Implement module for auto exposure and gain to help with SLAM tracking. 1855 + ([!1291](https://gitlab.freedesktop.org/monado/monado/merge_requests/1291)) 1856 + - u/builder: Introduce new `u_builder` to make it easier to implement the 1857 + interface function `xrt_builder::open_system`. Allowing lots of de-duplication 1858 + of code that was exactly the same in most builders. 1859 + ([!2057](https://gitlab.freedesktop.org/monado/monado/merge_requests/2057), 1860 + [!2072](https://gitlab.freedesktop.org/monado/monado/merge_requests/2072)) 1861 + - u/builders: Refactor space overseer creation helper. 1862 + ([!1987](https://gitlab.freedesktop.org/monado/monado/merge_requests/1987)) 1863 + - u/config_json: Add functionality to save/load gui state to file. 1864 + ([!1074](https://gitlab.freedesktop.org/monado/monado/merge_requests/1074)) 1865 + - u/debug: Refactor code to be prettier and expose more conversion functions. 1866 + ([!1874](https://gitlab.freedesktop.org/monado/monado/merge_requests/1874)) 1867 + - u/debug: Use system properties on Android for the debug settings, properties 1868 + are prefixed with `debug.xrt.` so the property for `XRT_LOG` is 1869 + `debug.xrt.XRT_LOG`. 1870 + ([!1874](https://gitlab.freedesktop.org/monado/monado/merge_requests/1874)) 1871 + - u/debug_gui: Small refactor of loop and and tracing. 1872 + ([!1814](https://gitlab.freedesktop.org/monado/monado/merge_requests/1814)) 1873 + - u/device: Added `u_device_2d_extents` and 1874 + `u_setup_2d_extents_split_side_by_side`, this is hopefully to eliminate 1875 + confusion: the FOV you had to give to `u_device_split_side_by_side` was a 1876 + placeholder value, but some people thought it was the actual headset's FOV. 1877 + ([!839](https://gitlab.freedesktop.org/monado/monado/merge_requests/839)) 1878 + - u/device: Improve comment on u_device_get_view_poses. 1879 + ([!2023](https://gitlab.freedesktop.org/monado/monado/merge_requests/2023)) 1880 + - u/device: Add default, no-op and not implemented function helpers. 1881 + ([!2039](https://gitlab.freedesktop.org/monado/monado/merge_requests/2039)) 1882 + - u/device: Added new function `u_device_setup_one_eye`. 1883 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086)) 1884 + - u/fifo: Doc comments, and small improvements to the C++ wrapper helper. 1885 + ([!1810](https://gitlab.freedesktop.org/monado/monado/merge_requests/1810)) 1886 + - u/file: Search more paths, and actually test if a directory is there, for 1887 + hand-tracking models. 1888 + ([!1831](https://gitlab.freedesktop.org/monado/monado/merge_requests/1831)) 1889 + - u/file: Changed file open mode from "r" to "rb" to ensure binary mode is used 1890 + for reading the file. This resolves an issue where file size and read size were 1891 + inconsistent on Windows platform. 1892 + ([!2164](https://gitlab.freedesktop.org/monado/monado/merge_requests/2164)) 1893 + - u/frame_times_widget: Optimize FPS calculation using precomputed frame timings. 1894 + ([!2068](https://gitlab.freedesktop.org/monado/monado/merge_requests/2068)) 1895 + - u/generic_callbacks: Fix missing include for generic callback structure. 1896 + ([!1931](https://gitlab.freedesktop.org/monado/monado/merge_requests/1931)) 1897 + - u/json: Add cJSON C++ wrapper. 1898 + ([!957](https://gitlab.freedesktop.org/monado/monado/merge_requests/957)) 1899 + - u/linux: Add code that raises the priority of the calling thread to realtime, 1900 + requires the process to be run as root or have `CAP_SYS_NICE` set. 1901 + ([!1881](https://gitlab.freedesktop.org/monado/monado/merge_requests/1881)) 1902 + - u/live_stats: Add helper to do live statistics on nano-seconds durations. 1903 + ([!2108](https://gitlab.freedesktop.org/monado/monado/merge_requests/2108)) 1904 + - u/logging: Fix the first message always getting printed due to un-initialized 1905 + variable. 1906 + ([!735](https://gitlab.freedesktop.org/monado/monado/merge_requests/735)) 1907 + - u/logging: Add logging sink to intercept log messages. 1908 + ([!1171](https://gitlab.freedesktop.org/monado/monado/merge_requests/1171)) 1909 + - u/logging: Log to stderr in Windows. 1910 + ([!1475](https://gitlab.freedesktop.org/monado/monado/merge_requests/1475)) 1911 + - u/logging: Truncate the output of hexdump at a safer limit (16MB). 1912 + ([!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865), 1913 + [!1879](https://gitlab.freedesktop.org/monado/monado/merge_requests/1879)) 1914 + - u/logging: Refactor printing to be safer using truncating helpers, and increase 1915 + the reuse of code. 1916 + ([!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865), 1917 + [!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865), 1918 + [!1892](https://gitlab.freedesktop.org/monado/monado/merge_requests/1892)) 1919 + - u/logging: Make the CMake variable only be true on Linux. 1920 + ([!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865)) 1921 + - u/logging: Add json logging, it can be enabled via the XRT_JSON_LOG env var. 1922 + ([!1898](https://gitlab.freedesktop.org/monado/monado/merge_requests/1898)) 1923 + - u/metrics: Add code that allows writing various metrics information that can 1924 + then be processed for a better view into the run. 1925 + ([!1512](https://gitlab.freedesktop.org/monado/monado/merge_requests/1512), 1926 + [!1521](https://gitlab.freedesktop.org/monado/monado/merge_requests/1521), 1927 + [!1579](https://gitlab.freedesktop.org/monado/monado/merge_requests/1579)) 1928 + - u/native_images_debug: Add `u_native_images_debug` and `u_swapchain_debug` to 1929 + debug `xrt_image_native` and `xrt_swapchain_native` content. 1930 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 1931 + - u/pacing: Add frame timing helper code designed to use Vulkan display timing 1932 + extensions to get proper frame timing in the compositor. 1933 + ([!697](https://gitlab.freedesktop.org/monado/monado/merge_requests/697)) 1934 + - u/pacing: Renames and improvements for frame pacing (formerly known as render 1935 + and display timing) code and APIs. 1936 + ([!1081](https://gitlab.freedesktop.org/monado/monado/merge_requests/1081), 1937 + [!1104](https://gitlab.freedesktop.org/monado/monado/merge_requests/1104)) 1938 + - u/pacing: Make present_to_display_offset_ns more clear by changing the name. 1939 + ([!1271](https://gitlab.freedesktop.org/monado/monado/merge_requests/1271)) 1940 + - u/pacing: Predict present time and then calculate display time in fake pacer. 1941 + ([!1271](https://gitlab.freedesktop.org/monado/monado/merge_requests/1271)) 1942 + - u/pacing: Make the comp time be at least 2ms in fake pacer, this is a more 1943 + conservative margin for when the fake pacer is used for real hardware. 1944 + ([!1271](https://gitlab.freedesktop.org/monado/monado/merge_requests/1271)) 1945 + - u/pacing: Add vblank timing function for display control, lets the fake pacer 1946 + properly synchronise with hardware. 1947 + ([!1271](https://gitlab.freedesktop.org/monado/monado/merge_requests/1271)) 1948 + - u/pacing: Add variable tracking to fake pacer. 1949 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 1950 + - u/pacing: General improvements. 1951 + ([!1809](https://gitlab.freedesktop.org/monado/monado/merge_requests/1809)) 1952 + - u/pacing: Add minimum compositor frame time. 1953 + ([!1809](https://gitlab.freedesktop.org/monado/monado/merge_requests/1809)) 1954 + - u/pacing: Add minimum application frame time. 1955 + ([!1809](https://gitlab.freedesktop.org/monado/monado/merge_requests/1809), 1956 + [!1809](https://gitlab.freedesktop.org/monado/monado/merge_requests/1809), 1957 + [!1828](https://gitlab.freedesktop.org/monado/monado/merge_requests/1828)) 1958 + - u/pacing: Add variable tracking integration to app pacer. 1959 + ([!1828](https://gitlab.freedesktop.org/monado/monado/merge_requests/1828)) 1960 + - u/pacing: Add env variable to set present to display offset. 1961 + ([!1828](https://gitlab.freedesktop.org/monado/monado/merge_requests/1828)) 1962 + - u/pacing: Add option U_PACING_APP_USE_MIN_FRAME_PERIOD to allow selecting the 1963 + minimal frame period instead of calculated for pacing. The app is still being 1964 + throttled, it's just different. 1965 + ([!2076](https://gitlab.freedesktop.org/monado/monado/merge_requests/2076), 1966 + [!2084](https://gitlab.freedesktop.org/monado/monado/merge_requests/2084)) 1967 + - u/pacing: Split submit timing into begin and end. 1968 + ([!2108](https://gitlab.freedesktop.org/monado/monado/merge_requests/2108)) 1969 + - u/pacing: Keep track of frame times in fake pacer. 1970 + ([!2108](https://gitlab.freedesktop.org/monado/monado/merge_requests/2108)) 1971 + - u/pacing: Do live stats tracking in fake pacer. 1972 + ([!2108](https://gitlab.freedesktop.org/monado/monado/merge_requests/2108)) 1973 + - u/pp: Pretty print support for new `xrt_input_name` entry, 1974 + `XRT_INPUT_GENERIC_PALM_POSE` for `XR_EXT_palm_pose`. 1975 + ([!1896](https://gitlab.freedesktop.org/monado/monado/merge_requests/1896)) 1976 + - u/pp: Tidy and add more entries to enum printing functions. 1977 + ([!2092](https://gitlab.freedesktop.org/monado/monado/merge_requests/2092)) 1978 + - u/pp: Add `xrt_reference_space_type` printing. 1979 + ([!2092](https://gitlab.freedesktop.org/monado/monado/merge_requests/2092)) 1980 + - u/session: Add helper to implement `xrt_session`. 1981 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 1982 + - u/sink: Add tracing support to sink functions. 1983 + ([!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858)) 1984 + - u/sink: Add a combiner sink that combines two frames into a stereo frame 1985 + ([!934](https://gitlab.freedesktop.org/monado/monado/merge_requests/934)) 1986 + - u/space: Add local_floor to legacy helper function, making most builders 1987 + support it automatically. 1988 + ([!2018](https://gitlab.freedesktop.org/monado/monado/merge_requests/2018)) 1989 + - u/space: Fix build warning because of non-void function not returning 1990 + ([!2131](https://gitlab.freedesktop.org/monado/monado/merge_requests/2131)) 1991 + - u/space_overseer: Make it possible set root as unbounded. 1992 + ([!1621](https://gitlab.freedesktop.org/monado/monado/merge_requests/1621)) 1993 + - u/space_overseer: Add support for reference space usage. 1994 + ([!2048](https://gitlab.freedesktop.org/monado/monado/merge_requests/2048)) 1995 + - u/space_overseer: Implement recentering for supported setups. 1996 + ([!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055)) 1997 + - u/space_overseer: Use broadcast event sink for reference space changes, 1998 + generates `xrt_session_event_reference_space_change_pending` events. 1999 + ([!2081](https://gitlab.freedesktop.org/monado/monado/merge_requests/2081)) 2000 + - u/space_overseer: Notify the device about reference space usage. 2001 + ([!2091](https://gitlab.freedesktop.org/monado/monado/merge_requests/2091)) 2002 + - u/system: Add helper to implement `xrt_system`. 2003 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 2004 + - u/system_helpers: Refactor hand-tracker helper getters. 2005 + ([!1987](https://gitlab.freedesktop.org/monado/monado/merge_requests/1987)) 2006 + - u/system_helpers: Add static system device helper. 2007 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 2008 + - u/time: Add helper comparison functions. 2009 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 2010 + - u/time: Add helper to go from milliseconds to nanoseconds. 2011 + ([!1809](https://gitlab.freedesktop.org/monado/monado/merge_requests/1809)) 2012 + - u/timing: A rather large refactor that turns makes the rendering timing helper 2013 + be more like the frame timing helper. This also makes the rendering timing 2014 + adjust the frame timing of the app so that latency is reduced. 2015 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721)) 2016 + - u/trace_marker: Add trace marker support code, this code uses the Linux 2017 + trace_marker kernel support to enable Monado to trace both function calls and 2018 + other async events. 2019 + ([!697](https://gitlab.freedesktop.org/monado/monado/merge_requests/697)) 2020 + - u/trace_marker: Switch from homegrown tracing code to using Percetto/Perfetto. 2021 + ([!811](https://gitlab.freedesktop.org/monado/monado/merge_requests/811), 2022 + [!840](https://gitlab.freedesktop.org/monado/monado/merge_requests/840)) 2023 + - u/trace_marker: Add sink categories. 2024 + ([!858](https://gitlab.freedesktop.org/monado/monado/merge_requests/858)) 2025 + - u/truncate_printf: Add helpers that have the semantics we want for the printf 2026 + functions [vn|sn]printf. 2027 + ([!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865), 2028 + [!1865](https://gitlab.freedesktop.org/monado/monado/merge_requests/1865), 2029 + [!1923](https://gitlab.freedesktop.org/monado/monado/merge_requests/1923)) 2030 + - u/u_config_json: Added new parameter `uint32_t *out_view_count` to the function 2031 + `u_config_json_get_remote_settings` to provide the ability to retrieve the view 2032 + count from the remote settings. 2033 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086)) 2034 + - u/u_distortion: Modified the function `u_distortion_cardboard_calculate` to 2035 + accept a new parameter `struct xrt_device *xdev` for retrieving the 2036 + `view_count` from the device. This `view_count` is then used for parameter 2037 + settings, enhancing the functionality and flexibility of the distortion 2038 + calculation. 2039 + ([!2086](https://gitlab.freedesktop.org/monado/monado/merge_requests/2086)) 2040 + - u/var: Improve documentation. 2041 + ([!1827](https://gitlab.freedesktop.org/monado/monado/merge_requests/1827)) 2042 + - u/var: Improve documentation and make `suffix_with_number` argument clearer. 2043 + ([!1902](https://gitlab.freedesktop.org/monado/monado/merge_requests/1902)) 2044 + - u/var: Refactor code to make it easier to search for number objects. 2045 + ([!1902](https://gitlab.freedesktop.org/monado/monado/merge_requests/1902)) 2046 + - u/var: Add `u_native_images_debug` as a tracked variable. 2047 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 2048 + - u/var: Protect tracker access with a mutex. Solves a race condition that may 2049 + crash the debug gui if objects are removed using `u_var_remove_root`. 2050 + ([!2177](https://gitlab.freedesktop.org/monado/monado/merge_requests/2177)) 2051 + - u/windows: Add helper code for various bits of Windows related things, like 2052 + formatting error numbers into error messages. Also functions related to 2053 + cpu priority and privilege granting of rights. 2054 + ([!1584](https://gitlab.freedesktop.org/monado/monado/merge_requests/1584)) 2055 + - util: Add code to get a limited unique id, it's a simple 64 bit atomic counter. 2056 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 2057 + - vive: Add shared bindings that are used by `drv_vive` & `drv_survive`, also add 2058 + mappings/bindings from the Touch controller to the Index Controller so games 2059 + only providing Touch bindings works on Index controllers. 2060 + ([!1265](https://gitlab.freedesktop.org/monado/monado/merge_requests/1265)) 2061 + - vive: Tidy the files a lot, break the calibration getters out into own file. 2062 + ([!1792](https://gitlab.freedesktop.org/monado/monado/merge_requests/1792)) 2063 + - vive: Move the view fov calculation into the config file helper. 2064 + ([!1792](https://gitlab.freedesktop.org/monado/monado/merge_requests/1792)) 2065 + - vive: Add hardcoded tweaks for view FoV values. 2066 + ([!1792](https://gitlab.freedesktop.org/monado/monado/merge_requests/1792)) 2067 + - vive: Add support for Gen 3.0 and Tundra trackers. 2068 + ([!1860](https://gitlab.freedesktop.org/monado/monado/merge_requests/1860)) 2069 + - vive: Refactor documentation and move VID and PID defines here. 2070 + ([!1862](https://gitlab.freedesktop.org/monado/monado/merge_requests/1862)) 2071 + - vive: Add support for HTC Vive Pro 2 2072 + ([!1911](https://gitlab.freedesktop.org/monado/monado/merge_requests/1911)) 2073 + - vive: Add C++ guards to poses header. 2074 + ([!1929](https://gitlab.freedesktop.org/monado/monado/merge_requests/1929)) 2075 + - vive: Fix use after free, probably left over since refactor. 2076 + ([!1960](https://gitlab.freedesktop.org/monado/monado/merge_requests/1960)) 2077 + - vive: Add builder helper to allow sharing of estimation code. 2078 + ([!2008](https://gitlab.freedesktop.org/monado/monado/merge_requests/2008)) 2079 + - vk: Add more functions to `vk_bundle` struct. 2080 + ([!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721), 2081 + [!721](https://gitlab.freedesktop.org/monado/monado/merge_requests/721), 2082 + [!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841), 2083 + [!1142](https://gitlab.freedesktop.org/monado/monado/merge_requests/1142), 2084 + [!1820](https://gitlab.freedesktop.org/monado/monado/merge_requests/1820)) 2085 + - vk: Make it possible to create a compute only queue. 2086 + ([!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841)) 2087 + - vk: Refactor and tidy extension handling. 2088 + ([!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841)) 2089 + - vk: Add support for `VK_EXT_robustness2` 2090 + ([!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841)) 2091 + - vk: Add code to handle optional device features. 2092 + ([!841](https://gitlab.freedesktop.org/monado/monado/merge_requests/841)) 2093 + - vk: Add helpers to manage command buffers and create various state objects. 2094 + ([!982](https://gitlab.freedesktop.org/monado/monado/merge_requests/982)) 2095 + - vk: Refactor and rename various function related to compositor swapchain 2096 + images and their flags. These changes makes it clear it's only used for these 2097 + images and image views. 2098 + ([!1128](https://gitlab.freedesktop.org/monado/monado/merge_requests/1128)) 2099 + - vk: Check which fence types can be imported and exported on the device. 2100 + ([!1142](https://gitlab.freedesktop.org/monado/monado/merge_requests/1142)) 2101 + - vk: Add `XRT_CHECK_RESULT` to sync functions. 2102 + ([!1166](https://gitlab.freedesktop.org/monado/monado/merge_requests/1166)) 2103 + - vk: Refactor bundle functions into a file of their own. 2104 + ([!1203](https://gitlab.freedesktop.org/monado/monado/merge_requests/1203)) 2105 + - vk: Separate printing functions into their own file. 2106 + ([!1203](https://gitlab.freedesktop.org/monado/monado/merge_requests/1203), 2107 + [!1203](https://gitlab.freedesktop.org/monado/monado/merge_requests/1203), 2108 + [!1942](https://gitlab.freedesktop.org/monado/monado/merge_requests/1942)) 2109 + - vk: Print out information about the opened device. 2110 + ([!1270](https://gitlab.freedesktop.org/monado/monado/merge_requests/1270)) 2111 + - vk: Make `VK_KHR_external_[fence|semaphore]_fd` optional. This is helpful 2112 + for CI where only lavapipe can be used which does not support those 2113 + extensions. 2114 + ([!1270](https://gitlab.freedesktop.org/monado/monado/merge_requests/1270)) 2115 + - vk: Relax the compute-only queue search to fall back to any queue that supports 2116 + compute. 2117 + ([!1404](https://gitlab.freedesktop.org/monado/monado/merge_requests/1404)) 2118 + - vk: Add new command buffer helpers and `vk_cmd_pool` helper class. 2119 + ([!1748](https://gitlab.freedesktop.org/monado/monado/merge_requests/1748)) 2120 + - vk: Remove the global command buffer pool. 2121 + ([!1748](https://gitlab.freedesktop.org/monado/monado/merge_requests/1748)) 2122 + - vk: Refactor `vk_csci_get_image_usage_flags` to not always set the sampled bit 2123 + and other bits that where always set. Also tidy with a nice define for 2124 + checking. 2125 + ([!1763](https://gitlab.freedesktop.org/monado/monado/merge_requests/1763)) 2126 + - vk: Add new cmd buffer helper file `vk_cmd.[h|c]`, these does not use the 2127 + global command pool. 2128 + ([!1766](https://gitlab.freedesktop.org/monado/monado/merge_requests/1766)) 2129 + - vk: Add copy and blit command buffer writer helpers to `vk_cmd.[h|c]`. 2130 + ([!1766](https://gitlab.freedesktop.org/monado/monado/merge_requests/1766)) 2131 + - vk: Add `vk_surface_info` helper for `VkSurfaceKHR` information gathering. 2132 + ([!1801](https://gitlab.freedesktop.org/monado/monado/merge_requests/1801)) 2133 + - vk: Expand readback pool to be able to set Vulkan format. 2134 + ([!1820](https://gitlab.freedesktop.org/monado/monado/merge_requests/1820)) 2135 + - vk: Add helper function to name Vulkan objects using `VK_EXT_debug_marker`, 2136 + useful when debugging validation errors. 2137 + ([!1877](https://gitlab.freedesktop.org/monado/monado/merge_requests/1877)) 2138 + - vk: Name all fence objects with helpers. 2139 + ([!1877](https://gitlab.freedesktop.org/monado/monado/merge_requests/1877)) 2140 + - vk: Add two call helper for getting instance extensions, and use it. 2141 + ([!1885](https://gitlab.freedesktop.org/monado/monado/merge_requests/1885)) 2142 + - vk: Add function to check required instance extensions. 2143 + ([!1885](https://gitlab.freedesktop.org/monado/monado/merge_requests/1885), 2144 + [!1885](https://gitlab.freedesktop.org/monado/monado/merge_requests/1885), 2145 + [!1973](https://gitlab.freedesktop.org/monado/monado/merge_requests/1973)) 2146 + - vk: Add and use enumeration helpers. 2147 + ([!1894](https://gitlab.freedesktop.org/monado/monado/merge_requests/1894), 2148 + [!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 2149 + - vk: Add string return function for VkSharingMode. 2150 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 2151 + - vk: Add string return functions for bitfield values, also improving the old 2152 + bitfield string functions. The new way lets the caller deal with unknown bits. 2153 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 2154 + - vk: Add printers for `VkSurface` and `VkSwapchain` create info structs. 2155 + ([!1940](https://gitlab.freedesktop.org/monado/monado/merge_requests/1940)) 2156 + - vk: When listing GPUs, also output device type. 2157 + ([!1942](https://gitlab.freedesktop.org/monado/monado/merge_requests/1942)) 2158 + - vk: Make sure to print the first GPU as well when selecting physical device. 2159 + ([!1942](https://gitlab.freedesktop.org/monado/monado/merge_requests/1942)) 2160 + - vk: Init vk bundle with `shaderImageGatherExtended` enabled if supported. 2161 + ([!1959](https://gitlab.freedesktop.org/monado/monado/merge_requests/1959)) 2162 + - vk: Use `VK_CHK_WITH_RET` instead of `vk_check_error`. 2163 + ([!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971)) 2164 + - vk: Rename and add more variants of return checking defines, making the define 2165 + now be all caps so it's easier to see if it effects flow control. 2166 + ([!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971), 2167 + [!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971), 2168 + [!1417](https://gitlab.freedesktop.org/monado/monado/merge_requests/1417)) 2169 + - vk: Add `vk_print_result` helper, used in return checking defines but can also 2170 + be used outside of them. 2171 + ([!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971), 2172 + [!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971), 2173 + [!2050](https://gitlab.freedesktop.org/monado/monado/merge_requests/2050)) 2174 + - vk: Add two mini define helpers in their own header (`D` and `DF`) which was 2175 + redefined in multiple places in the source code. Keep in own header to not 2176 + clutter namespace. 2177 + ([!1971](https://gitlab.freedesktop.org/monado/monado/merge_requests/1971)) 2178 + - vk: Add debug inserting helper function and use it for inserting renderdoc 2179 + frame delimiter in Vulkan client 2180 + ([!2005](https://gitlab.freedesktop.org/monado/monado/merge_requests/2005)) 2181 + - vk: Change the naming function to use the extension `VK_EXT_debug_utils`, which 2182 + has been included in core with 1.3, instead of the old `VK_EXT_debug_marker` 2183 + extension. Also make the naming function type safe. 2184 + ([!2006](https://gitlab.freedesktop.org/monado/monado/merge_requests/2006), 2185 + [!2014](https://gitlab.freedesktop.org/monado/monado/merge_requests/2014)) 2186 + - vk: Fix swapchain leak on Android due to it having different Vulkan import 2187 + behavior. 2188 + ([!2042](https://gitlab.freedesktop.org/monado/monado/merge_requests/2042)) 2189 + - vk: Use formats list from `xrt_swapchain_create_info` in `create_image`. 2190 + ([!2049](https://gitlab.freedesktop.org/monado/monado/merge_requests/2049), 2191 + [!2100](https://gitlab.freedesktop.org/monado/monado/merge_requests/2100)) 2192 + - vk: Pass create mutable format bit if usage flag is set. 2193 + ([!2100](https://gitlab.freedesktop.org/monado/monado/merge_requests/2100)) 2194 + - vk: Return `VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT` for 2195 + `XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS` from `vk_csci_get_image_usage_flags`. 2196 + ([!2103](https://gitlab.freedesktop.org/monado/monado/merge_requests/2103)) 2197 + - vk: Add enumerators for two surface properties. 2198 + ([!2104](https://gitlab.freedesktop.org/monado/monado/merge_requests/2104)) 2199 + - vk: Add `vk_enumerate_swapchain_images`. 2200 + ([!2104](https://gitlab.freedesktop.org/monado/monado/merge_requests/2104)) 2201 + - vk: Tidy surface info function. 2202 + ([!2104](https://gitlab.freedesktop.org/monado/monado/merge_requests/2104)) 2203 + - vk: Extend command buffer wait timeout to ~10 seconds. This is necessary 2204 + because in some platforms (such as Windows 10, NVIDIA RTX 3080Ti) the OpenXR 2205 + CTS will trigger an issue when the GPU memory fills, where the system hangs 2206 + for over one second during a paging queue operation. 2207 + ([!2205](https://gitlab.freedesktop.org/monado/monado/merge_requests/2205)) 2208 + - Documentation 2209 + - Add documentation for how to write changelogs in the conventions page. 2210 + ([!1872](https://gitlab.freedesktop.org/monado/monado/merge_requests/1872), 2211 + [!2120](https://gitlab.freedesktop.org/monado/monado/merge_requests/2120)) 2212 + - Add documentation category in changelog documentation. 2213 + ([!1878](https://gitlab.freedesktop.org/monado/monado/merge_requests/1878)) 2214 + - Add doxygen-awesome theme 2215 + ([!1883](https://gitlab.freedesktop.org/monado/monado/merge_requests/1883), 2216 + [!1888](https://gitlab.freedesktop.org/monado/monado/merge_requests/1888)) 2217 + - Don't build documentation by default, it is fairly heavy for end users. Also 2218 + makes the CI scripts cleaner as they don't need to disabled it everywhere. 2219 + ([!1891](https://gitlab.freedesktop.org/monado/monado/merge_requests/1891)) 2220 + - README: Add Debian/Ubuntu package for libudev. 2221 + ([!1918](https://gitlab.freedesktop.org/monado/monado/merge_requests/1918)) 2222 + - README: Clarify Vulkan SDK requirement on Windows. 2223 + ([!1919](https://gitlab.freedesktop.org/monado/monado/merge_requests/1919)) 2224 + - README: Add some Debian/Ubuntu packages. 2225 + ([!1923](https://gitlab.freedesktop.org/monado/monado/merge_requests/1923)) 2226 + - comments: Lots of smaller documentation comment fixes. 2227 + ([!1953](https://gitlab.freedesktop.org/monado/monado/merge_requests/1953), 2228 + [!2037](https://gitlab.freedesktop.org/monado/monado/merge_requests/2037), 2229 + [!2070](https://gitlab.freedesktop.org/monado/monado/merge_requests/2070), 2230 + [!2085](https://gitlab.freedesktop.org/monado/monado/merge_requests/2085)) 2231 + - Add page with information for Linux packagers. 2232 + ([!2195](https://gitlab.freedesktop.org/monado/monado/merge_requests/2195)) 2233 + - doc: Add Ubuntu 24.04 as supported OS [NFC] 2234 + ([!2202](https://gitlab.freedesktop.org/monado/monado/merge_requests/2202)) 2235 + - Misc. Features 2236 + - Add JSON Schema for config files. 2237 + ([!785](https://gitlab.freedesktop.org/monado/monado/merge_requests/785), 2238 + [#82](https://gitlab.freedesktop.org/monado/monado/issues/82)) 2239 + - Add `cmake-format` config files and `scripts/format-cmake.sh` to keep our build 2240 + system tidy. 2241 + ([!984](https://gitlab.freedesktop.org/monado/monado/merge_requests/984), 2242 + [#72](https://gitlab.freedesktop.org/monado/monado/issues/72), 2243 + [!1342](https://gitlab.freedesktop.org/monado/monado/merge_requests/1342)) 2244 + - Add Nix flake files so that people that use the nix package manager can have an 2245 + instant Monado development environment. 2246 + ([!2152](https://gitlab.freedesktop.org/monado/monado/merge_requests/2152)) 2247 + - Android: Update activity and service icons to the new official Monado logos, 2248 + and use a modified version for in-process builds to indicate they are mainly 2249 + for debugging. 2250 + ([!2208](https://gitlab.freedesktop.org/monado/monado/merge_requests/2208)) 2251 + - For code that is implemented in C++, note that the default standard mode is now 2252 + C++17 across all platforms and modules, instead of a mix of 14 and 17 like 2253 + before. The CI remains the decider of what functionality is available, as it 2254 + contains the oldest distribution we support (Debian Buster). 2255 + ([!809](https://gitlab.freedesktop.org/monado/monado/merge_requests/809)) 2256 + - Implement tracking overrides using wrapper devices and add a tracking override 2257 + configuration gui. 2258 + ([!695](https://gitlab.freedesktop.org/monado/monado/merge_requests/695)) 2259 + - In `flake.nix` and `flake.lock`, updates `nixpkgs` to the version where the 2260 + missing dependency was added. 2261 + ([!2184](https://gitlab.freedesktop.org/monado/monado/merge_requests/2184)) 2262 + - Introduce `.mailmap` file. 2263 + ([!2041](https://gitlab.freedesktop.org/monado/monado/merge_requests/2041)) 2264 + - Introduce visual-inertial tracking interface header and remove the old SLAM 2265 + tracker interface, remove XRT_HAVE_BASALT and XRT_HAVE_KIMERA from CMake 2266 + ([!2058](https://gitlab.freedesktop.org/monado/monado/merge_requests/2058)) 2267 + - More improvements to the Android port. 2268 + ([!676](https://gitlab.freedesktop.org/monado/monado/merge_requests/676), 2269 + [!703](https://gitlab.freedesktop.org/monado/monado/merge_requests/703), 2270 + [!783](https://gitlab.freedesktop.org/monado/monado/merge_requests/783), 2271 + [!808](https://gitlab.freedesktop.org/monado/monado/merge_requests/808), 2272 + [!817](https://gitlab.freedesktop.org/monado/monado/merge_requests/817), 2273 + [!820](https://gitlab.freedesktop.org/monado/monado/merge_requests/820), 2274 + [!918](https://gitlab.freedesktop.org/monado/monado/merge_requests/918), 2275 + [!920](https://gitlab.freedesktop.org/monado/monado/merge_requests/920), 2276 + [!942](https://gitlab.freedesktop.org/monado/monado/merge_requests/942), 2277 + [!1020](https://gitlab.freedesktop.org/monado/monado/merge_requests/1020), 2278 + [!1178](https://gitlab.freedesktop.org/monado/monado/merge_requests/1178), 2279 + [!1341](https://gitlab.freedesktop.org/monado/monado/merge_requests/1341), 2280 + [!1357](https://gitlab.freedesktop.org/monado/monado/merge_requests/1357), 2281 + [!1369](https://gitlab.freedesktop.org/monado/monado/merge_requests/1369), 2282 + [!1372](https://gitlab.freedesktop.org/monado/monado/merge_requests/1372), 2283 + [!1377](https://gitlab.freedesktop.org/monado/monado/merge_requests/1377), 2284 + [!1385](https://gitlab.freedesktop.org/monado/monado/merge_requests/1385), 2285 + [!2232](https://gitlab.freedesktop.org/monado/monado/merge_requests/2232), 2286 + [!2204](https://gitlab.freedesktop.org/monado/monado/merge_requests/2204)) 2287 + - More work on the Windows port: fix timing, waiting, sleeping, handling the 2288 + message queue. 2289 + ([!739](https://gitlab.freedesktop.org/monado/monado/merge_requests/739), 2290 + [!743](https://gitlab.freedesktop.org/monado/monado/merge_requests/743), 2291 + [!1322](https://gitlab.freedesktop.org/monado/monado/merge_requests/1322)) 2292 + - Sign main branch CI-generated APKs for Android release builds. 2293 + ([!2209](https://gitlab.freedesktop.org/monado/monado/merge_requests/2209)) 2294 + - a/gst: Add a small and fairly naive framework for integrating gstreamer 2295 + pipelines into Monado pipelines. Enough to be able to push frames into it 2296 + and use various encoder elements. 2297 + ([!715](https://gitlab.freedesktop.org/monado/monado/merge_requests/715), 2298 + [!1966](https://gitlab.freedesktop.org/monado/monado/merge_requests/1966)) 2299 + - cmake: remove unused ffmpeg dependency 2300 + ([!2122](https://gitlab.freedesktop.org/monado/monado/merge_requests/2122)) 2301 + - cmake: enable policy CMP0083 for position-independent-executable support 2302 + ([!2168](https://gitlab.freedesktop.org/monado/monado/merge_requests/2168), 2303 + [#337](https://gitlab.freedesktop.org/monado/monado/issues/337)) 2304 + - cmake: add VERSION and SOVERSION properties to monado shared library 2305 + ([!2170](https://gitlab.freedesktop.org/monado/monado/merge_requests/2170)) 2306 + - ext/imgui: Add helper to draw a image/texture with a cleared background color. 2307 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 2308 + - ext/openxr: Update headers to 1.0.28. 2309 + ([!1900](https://gitlab.freedesktop.org/monado/monado/merge_requests/1900)) 2310 + - ext/openxr: Bump OpenXR headers to 1.0.32 2311 + ([!2063](https://gitlab.freedesktop.org/monado/monado/merge_requests/2063), 2312 + [!2069](https://gitlab.freedesktop.org/monado/monado/merge_requests/2069)) 2313 + - ext/openxr: Bump OpenXR headers to 1.0.33 2314 + ([!2111](https://gitlab.freedesktop.org/monado/monado/merge_requests/2111)) 2315 + - ext/openxr: Bump OpenXR headers to 1.0.34 2316 + ([!2148](https://gitlab.freedesktop.org/monado/monado/merge_requests/2148)) 2317 + - external: Update android-jni-wrap, add additional wrapped methods. 2318 + ([!1939](https://gitlab.freedesktop.org/monado/monado/merge_requests/1939), 2319 + [!1963](https://gitlab.freedesktop.org/monado/monado/merge_requests/1963), 2320 + [!2176](https://gitlab.freedesktop.org/monado/monado/merge_requests/2176)) 2321 + - external/glad: Add EGL extension EGL_KHR_no_config_context. 2322 + ([!705](https://gitlab.freedesktop.org/monado/monado/merge_requests/705)) 2323 + - external/jni: Add argument to specify display mode id for surface creation. 2324 + ([!2010](https://gitlab.freedesktop.org/monado/monado/merge_requests/2010)) 2325 + - gui: Use a single imgui.ini file from the config directory 2326 + ([!1290](https://gitlab.freedesktop.org/monado/monado/merge_requests/1290)) 2327 + - imgui: Add ImPlot demo window. 2328 + ([!692](https://gitlab.freedesktop.org/monado/monado/merge_requests/692)) 2329 + - m/vec2: Add float array helper 2330 + ([!1928](https://gitlab.freedesktop.org/monado/monado/merge_requests/1928)) 2331 + - m/vec3: Add float array helper 2332 + ([!1928](https://gitlab.freedesktop.org/monado/monado/merge_requests/1928)) 2333 + - scripts: Add Include-What-You-Use (IWYU) helper scripts. 2334 + ([!1229](https://gitlab.freedesktop.org/monado/monado/merge_requests/1229)) 2335 + - t/cli: Add support for new dynamic device roles. 2336 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 2337 + - t/cli: Add support for `xrt_system`. 2338 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 2339 + - t/cli: Add new `info` command that prints information about the system, this is 2340 + for end-user reports of failurs to start `monado-service`. 2341 + ([!2094](https://gitlab.freedesktop.org/monado/monado/merge_requests/2094)) 2342 + - t/common: Refactor the builders so it will be easier to add hotswap support. 2343 + ([!1987](https://gitlab.freedesktop.org/monado/monado/merge_requests/1987)) 2344 + - t/common: Add support for new dynamic device roles. 2345 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 2346 + [!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992), 2347 + [!1999](https://gitlab.freedesktop.org/monado/monado/merge_requests/1999), 2348 + [#296](https://gitlab.freedesktop.org/monado/monado/issues/296), 2349 + [!2020](https://gitlab.freedesktop.org/monado/monado/merge_requests/2020)) 2350 + - t/common: Refactor lighthouse builder to use vive_builder helper. 2351 + ([!2008](https://gitlab.freedesktop.org/monado/monado/merge_requests/2008)) 2352 + - t/common: Add support for `xrt_system` and `xrt_session`. 2353 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 2354 + - t/common: Implement SteamVR builder. 2355 + ([!2077](https://gitlab.freedesktop.org/monado/monado/merge_requests/2077)) 2356 + - t/ctl: Use common client connection connect code. 2357 + ([!1875](https://gitlab.freedesktop.org/monado/monado/merge_requests/1875)) 2358 + - t/ctl: Support recentering of local spaces. 2359 + ([!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055)) 2360 + - t/libmonado: Add support for dynamic device roles. 2361 + ([!2013](https://gitlab.freedesktop.org/monado/monado/merge_requests/2013)) 2362 + - t/libmonado: Support recentering of local spaces. 2363 + ([!2055](https://gitlab.freedesktop.org/monado/monado/merge_requests/2055)) 2364 + - t/libmonado: Support getting serial number from the device. 2365 + ([!2099](https://gitlab.freedesktop.org/monado/monado/merge_requests/2099)) 2366 + - t/sdl_test: Use new OpenGL helpers to import swapchain images. 2367 + ([!1957](https://gitlab.freedesktop.org/monado/monado/merge_requests/1957)) 2368 + - t/sdl_test: Add support for new dynamic device roles. 2369 + ([!1992](https://gitlab.freedesktop.org/monado/monado/merge_requests/1992)) 2370 + - t/sdl_test: Add support for `xrt_system` and `xrt_session`, also remove old 2371 + events code. 2372 + ([!2062](https://gitlab.freedesktop.org/monado/monado/merge_requests/2062)) 2373 + - t/service-lib: Increase the duration of the starting timeout for the IPC. 2374 + ([!2015](https://gitlab.freedesktop.org/monado/monado/merge_requests/2015)) 2375 + - Misc. Fixes 2376 + - Allow OpenGL to be found on \*nix without requiring GLX, which should allow 2377 + a Wayland-only build. 2378 + ([!963](https://gitlab.freedesktop.org/monado/monado/merge_requests/963), 2379 + [#132](https://gitlab.freedesktop.org/monado/monado/issues/132)) 2380 + - Ensure we are always initializing our mutexes. 2381 + ([!737](https://gitlab.freedesktop.org/monado/monado/merge_requests/737)) 2382 + - Fix build issue with Wayland on some distributions. 2383 + ([!1396](https://gitlab.freedesktop.org/monado/monado/merge_requests/1396), 2384 + [#175](https://gitlab.freedesktop.org/monado/monado/issues/175)) 2385 + - Fix several minor bindings and input profile issues. 2386 + ([!2190](https://gitlab.freedesktop.org/monado/monado/merge_requests/2190)) 2387 + - Make config file reading more robust. 2388 + ([!785](https://gitlab.freedesktop.org/monado/monado/merge_requests/785)) 2389 + - Move C++-only functionality into the newly-conventional namespaces. 2390 + ([!810](https://gitlab.freedesktop.org/monado/monado/merge_requests/810)) 2391 + - Update vendored Catch2 to 2.13.10 to fix build issue. 2392 + ([!1561](https://gitlab.freedesktop.org/monado/monado/merge_requests/1561), 2393 + [#221](https://gitlab.freedesktop.org/monado/monado/issues/221)) 2394 + - Update outdated URLs, email addresses, and names. 2395 + ([!2041](https://gitlab.freedesktop.org/monado/monado/merge_requests/2041)) 2396 + - Update gitignore to exclude files intentionally in the repo. 2397 + ([!2137](https://gitlab.freedesktop.org/monado/monado/merge_requests/2137), 2398 + [#261](https://gitlab.freedesktop.org/monado/monado/issues/261)) 2399 + - Various small warning fixes all over the codebase. 2400 + ([!1869](https://gitlab.freedesktop.org/monado/monado/merge_requests/1869), 2401 + [!2126](https://gitlab.freedesktop.org/monado/monado/merge_requests/2126)) 2402 + - Various spelling fixes all over the codebase. 2403 + ([!1871](https://gitlab.freedesktop.org/monado/monado/merge_requests/1871)) 2404 + - build: Removed incorrect hidapi dependency from Rift S driver 2405 + ([!2227](https://gitlab.freedesktop.org/monado/monado/merge_requests/2227)) 2406 + - ci: Miscellaneous fixes, improvements, and updates. 2407 + ([!1886](https://gitlab.freedesktop.org/monado/monado/merge_requests/1886), 2408 + [!2029](https://gitlab.freedesktop.org/monado/monado/merge_requests/2029), 2409 + [!2031](https://gitlab.freedesktop.org/monado/monado/merge_requests/2031), 2410 + [!2122](https://gitlab.freedesktop.org/monado/monado/merge_requests/2122), 2411 + [!2181](https://gitlab.freedesktop.org/monado/monado/merge_requests/2181), 2412 + [!2196](https://gitlab.freedesktop.org/monado/monado/merge_requests/2196), 2413 + [!2197](https://gitlab.freedesktop.org/monado/monado/merge_requests/2197)) 2414 + - ci: use proclamation 2.0.0 2415 + ([!2123](https://gitlab.freedesktop.org/monado/monado/merge_requests/2123)) 2416 + - ci: Add CI for Ubuntu 24.04 2417 + ([!2202](https://gitlab.freedesktop.org/monado/monado/merge_requests/2202)) 2418 + - cmake: Build system will now error out, rather than silently disable the 2419 + option, 2420 + if you specifically enable an option whose dependencies are unavailable. 2421 + ([!1262](https://gitlab.freedesktop.org/monado/monado/merge_requests/1262)) 2422 + - cmake: Build system option `XRT_HAVE_SLAM` has been renamed to 2423 + `XRT_FEATURE_SLAM` to more accurately describe it, with corresponding move 2424 + from `xrt_config_have.h` to `xrt_config_build.h`. 2425 + ([!1262](https://gitlab.freedesktop.org/monado/monado/merge_requests/1262)) 2426 + - cmake: Handle multiple include of compiler flags. 2427 + ([!1882](https://gitlab.freedesktop.org/monado/monado/merge_requests/1882)) 2428 + - cmake: Fix GetGitRevisionDescription cmake module for MSys 2429 + ([!1944](https://gitlab.freedesktop.org/monado/monado/merge_requests/1944)) 2430 + - cmake: Fix build with SDL2 on Alpine Linux. 2431 + ([!2031](https://gitlab.freedesktop.org/monado/monado/merge_requests/2031)) 2432 + - cmake: Suppress warnings from external headers. 2433 + ([!2037](https://gitlab.freedesktop.org/monado/monado/merge_requests/2037)) 2434 + - cmake: Update CMake modules from upstream repositories. 2435 + ([!2040](https://gitlab.freedesktop.org/monado/monado/merge_requests/2040), 2436 + [!2041](https://gitlab.freedesktop.org/monado/monado/merge_requests/2041), 2437 + [!2045](https://gitlab.freedesktop.org/monado/monado/merge_requests/2045)) 2438 + - cmake: add wayland-client include directory to comp_main target 2439 + ([!2141](https://gitlab.freedesktop.org/monado/monado/merge_requests/2141)) 2440 + - d/twrap: Correct axis assignments for poses provided by basalt VIO/SLAM, so 2441 + they match the OpenXR axis definition. 2442 + ([!2228](https://gitlab.freedesktop.org/monado/monado/merge_requests/2228)) 2443 + - ext/oxr: Add missing headers for unpublished monado extensions: 2444 + `XR_MNDX_ball_on_a_stick_controller` and `XR_MNDX_hydra`. 2445 + ([!1890](https://gitlab.freedesktop.org/monado/monado/merge_requests/1890)) 2446 + - gitignore: Ignore pyenv local python version file 2447 + ([!2002](https://gitlab.freedesktop.org/monado/monado/merge_requests/2002)) 2448 + - gradle: Migrate deprecated gradle's flavorDimension and buildToolsVersion 2449 + ([!2002](https://gitlab.freedesktop.org/monado/monado/merge_requests/2002)) 2450 + - h/mercury: Fix warnings found with GCC 13. 2451 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 2452 + - jnipp: Update/patch to fix issues, including crashes. 2453 + ([!2200](https://gitlab.freedesktop.org/monado/monado/merge_requests/2200), 2454 + [!2226](https://gitlab.freedesktop.org/monado/monado/merge_requests/2226)) 2455 + - misc: Various NFC format fixes and a removal of unused define. 2456 + ([!1946](https://gitlab.freedesktop.org/monado/monado/merge_requests/1946)) 2457 + - scripts: Add regex based ignores for codespell, needed because the ignore words 2458 + list isn't properly case sensitive. 2459 + ([!1861](https://gitlab.freedesktop.org/monado/monado/merge_requests/1861)) 2460 + - t/android_common: Specify mutability flag for PendingIntent object, required 2461 + for Android S+ (version 31 and above). 2462 + ([!1948](https://gitlab.freedesktop.org/monado/monado/merge_requests/1948)) 2463 + - t/common: Make it possible to build the RGB builder without PSVR driver. 2464 + ([!1918](https://gitlab.freedesktop.org/monado/monado/merge_requests/1918)) 2465 + - t/common: Fix warnings found with GCC 13. 2466 + ([!1921](https://gitlab.freedesktop.org/monado/monado/merge_requests/1921)) 2467 + - t/common: Fix building the Lighthouse builder without the Vive driver. 2468 + ([!1922](https://gitlab.freedesktop.org/monado/monado/merge_requests/1922)) 2469 + - t/common: Fix creation on no driver available, only say we 2470 + can create a system if we have a driver in legacy builder. 2471 + ([!1996](https://gitlab.freedesktop.org/monado/monado/merge_requests/1996)) 2472 + - t/common: Use new `u_builder` helper in most builder. 2473 + ([!2057](https://gitlab.freedesktop.org/monado/monado/merge_requests/2057)) 2474 + - t/ctl: Use correct ipc call for toggling client I/O. 2475 + ([!1909](https://gitlab.freedesktop.org/monado/monado/merge_requests/1909)) 2476 + - t/north_star: In the North Star builder, add the SLAM device after 2477 + the HMD device to avoid monado-service crash due to misordering. 2478 + ([!2228](https://gitlab.freedesktop.org/monado/monado/merge_requests/2228)) 2479 + - t/sdl_test: Compile as UTF-8 to fix MSVC warning. 2480 + ([!1816](https://gitlab.freedesktop.org/monado/monado/merge_requests/1816)) 2481 + - t/sdl_test: sdl-test needs OpenGL4.5 2482 + ([!1945](https://gitlab.freedesktop.org/monado/monado/merge_requests/1945)) 2483 + - vcpkg: Remove SDL "base" feature. It has been removed upstream, see 2484 + [MR](https://github.com/microsoft/vcpkg/commit/ea9f45d1bc03efbf43a3bbd0788d6a43 2485 + 3b8fe445). 2486 + Monado builds on Windows and the debug gui works (`XRT_DEBUG_GUI=1`). 2487 + ([!2065](https://gitlab.freedesktop.org/monado/monado/merge_requests/2065)) 7 2488 8 2489 ## Monado 21.0.0 (2021-01-28) 9 2490
-1
doc/changes/auxiliary/mr.1005.md
··· 1 - t/file: Migrate calibration file format to JSON.
-2
doc/changes/auxiliary/mr.1016.md
··· 1 - t/slam: Update SLAM interface to support dynamically query external systems for 2 - special features.
-1
doc/changes/auxiliary/mr.1017.md
··· 1 - t/euroc: Add EuRoC dataset recorder for saving camera and IMU streams to disk.
-1
doc/changes/auxiliary/mr.1060.md
··· 1 - t/slam: Add naive prediction to the SLAM tracker.
-1
doc/changes/auxiliary/mr.1067.md
··· 1 - t/slam: Add trajectory filters and use IMU for prediction in the SLAM tracker.
-1
doc/changes/auxiliary/mr.1074.md
··· 1 - u/config_json: Add functionality to save/load gui state to file.
-6
doc/changes/auxiliary/mr.1081.md
··· 1 - --- 2 - - mr.1081 3 - - mr.1104 4 - --- 5 - u/pacing: Renames and improvements for frame pacing (formerly known as render 6 - and display timing) code and APIs.
-3
doc/changes/auxiliary/mr.1128.md
··· 1 - vk: Refactor and rename various function related to compositor swapchain 2 - images and their flags. These changes makes it clear it's only used for these 3 - images and image views.
-1
doc/changes/auxiliary/mr.1142.1.md
··· 1 - vk: Check which fence types can be imported and exported on the device.
-1
doc/changes/auxiliary/mr.1152.md
··· 1 - t/slam: Add tools for performance and accuracy evaluation of the SLAM tracker.
-1
doc/changes/auxiliary/mr.1166.md
··· 1 - vk: Add `XRT_CHECK_RESULT` to sync functions.
-1
doc/changes/auxiliary/mr.1171.md
··· 1 - u/logging: Add logging sink to intercept log messages.
-2
doc/changes/auxiliary/mr.1172.md
··· 1 - t/cli: Add monado-cli slambatch command for evaluation of SLAM datasets in 2 - batch.
-1
doc/changes/auxiliary/mr.1203.1.md
··· 1 - vk: Refactor bundle functions into a file of their own.
-6
doc/changes/auxiliary/mr.1203.2.md
··· 1 - --- 2 - - mr.1203 3 - - mr.1942 4 - --- 5 - 6 - vk: Separate printing functions into their own file.
-1
doc/changes/auxiliary/mr.1265.md
··· 1 - 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
doc/changes/auxiliary/mr.1270.1.md
··· 1 - vk: Print out information about the opened device.
-2
doc/changes/auxiliary/mr.1270.2.md
··· 1 - vk: Make `VK_KHR_external_[fence|semaphore]_fd` optional. This is helpful for CI 2 - where only lavapipe can be used which does not support those extensions.
-1
doc/changes/auxiliary/mr.1271.1.md
··· 1 - u/pacing: Make present_to_display_offset_ns more clear by changing the name.
-1
doc/changes/auxiliary/mr.1271.2.md
··· 1 - u/pacing: Predict present time and then calculate display time in fake pacer.
-2
doc/changes/auxiliary/mr.1271.3.md
··· 1 - u/pacing: Make the comp time be at least 2ms in fake pacer, this is a more 2 - conservative margin for when the fake pacer is used for real hardware.
-2
doc/changes/auxiliary/mr.1271.4.md
··· 1 - u/pacing: Add vblank timing function for display control, lets the fake pacer 2 - properly synchronise with hardware.
-1
doc/changes/auxiliary/mr.1291.md
··· 1 - u/aeg: Implement module for auto exposure and gain to help with SLAM tracking.
-9
doc/changes/auxiliary/mr.1320.md
··· 1 - --- 2 - - mr.1320 3 - - mr.1324 4 - - mr.1329 5 - - mr.1353 6 - --- 7 - os: Rename threading functions to more clearly state that it both stops and 8 - waits on the thread. Also add asserts to make sure primitives have been 9 - initialized.
-2
doc/changes/auxiliary/mr.1328.md
··· 1 - cmake: Split the CMakeLists.txt out into the sub-directories of each library, 2 - making each much more manageable when editing.
-2
doc/changes/auxiliary/mr.1334.md
··· 1 - t/slam: Support calibration info from drivers and sending it to the external 2 - SLAM system.
-2
doc/changes/auxiliary/mr.1404.md
··· 1 - vk: Relax the compute-only queue search to fall back to any queue that supports 2 - compute.
-1
doc/changes/auxiliary/mr.1475.md
··· 1 - u/logging: Log to stderr in Windows.
-7
doc/changes/auxiliary/mr.1512.md
··· 1 - --- 2 - - mr.1521 3 - - mr.1579 4 - --- 5 - 6 - u/metrics: Add code that allows writing various metrics information that can 7 - then be processed for a better view into the run.
-3
doc/changes/auxiliary/mr.1584.md
··· 1 - u/windows: Add helper code for various bits of Windows related things, like 2 - formatting error numbers into error messages. Also functions related to 3 - cpu priority and privilege granting of rights.
-1
doc/changes/auxiliary/mr.1585.md
··· 1 - os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper
-1
doc/changes/auxiliary/mr.1590.md
··· 1 - math: Add clock_offset utility to estimate offset between clocks
-1
doc/changes/auxiliary/mr.1621.md
··· 1 - u/space_overseer: Make it possible set root as unbounded.
-1
doc/changes/auxiliary/mr.1748.1.md
··· 1 - vk: Add new command buffer helpers and `vk_cmd_pool` helper class.
-1
doc/changes/auxiliary/mr.1748.2.md
··· 1 - vk: Remove the global command buffer pool.
-2
doc/changes/auxiliary/mr.1763.md
··· 1 - vk: Refactor `vk_csci_get_image_usage_flags` to not always set the sampled bit 2 - and other bits that where always set. Also tidy with a nice define for checking.
-2
doc/changes/auxiliary/mr.1766.1.md
··· 1 - vk: Add new cmd buffer helper file `vk_cmd.[h|c]`, these does not use the global 2 - command pool.
-1
doc/changes/auxiliary/mr.1766.2.md
··· 1 - vk: Add copy and blit command buffer writer helpers to `vk_cmd.[h|c]`.
-1
doc/changes/auxiliary/mr.1792.1.md
··· 1 - vive: Tidy the files a lot, break the calibration getters out into own file.
-1
doc/changes/auxiliary/mr.1792.2.md
··· 1 - vive: Move the view fov calculation into the config file helper.
-1
doc/changes/auxiliary/mr.1792.3.md
··· 1 - vive: Add hardcoded tweaks for view FoV values.
-1
doc/changes/auxiliary/mr.1796.md
··· 1 - t/slam: Add basic tracing support.
-1
doc/changes/auxiliary/mr.1801.1.md
··· 1 - vk: Add `vk_surface_info` helper for `VkSurfaceKHR` information gathering.
-1
doc/changes/auxiliary/mr.1801.2.md
··· 1 - u/pacing: Add variable tracking to fake pacer.
-1
doc/changes/auxiliary/mr.1809.1.md
··· 1 - u/time: Add helper to go from milliseconds to nanoseconds.
-1
doc/changes/auxiliary/mr.1809.2.md
··· 1 - u/pacing: General improvements.
-1
doc/changes/auxiliary/mr.1809.3.md
··· 1 - u/pacing: Add minimum compositor frame time.
-5
doc/changes/auxiliary/mr.1809.4.md
··· 1 - --- 2 - - mr.1809 3 - - mr.1828 4 - --- 5 - u/pacing: Add minimum application frame time.
-1
doc/changes/auxiliary/mr.1810.md
··· 1 - u/fifo: Doc comments, and small improvements to the C++ wrapper helper.
-1
doc/changes/auxiliary/mr.1814.md
··· 1 - u/debug_gui: Small refactor of loop and and tracing.
-1
doc/changes/auxiliary/mr.1820.1.md
··· 1 - vk: Expand readback pool to be able to set Vulkan format.
-1
doc/changes/auxiliary/mr.1827.md
··· 1 - u/var: Improve documentation.
-1
doc/changes/auxiliary/mr.1828.1.md
··· 1 - u/pacing: Add variable tracking integration to app pacer.
-1
doc/changes/auxiliary/mr.1828.2.md
··· 1 - u/pacing: Add env variable to set present to display offset.
-2
doc/changes/auxiliary/mr.1831.md
··· 1 - u/file: Search more paths, and actually test if a directory is there, for 2 - hand-tracking models.
-1
doc/changes/auxiliary/mr.1836.md
··· 1 - bindings: Add support for eye gaze bindings extension.
-1
doc/changes/auxiliary/mr.1860.1.md
··· 1 - bindings: Add generic vive tracker input and output bindings, not used for now.
-1
doc/changes/auxiliary/mr.1860.2.md
··· 1 - vive: Add support for Gen 3.0 and Tundra trackers.
-1
doc/changes/auxiliary/mr.1862.md
··· 1 - vive: Refactor documentation and move VID and PID defines here.
-6
doc/changes/auxiliary/mr.1865.1.md
··· 1 - --- 2 - - mr.1865 3 - - mr.1923 4 - --- 5 - u/truncate_printf: Add helpers that have the semantics we want for the printf 6 - functions [vn|sn]printf.
-4
doc/changes/auxiliary/mr.1865.2.md
··· 1 - --- 2 - - mr.1879 3 - --- 4 - u/logging: Truncate the output of hexdump at a safer limit (16MB).
-6
doc/changes/auxiliary/mr.1865.3.md
··· 1 - --- 2 - - mr.1865 3 - - mr.1892 4 - --- 5 - u/logging: Refactor printing to be safer using truncating helpers, and increase 6 - the reuse of code.
-1
doc/changes/auxiliary/mr.1865.4.md
··· 1 - u/logging: Make the CMake variable only be true on Linux.
-1
doc/changes/auxiliary/mr.1874.1.md
··· 1 - u/debug: Refactor code to be prettier and expose more conversion functions.
-3
doc/changes/auxiliary/mr.1874.2.md
··· 1 - u/debug: Use system properties on Android for the debug settings, properties 2 - are prefixed with `debug.xrt.` so the property for `XRT_LOG` is 3 - `debug.xrt.XRT_LOG`.
-2
doc/changes/auxiliary/mr.1877.1.md
··· 1 - vk: Add helper function to name Vulkan objects using `VK_EXT_debug_marker`, useful 2 - when debugging validation errors.
-1
doc/changes/auxiliary/mr.1877.2.md
··· 1 - vk: Name all fence objects with helpers.
-2
doc/changes/auxiliary/mr.1881.md
··· 1 - u/linux: Add code that raises the priority of the calling thread to realtime, 2 - requires the process to be run as root or have `CAP_SYS_NICE` set.
-1
doc/changes/auxiliary/mr.1885.1.md
··· 1 - vk: Add two call helper for getting instance extensions, and use it.
-5
doc/changes/auxiliary/mr.1885.2.md
··· 1 - --- 2 - - mr.1885 3 - - mr.1973 4 - --- 5 - vk: Add function to check required instance extensions.
-1
doc/changes/auxiliary/mr.1890.md
··· 1 - bindings: Correct ML2 controller extension string.
-5
doc/changes/auxiliary/mr.1894.md
··· 1 - --- 2 - - mr.1894 3 - - mr.1940 4 - --- 5 - - vk: Add and use enumeration helpers.
-2
doc/changes/auxiliary/mr.1896.1.md
··· 1 - u/pp: Pretty print support for new `xrt_input_name` entry, 2 - `XRT_INPUT_GENERIC_PALM_POSE` for `XR_EXT_palm_pose`.
-4
doc/changes/auxiliary/mr.1896.2.md
··· 1 - a/bindings: Interaction profile inheritance, support data-inheritance in 2 - bindings.json, add a new concept of virtual profiles for profile like extensions 3 - (e.g. `XR_EXT_palm_pose`) which do not define a profile themselves but require 4 - their newly defined actions to be supported by all profiles.
-1
doc/changes/auxiliary/mr.1898.md
··· 1 - u/logging: Add json logging, it can be enabled via the XRT_JSON_LOG env var.
-3
doc/changes/auxiliary/mr.1901.md
··· 1 - a/bindings: Add support for `XR_EXT_hand_interaction` profile - Updates 2 - bindings & pretty-print for newly added support for `XR_EXT_hand_interaction` 3 - profile.
-1
doc/changes/auxiliary/mr.1902.1.md
··· 1 - u/var: Improve documentation and make `suffix_with_number` argument clearer.
-1
doc/changes/auxiliary/mr.1902.2.md
··· 1 - u/var: Refactor code to make it easier to search for number objects.
-2
doc/changes/auxiliary/mr.1903.md
··· 1 - bindings: Add system buttons to WinMR controllers, for OpenXR gate them behind 2 - the XR_MNDX_system_buttons extension.
-1
doc/changes/auxiliary/mr.1904.md
··· 1 - bindings: Add OPPO MR controller profile.
-1
doc/changes/auxiliary/mr.1907.md
··· 1 - android: Tidy code and add warning on not getting refresh rate.
-1
doc/changes/auxiliary/mr.1911.md
··· 1 - vive: Add support for HTC Vive Pro 2
-2
doc/changes/auxiliary/mr.1915.md
··· 1 - bindings: Replaces the `monado_device` entry for `XR_EXT_hand_interaction` in 2 - bindings.json to refer to a new device name type.
-2
doc/changes/auxiliary/mr.1920.1.md
··· 1 - d3d: Add a D3D12 allocator, certain use-cases in D3D12 requires the resource 2 - to be allocated directly in D3D12, like multi-gpu.
-2
doc/changes/auxiliary/mr.1920.2.md
··· 1 - d3d: Add copy D3D12 helper functions, needed to work around issues with layout 2 - on small textures on NVIDIA hardware.
-1
doc/changes/auxiliary/mr.1921.md
··· 1 - t/psvr: Fix warnings found with GCC 13.
-1
doc/changes/auxiliary/mr.1929.md
··· 1 - vive: Add C++ guards to poses header.
-1
doc/changes/auxiliary/mr.1931.md
··· 1 - u/generic_callbacks: Fix missing include for generic callback structure.
-1
doc/changes/auxiliary/mr.1933.md
··· 1 - os/threading: Add mutex recursive wrapper.
-1
doc/changes/auxiliary/mr.1937.1.md
··· 1 - t/euroc: Allow euroc recorder to start and stop recordings in the same session
-1
doc/changes/auxiliary/mr.1937.2.md
··· 1 - a/vive: Add FoV tweaks for another index HMD
-1
doc/changes/auxiliary/mr.1937.3.md
··· 1 - external/slam: Update to 7.0.0 with RESET_TRACKER_STATE and ignore masks
-1
doc/changes/auxiliary/mr.1937.4.md
··· 1 - t/slam: Add reset state button
-1
doc/changes/auxiliary/mr.1937.5.md
··· 1 - t/slam: Turn timestamp asserts into warnings
-1
doc/changes/auxiliary/mr.1937.md
··· 1 - h/mercury: Add min detection confidence option
-1
doc/changes/auxiliary/mr.1940.2.md
··· 1 - vk: Add string return function for VkSharingMode.
-2
doc/changes/auxiliary/mr.1940.3.md
··· 1 - vk: Add string return functions for bitfield values, also improving the old 2 - bitfield string functions. The new way lets the caller deal with unknown bits.
-1
doc/changes/auxiliary/mr.1940.5.md
··· 1 - vk: Add printers for `VkSurface` and `VkSwapchain` create info structs.
-1
doc/changes/auxiliary/mr.1942.1.md
··· 1 - vk: When listing GPUs, also output device type.
-1
doc/changes/auxiliary/mr.1942.2.md
··· 1 - vk: Make sure to print the first GPU as well when selecting physical device.
-1
doc/changes/auxiliary/mr.1957.1.md
··· 1 - ogl: Add various helper functions, and tidy code a bit.
-1
doc/changes/auxiliary/mr.1957.2.md
··· 1 - util: Add code to get a limited unique id, it's a simple 64 bit atomic counter.
-1
doc/changes/auxiliary/mr.1959.md
··· 1 - vk: Init vk bundle with `shaderImageGatherExtended` enabled if supported.
-1
doc/changes/auxiliary/mr.1960.md
··· 1 - vive: Fix use after free, probably left over since refactor.
-1
doc/changes/auxiliary/mr.1961.md
··· 1 - pacing: Add minimum app margin, also add `U_PACING_APP_MIN_MARGIN_MS` env var.
-1
doc/changes/auxiliary/mr.1963.md
··· 1 - android: Support creating surface with title.
-6
doc/changes/auxiliary/mr.1971.1.md
··· 1 - --- 2 - - mr.1971 3 - - mr.1417 4 - --- 5 - vk: Rename and add more variants of return checking defines, making the define 6 - now be all caps so it's easier to see if it effects flow control.
-6
doc/changes/auxiliary/mr.1971.2.md
··· 1 - --- 2 - - mr.1971 3 - - mr.2050 4 - --- 5 - vk: Add `vk_print_result` helper, used in return checking defines but can also 6 - be used outside of them.
-3
doc/changes/auxiliary/mr.1971.3.md
··· 1 - vk: Add two mini define helpers in their own header (`D` and `DF`) which was 2 - redefined in multiple places in the source code. Keep in own header to not 3 - clutter namespace.
-1
doc/changes/auxiliary/mr.1971.md
··· 1 - vk: Use `VK_CHK_WITH_RET` instead of `vk_check_error`.
-1
doc/changes/auxiliary/mr.1977.md
··· 1 - system_helpers: Make system devices easier to embed.
-1
doc/changes/auxiliary/mr.1978.1.md
··· 1 - math: Minor tidy of `m_api.h`, `m_base.cpp` and `CMakeLists.txt`.
-1
doc/changes/auxiliary/mr.1978.2.md
··· 1 - math: Add function to calculate a vulkan infinite reverse projection matrix.
-1
doc/changes/auxiliary/mr.1987.1.md
··· 1 - u/system_helpers: Refactor hand-tracker helper getters.
-1
doc/changes/auxiliary/mr.1987.2.md
··· 1 - u/builders: Refactor space overseer creation helper.
-1
doc/changes/auxiliary/mr.1992.md
··· 1 - u/system_helpers: Add static system device helper.
-1
doc/changes/auxiliary/mr.2000.md
··· 1 - t/slam: Use locks for CSV writers
-1
doc/changes/auxiliary/mr.2005.md
··· 1 - vk: Add debug inserting helper function and use it for inserting renderdoc frame delimiter in Vulkan client
-7
doc/changes/auxiliary/mr.2006.md
··· 1 - --- 2 - - mr.2006 3 - - mr.2014 4 - --- 5 - vk: Change the naming function to use the extension `VK_EXT_debug_utils`, which 6 - has been included in core with 1.3, instead of the old `VK_EXT_debug_marker` 7 - extension. Also make the naming function type safe.
-1
doc/changes/auxiliary/mr.2008.md
··· 1 - vive: Add builder helper to allow sharing of estimation code.
-1
doc/changes/auxiliary/mr.2010.md
··· 1 - android: Add argument to specify display mode id for surface creation.
-2
doc/changes/auxiliary/mr.2018.md
··· 1 - u/space: Add local_floor to legacy helper function, making most builders support 2 - it automatically.
-1
doc/changes/auxiliary/mr.2023.2.md
··· 1 - u/device: Improve comment on u_device_get_view_poses.
-1
doc/changes/auxiliary/mr.2039.1.md
··· 1 - u/device: Add default, no-op and not implemented function helpers.
-1
doc/changes/auxiliary/mr.2042.md
··· 1 - vk: Fix swapchain leak on Android due to it having different Vulkan import behavior.
-1
doc/changes/auxiliary/mr.2048.md
··· 1 - u/space_overseer: Add support for reference space usage.
-6
doc/changes/auxiliary/mr.2049.md
··· 1 - --- 2 - - mr.2049 3 - - mr.2100 4 - --- 5 - 6 - vk: Use formats list from `xrt_swapchain_create_info` in `create_image`.
-1
doc/changes/auxiliary/mr.2055.md
··· 1 - u/space_overseer: Implement recentering for supported setups.
-1
doc/changes/auxiliary/mr.2056.md
··· 1 - tracking: Tidy and improve `xrt::auxiliary::tracking::FrameMat`.
-7
doc/changes/auxiliary/mr.2057.md
··· 1 - --- 2 - - mr.2057 3 - - mr.2072 4 - --- 5 - u/builder: Introduce new `u_builder` to make it easier to implement the 6 - interface function `xrt_builder::open_system`. Allowing lots of de-duplication 7 - of code that was exactly the same in most builders.
-6
doc/changes/auxiliary/mr.2058.md
··· 1 - --- 2 - - mr.2058 3 - - mr.2125 4 - - mr.2144 5 - --- 6 - 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.2062.1.md
··· 1 - u/system: Add helper to implement `xrt_system`.
-1
doc/changes/auxiliary/mr.2062.2.md
··· 1 - u/session: Add helper to implement `xrt_session`.
-1
doc/changes/auxiliary/mr.2068.md
··· 1 - u/frame_times_widget: Optimize FPS calculation using precomputed frame timings.
-1
doc/changes/auxiliary/mr.2069.md
··· 1 - misc: Fix double free when shrinking typed array to zero.
-7
doc/changes/auxiliary/mr.2076.md
··· 1 - --- 2 - - mr.2076 3 - - mr.2084 4 - --- 5 - u/pacing: Add option U_PACING_APP_USE_MIN_FRAME_PERIOD to allow selecting the 6 - minimal frame period instead of calculated for pacing. The app is still being 7 - throttled, it's just different.
-2
doc/changes/auxiliary/mr.2081.md
··· 1 - u/space_overseer: Use broadcast event sink for reference space changes, 2 - generates `xrt_session_event_reference_space_change_pending` events.
-6
doc/changes/auxiliary/mr.2086.md
··· 1 - 2 - - u/u_config_json: Added new parameter `uint32_t *out_view_count` to the function `u_config_json_get_remote_settings` to provide the ability to retrieve the view count from the remote settings. 3 - 4 - - u/device: Added new function `u_device_setup_one_eye`. 5 - 6 - - u/u_distortion: Modified the function `u_distortion_cardboard_calculate` to accept a new parameter `struct xrt_device *xdev` for retrieving the `view_count` from the device. This `view_count` is then used for parameter settings, enhancing the functionality and flexibility of the distortion calculation.
-1
doc/changes/auxiliary/mr.2091.md
··· 1 - u/space_overseer: Notify the device about reference space usage.
-1
doc/changes/auxiliary/mr.2092.1.md
··· 1 - u/pp: Tidy and add more entries to enum printing functions.
-1
doc/changes/auxiliary/mr.2092.2.md
··· 1 - u/pp: Add `xrt_reference_space_type` printing.
-1
doc/changes/auxiliary/mr.2100.md
··· 1 - vk: Pass create mutable format bit if usage flag is set.
-2
doc/changes/auxiliary/mr.2103.1.md
··· 1 - vk: Return `VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT` for 2 - `XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS` from `vk_csci_get_image_usage_flags`.
-2
doc/changes/auxiliary/mr.2103.2.md
··· 1 - u/native_images_debug: Add `u_native_images_debug` and `u_swapchain_debug` to 2 - debug `xrt_image_native` and `xrt_swapchain_native` content.
-1
doc/changes/auxiliary/mr.2103.3.md
··· 1 - u/var: Add `u_native_images_debug` as a tracked variable.
-3
doc/changes/auxiliary/mr.2104.md
··· 1 - - vk: Add enumerators for two surface properties. 2 - - vk: Add `vk_enumerate_swapchain_images`. 3 - - vk: Tidy surface info function.
-1
doc/changes/auxiliary/mr.2106.md
··· 1 - math: Refactor m_clock_offset_a2b to avoid precision problems.
-1
doc/changes/auxiliary/mr.2108.1.md
··· 1 - u/live_stats: Add helper to do live statistics on nano-seconds durations.
-1
doc/changes/auxiliary/mr.2108.2.md
··· 1 - u/pacing: Split submit timing into begin and end.
-1
doc/changes/auxiliary/mr.2108.3.md
··· 1 - u/pacing: Keep track of frame times in fake pacer.
-1
doc/changes/auxiliary/mr.2108.4.md
··· 1 - u/pacing: Do live stats tracking in fake pacer.
-1
doc/changes/auxiliary/mr.2127.md
··· 1 - os/threading: fix assert in debug build
-1
doc/changes/auxiliary/mr.2131.2.md
··· 1 - t/slam: Send hand tracking masks to VIT system
-1
doc/changes/auxiliary/mr.2131.3.md
··· 1 - u/space: Fix build warning because of non-void function not returning
-4
doc/changes/auxiliary/mr.2131.md
··· 1 - --- 2 - - mr.2132 3 - --- 4 - t/slam: Use newly-extracted "VIT" (visual-inertial tracking) interface project, version 2.0.1, to connect to SLAM trackers.
-1
doc/changes/auxiliary/mr.2133.1.md
··· 1 - a/math: Fix const-correctness in m_relation_history
-1
doc/changes/auxiliary/mr.2133.2.md
··· 1 - a/util: Fix crash bug with XR_EXT_dpad_binding after multiple session re-runs.
-1
doc/changes/auxiliary/mr.2147.md
··· 1 - aux/debug_ui: bump the minimum gl version to 4.5
-1
doc/changes/auxiliary/mr.2164.md
··· 1 - - u/file: Changed file open mode from "r" to "rb" to ensure binary mode is used for reading the file. This resolves an issue where file size and read size were inconsistent on Windows platform.
-1
doc/changes/auxiliary/mr.2169.md
··· 1 - a/util: Fix missing lib in cmake file for building `mercury_steamvr_driver`
-1
doc/changes/auxiliary/mr.2177.md
··· 1 - 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`.
-1
doc/changes/auxiliary/mr.2186.md
··· 1 - math: Refactor apply_relation to handle valid/tracked flags more like OpenXR.
-1
doc/changes/auxiliary/mr.2192.md
··· 1 - When a space is located in itself as base space, skip locating the space altogether.
-4
doc/changes/auxiliary/mr.2205.md
··· 1 - vk: Extend command buffer wait timeout to ~10 seconds. This is necessary because 2 - in some platforms (such as Windows 10, NVIDIA RTX 3080Ti) the OpenXR CTS will 3 - trigger an issue when the GPU memory fills, where the system hangs for over one 4 - second during a paging queue operation.
-1
doc/changes/auxiliary/mr.2239.md
··· 1 - math: Restore upgrading of 3DOF relations with valid positions to ensure 3DOF devices have monado's 3DOF offset.
-3
doc/changes/auxiliary/mr.697.1.md
··· 1 - u/trace_marker: Add trace marker support code, this code uses the Linux 2 - trace_marker kernel support to enable Monado to trace both function calls and 3 - other async events.
-2
doc/changes/auxiliary/mr.697.2.md
··· 1 - u/pacing: Add frame timing helper code designed to use Vulkan display timing 2 - extensions to get proper frame timing in the compositor.
-1
doc/changes/auxiliary/mr.717.md
··· 1 - m/3dof: Add assert to catch time traveling drivers.
-1
doc/changes/auxiliary/mr.721.1.md
··· 1 - u/time: Add helper comparison functions.
-8
doc/changes/auxiliary/mr.721.2.md
··· 1 - --- 2 - - mr.721.2 3 - - mr.721 4 - - mr.841 5 - - mr.1142.2 6 - - mr.1820.2 7 - --- 8 - - vk: Add more functions to `vk_bundle` struct.
-3
doc/changes/auxiliary/mr.721.3.md
··· 1 - u/timing: A rather large refactor that turns makes the rendering timing helper 2 - be more like the frame timing helper. This also makes the rendering timing 3 - adjust the frame timing of the app so that latency is reduced.
-1
doc/changes/auxiliary/mr.735.1.md
··· 1 - math: Fix for M_PI on Windows.
-2
doc/changes/auxiliary/mr.735.2.md
··· 1 - u/logging: Fix the first message always getting printed due to un-initialized 2 - variable.
-4
doc/changes/auxiliary/mr.811.md
··· 1 - --- 2 - - mr.840 3 - --- 4 - u/trace_marker: Switch from homegrown tracing code to using Percetto/Perfetto.
-2
doc/changes/auxiliary/mr.825.md
··· 1 - t/fm: Add simple FrameMat that wraps a cv::Mat, this allows us to easily pass 2 - cv::Mat's around without the C code needing to know about OpenCV.
-4
doc/changes/auxiliary/mr.839.1.md
··· 1 - u/device: Added `u_device_2d_extents` and 2 - `u_setup_2d_extents_split_side_by_side`, this is hopefully to eliminate 3 - confusion: the FOV you had to give to `u_device_split_side_by_side` was a 4 - placeholder value, but some people thought it was the actual headset's FOV.
-1
doc/changes/auxiliary/mr.839.2.md
··· 1 - math: Add `math_map_ranges` function, does the same thing as Arduino's `map`.
-1
doc/changes/auxiliary/mr.841.2.md
··· 1 - vk: Make it possible to create a compute only queue.
-1
doc/changes/auxiliary/mr.841.3.md
··· 1 - vk: Refactor and tidy extension handling.
-1
doc/changes/auxiliary/mr.841.4.md
··· 1 - vk: Add support for `VK_EXT_robustness2`
-1
doc/changes/auxiliary/mr.841.5.md
··· 1 - vk: Add code to handle optional device features.
-1
doc/changes/auxiliary/mr.858.1.md
··· 1 - u/trace_marker: Add sink categories.
-1
doc/changes/auxiliary/mr.858.2.md
··· 1 - u/sink: Add tracing support to sink functions.
-1
doc/changes/auxiliary/mr.858.3.md
··· 1 - t/hsv: Add tracing support for timing info.
-2
doc/changes/auxiliary/mr.859.1.md
··· 1 - t/calibration: Add support for RGB image streams, also add a special sink 2 - converter helper to handle this case.
-1
doc/changes/auxiliary/mr.859.2.md
··· 1 - t/calibration: Make it possible to select number distortion parameters.
-1
doc/changes/auxiliary/mr.889.md
··· 1 - t/slam: Initial external SLAM tracking support, working with fork of Kimera-VIO.
-1
doc/changes/auxiliary/mr.911.md
··· 1 - t/calibration: Add support for findChessboardCornersSB in calibration code.
-1
doc/changes/auxiliary/mr.934.md
··· 1 - u/sink: Add a combiner sink that combines two frames into a stereo frame
-1
doc/changes/auxiliary/mr.941.md
··· 1 - t/slam: Add Basalt as a possible external SLAM system.
-8
doc/changes/auxiliary/mr.943.md
··· 1 - --- 2 - - mr.943 3 - - mr.1326 4 - - mr.1302 5 - - mr.1337 6 - --- 7 - d3d: Add D3D helpers used by various parts of Monado, mostly the D3D11 client 8 - compositor.
-1
doc/changes/auxiliary/mr.957.md
··· 1 - u/json: Add cJSON C++ wrapper.
-2
doc/changes/auxiliary/mr.977.md
··· 1 - all: Rename all `num_` parameters and fields, typically to `_count`, to match 2 - OpenXR convention.
-1
doc/changes/auxiliary/mr.982.md
··· 1 - vk: Add helpers to manage command buffers and create various state objects.
-10
doc/changes/big/mr.1576.md
··· 1 - --- 2 - - mr.1576 3 - - mr.1577 4 - - mr.1579 5 - - mr.1598 6 - - mr.1827 7 - --- 8 - Added [Tracy](https://github.com/wolfpld/tracy) as a supported tracing backend, 9 - it joins the [Perfetto](https://perfetto.dev/) backend. Tracy works on Windows, 10 - but doesn't support full system tracing or multi app as well as Perfetto.
-8
doc/changes/big/mr.1798.md
··· 1 - --- 2 - - mr.1798 3 - - mr.1989 4 - - mr.2150 5 - - issue.330 6 - - mr.2172 7 - --- 8 - - Add driver for XREAL (formerly nreal) Air glasses, the device features 3dof tracking. Also support XREAL Air 2 and XREAL Air 2 Pro.
-2
doc/changes/big/mr.1896.md
··· 1 - xrt: Updates binding verify usage for new binding code gen and pass in enabled 2 - extensions status.
-9
doc/changes/big/mr.1908.md
··· 1 - --- 2 - - mr.1908 3 - - mr.2055 4 - - mr.2099 5 - --- 6 - Add `libmonado` library, allows control of applications and devices. Exposed API 7 - follows semver and is semi-stable. Will never be changed in a backward 8 - incompatible way without increasing the major version. Provisions for easily and 9 - safely checking version is included, both at compile and runtime.
-1
doc/changes/big/mr.1930.md
··· 1 - Add driver for Rokid and Rokid Max glasses, the devices features 3dof tracking.
-4
doc/changes/big/mr.1941.md
··· 1 - Add new curated debug GUI, while not exposing all the of the knobs it presents 2 - those knobs in a more organized way compared to the advanced UI. The curated UI 3 - also features the readback sink in the background, making it possible for it 4 - to double as the peek window.
-9
doc/changes/big/mr.1983.md
··· 1 - --- 2 - - mr.1983 3 - - mr.1994 4 - - mr.1995 5 - - issue.299 6 - - mr.2026 7 - - mr.2105 8 - --- 9 - 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.
-3
doc/changes/big/mr.1992.md
··· 1 - Add hot-switch support for input devices like controllers and gamepads. This is 2 - not full hot-plug support, but instead only enables switching between devices 3 - created at start.
-7
doc/changes/big/mr.2163.md
··· 1 - --- 2 - - mr.2163 3 - - mr.2166 4 - - mr.2218 5 - --- 6 - 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. 7 - More will be added in the future.
-1
doc/changes/big/mr.2178.md
··· 1 - Add body tracking xrt-devices framework and support for the XR_FB_body_tracking extension.
-1
doc/changes/big/mr.2194.md
··· 1 - Implement OpenXR 1.1
-5
doc/changes/big/mr.2211.md
··· 1 - --- 2 - - mr.2211 3 - - mr.2215 4 - --- 5 - Implement experimental XR_MNDX_xdev_space extension
-67
doc/changes/big/mr.774.md
··· 1 - --- 2 - - mr.780 3 - - mr.782 4 - - mr.784 5 - - mr.850 6 - - mr.989 7 - - mr.990 8 - - mr.991 9 - - mr.999 10 - - mr.1000 11 - - mr.1003 12 - - mr.1006 13 - - mr.1010 14 - - mr.1011 15 - - mr.1014 16 - - mr.1018 17 - - mr.1025 18 - - mr.1030 19 - - mr.1035 20 - - mr.1041 21 - - mr.1048 22 - - mr.1051 23 - - mr.1052 24 - - mr.1055 25 - - mr.1056 26 - - mr.1060 27 - - mr.1063 28 - - mr.1088 29 - - mr.1101 30 - - mr.1103 31 - - mr.1111 32 - - mr.1134 33 - - mr.1227 34 - - mr.1234 35 - - mr.1244 36 - - mr.1264 37 - - mr.1291 38 - - mr.1334 39 - - mr.1382 40 - - mr.1418 41 - - mr.1446 42 - - mr.1498 43 - - mr.1506 44 - - mr.1550 45 - - mr.1590 46 - - mr.1596 47 - - mr.1602 48 - - mr.1619 49 - - mr.1636 50 - - mr.1643 51 - - mr.1665 52 - - mr.1719 53 - - mr.1744 54 - - mr.1752 55 - - mr.1754 56 - - mr.1797 57 - - mr.1845 58 - - mr.1852 59 - - mr.1855 60 - - mr.1857 61 - - mr.1859 62 - --- 63 - Added WinMR driver, it supports most headsets and controllers. Controllers can 64 - be connected both via host-Bluetooth and tunneled with the onboard radio chip. 65 - By default has 3DoF tracking, it can do 6DoF if used with the Basalt SLAM 66 - tracking software. Distortion is there but doesn't work perfectly on all 67 - hardware, best results is on Reverb G2.
-11
doc/changes/big/mr.873.md
··· 1 - --- 2 - - mr.873 3 - - mr.1517 4 - - mr.841 5 - - mr.1998 6 - - mr.2001 7 - --- 8 - - New compute-shader based rendering backend in the compositor. Supports 9 - projection, quad, equirect2, cylinder layres. It is not enabled by default. It 10 - also supports ATW. On some hardware the use of a compute queue improves 11 - latency when pre-empting other GPU work.
-1
doc/changes/compositor/mr.1117.md
··· 1 - client: Wait on Vulkan clients to complete rendering.
-8
doc/changes/compositor/mr.1119.md
··· 1 - --- 2 - - mr.1119 3 - - mr.1124 4 - - mr.1125 5 - - mr.1128 6 - --- 7 - client/util: Fix several flags being set wrong on barriers and creation of the 8 - swapchain images. We were especially wrong with the depth stencil formats.
-7
doc/changes/compositor/mr.1120.md
··· 1 - --- 2 - - mr.1120 3 - - mr.1135 4 - - mr.1144 5 - --- 6 - main: Add support for mirroring the left view back to the debug gui, so we can 7 - record it or see what somebody's doing in VR.
-1
doc/changes/compositor/mr.1142.1.md
··· 1 - client: Set default log level on vk_bundle in Vulkan compositor.
-1
doc/changes/compositor/mr.1142.2.md
··· 1 - client: Fence the client work and send fence to the native compositor.
-1
doc/changes/compositor/mr.1268.1.md
··· 1 - main: Use at least 3 Vulkan images for comp_target_swapchain if supported.
-1
doc/changes/compositor/mr.1268.2.md
··· 1 - main: Setting logging level when checking vulkan caps.
-1
doc/changes/compositor/mr.1268.3.md
··· 1 - render: Use query pool to measure GPU time.
-3
doc/changes/compositor/mr.1269.md
··· 1 - main: Refactor comp_target_swapchain to not pre-declare internal functions, we 2 - seem to be moving away from this style in the compositor so refactor the 3 - `comp_target_swapchain` file before adding the vblank thread in there.
-2
doc/changes/compositor/mr.1270.md
··· 1 - main: Make `VK_KHR_external_[fence|semaphore]_fd` optional, this is helpful for 2 - CI where only lavapipe can be used which does not support those extensions.
-2
doc/changes/compositor/mr.1271.md
··· 1 - main: Add thread waiting for vblank events, lets the fake pacer properly 2 - synchronise with hardware.
-2
doc/changes/compositor/mr.1316.md
··· 1 - main: Init comp_base as early as possible, because it needs to be finalised 2 - last in destroy. It's basically a base class and should follow those semantics.
-1
doc/changes/compositor/mr.1319.md
··· 1 - 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
doc/changes/compositor/mr.1340.md
··· 1 - client: Initial support for D3D12 client applications on Windows.
-1
doc/changes/compositor/mr.1352.md
··· 1 - render: Reuse a single command buffer instead of allocating/freeing it every frame.
-5
doc/changes/compositor/mr.1417.1.md
··· 1 - --- 2 - - mr.1417 3 - - mr.2052 4 - --- 5 - util: Completely propagate errors from image creation failures and some tidy.
-2
doc/changes/compositor/mr.1417.2.md
··· 1 - main: Propagate more errors from the renderer frame drawing and helper mirror 2 - functions.
-1
doc/changes/compositor/mr.1421.md
··· 1 - main: Render cube layer
-5
doc/changes/compositor/mr.1465.2.md
··· 1 - --- 2 - - issue.47 3 - --- 4 - client: Reduce the minimum required OpenGL version for client applications to 5 - 3.0.
-1
doc/changes/compositor/mr.1465.md
··· 1 - client: Support for OpenGL client applications on Windows.
-7
doc/changes/compositor/mr.1570.md
··· 1 - --- 2 - - mr.1684 3 - --- 4 - main: Introduce `comp_target_factory`. This struct allows us to remove long and 5 - cumbersome switch statements for each type. Instead the code is generic and 6 - tweaks for specific target types can be reused for others more easily with this 7 - data driven design of the code.
-2
doc/changes/compositor/mr.1601.1.md
··· 1 - main: Refactor arguments to `comp_target_create_images`, introduces the struct 2 - `comp_target_create_images_info`.
-2
doc/changes/compositor/mr.1601.2.md
··· 1 - main: Refactor how surface formats are handled, this lets the compositor select 2 - which formats are considered exactly, and not just prefer one format.
-1
doc/changes/compositor/mr.1742.md
··· 1 - Android: Refactor surface creation flow.
-2
doc/changes/compositor/mr.1748.1.md
··· 1 - render: Do not use the global command buffer pool, use `vk_cmd_pool` for 2 - distrion images upload.
-1
doc/changes/compositor/mr.1748.2.md
··· 1 - client: Do not use the global command buffer pool in the Vulkan compositor.
-1
doc/changes/compositor/mr.1748.3.md
··· 1 - main: Do not use the global command buffer pool.
-1
doc/changes/compositor/mr.1750.md
··· 1 - client: Silence VK_FORMAT_R32_SFLOAT warning in OpenGL code.
-2
doc/changes/compositor/mr.1751.md
··· 1 - client: Don't use vkDeviceWaitIdle, because it requires all queues to be 2 - externally synchronized which we can't enforce.
-3
doc/changes/compositor/mr.1763.1.md
··· 1 - client: Use correct format in get_swapchain_create_properties functions, client 2 - compositors are given their formats, make then translate to Vulkan before 3 - passing on.
-3
doc/changes/compositor/mr.1763.2.md
··· 1 - client: Respect native compositor's extra usage bits, so we can remove the 2 - hardcoded always sampled bit. This also ensures that images have exactly the 3 - same usages in both the compositor and app.
-1
doc/changes/compositor/mr.1801.1.md
··· 1 - main: Refactor to use vk_surface_info helper.
-5
doc/changes/compositor/mr.1801.2.md
··· 1 - --- 2 - - mr.1801 3 - - mr.1820 4 - --- 5 - main: Refactor frame handling, makes semantics clearer.
-1
doc/changes/compositor/mr.1801.3.md
··· 1 - main: Avoid acquiring early if the target isn't ready.
-1
doc/changes/compositor/mr.1801.4.md
··· 1 - main: Prefer to only have two swapchains, useful for direct mode rendering.
-1
doc/changes/compositor/mr.1801.5.md
··· 1 - main: Try to detect when we miss frames even without frame timing information.
-1
doc/changes/compositor/mr.1820.1.md
··· 1 - shaders: Add blit compute shader.
-1
doc/changes/compositor/mr.1820.2.md
··· 1 - main: Refactor mirror to debug gui code and add support for compute queue.
-1
doc/changes/compositor/mr.1824.1.md
··· 1 - render: Add new shared samplers, use them and remove the default sampler.
-2
doc/changes/compositor/mr.1824.2.md
··· 1 - main: Use the new samplers on render_resources, remove the layer renderer 2 - framebuffer's samplers.
-1
doc/changes/compositor/mr.1824.3.md
··· 1 - util: Remove samplers from comp_swapchain_image, they were always the same.
-1
doc/changes/compositor/mr.1868.md
··· 1 - client: Wait till D3D12 images aren't in use before releasing the swapchain.
-1
doc/changes/compositor/mr.1877.1.md
··· 1 - main: Optionally enable VK_EXT_debug_marker extension on debug builds.
-1
doc/changes/compositor/mr.1877.2.md
··· 1 - main: Name all fence objects using debug helper function.
-1
doc/changes/compositor/mr.1877.3.md
··· 1 - util: Name all fence objects using debug helper function.
-1
doc/changes/compositor/mr.1881.md
··· 1 - multi: Try to set realtime priority on main thread
-1
doc/changes/compositor/mr.1884.md
··· 1 - main: Use vk_cmd_submit_locked in vk_helper to simply peek logic
-2
doc/changes/compositor/mr.1885.md
··· 1 - util: Improve Vulkan instance creation code to be clearer about what extensions 2 - are missing, also generally refactor function to make it better.
-3
doc/changes/compositor/mr.1887.md
··· 1 - - util: Make sure to not destroy invalid `VkSemaphore` objects. 2 - - util: Track native semaphore handles, following the semantics of other handles 3 - in Monado. This fixes the leak of `syncobj_file` on Linux.
-1
doc/changes/compositor/mr.1893.1.md
··· 1 - main: Add NorthStar to listed displays
-1
doc/changes/compositor/mr.1893.2.md
··· 1 - main: Only wait on the main queue when drawing the frame.
-2
doc/changes/compositor/mr.1894.1.md
··· 1 - util: Use enumeration helpers, with a tiny little bit of refactor to increase 2 - code reuse.
-5
doc/changes/compositor/mr.1894.2.md
··· 1 - --- 2 - - mr.1894 3 - - mr.1913 4 - --- 5 - main: Use enumeration helpers in and refactor the NVIDIA direct target code.
-1
doc/changes/compositor/mr.1901.md
··· 1 - multi: Add support for `XR_EXT_hand_interaction` profile.
-1
doc/changes/compositor/mr.1902.md
··· 1 - main: Set sequence number correctly on readback frames.
-1
doc/changes/compositor/mr.1920.md
··· 1 - client: Use D3D12 allocator, and work around NVIDIA bug.
-1
doc/changes/compositor/mr.1921.md
··· 1 - main: Fix warnings found with GCC 13.
-1
doc/changes/compositor/mr.1935.md
··· 1 - client: Make sure to not double CloseHandle semaphore HANDLE.
-1
doc/changes/compositor/mr.1940.1.md
··· 1 - main: Use more enumeration helpers.
-1
doc/changes/compositor/mr.1940.2.md
··· 1 - main: Free plane_properties earlier.
-1
doc/changes/compositor/mr.1940.3.md
··· 1 - main: Print creation info for direct mode objects.
-1
doc/changes/compositor/mr.1940.4.md
··· 1 - main: Always use the mode's extents when creating the surface.
-1
doc/changes/compositor/mr.1951.md
··· 1 - multi: Add stub set thread hint function.
-2
doc/changes/compositor/mr.1955.1.md
··· 1 - render: Various smaller commit to tidy the code, 2 - better documentation and naming of defines.
-3
doc/changes/compositor/mr.1955.2.md
··· 1 - render: Refactor layer squasher code, the shader is now run once per view 2 - instead of doing two views in one submission. Makes it easier to split up 3 - targets and requires less samplers in one invocation.
-2
doc/changes/compositor/mr.1955.3.md
··· 1 - render: Refactor scratch images so that they are fully their own struct and 2 - is managed by a user of the render code.
-1
doc/changes/compositor/mr.1955.4.md
··· 1 - render: Optimize layer shader, cutting of around 5%-10% of execution time.
-8
doc/changes/compositor/mr.1955.5.md
··· 1 - --- 2 - - mr.1955 3 - - mr.1967 4 - - mr.1975 5 - --- 6 - util: Add helpers to launch the compute layer squasher shaders and the compute 7 - distortion shaders. They are in `comp_util` because it looks at a list of 8 - `comp_layer` and `comp_swapchain` structs that `comp_base` manages.
-1
doc/changes/compositor/mr.1955.6.md
··· 1 - main: Use new layer squasher helpers and manage scratch images lifetime.
-1
doc/changes/compositor/mr.1956.md
··· 1 - render: Stop timewarp stretching by changing math.
-1
doc/changes/compositor/mr.1957.1.md
··· 1 - main: Trace mirror blit function.
-1
doc/changes/compositor/mr.1957.2.md
··· 1 - util: Generate limited limited ids for native swapchains.
-1
doc/changes/compositor/mr.1963.md
··· 1 - main: Name the runtime Surface on Android.
-5
doc/changes/compositor/mr.1964.md
··· 1 - --- 2 - - mr.1964 3 - - mr.2066 4 - --- 5 - client: Expose size limit for swapchains.
-1
doc/changes/compositor/mr.1969.1.md
··· 1 - render: Don't enable depth testing and writing for mesh shader.
-3
doc/changes/compositor/mr.1969.2.md
··· 1 - render: Refactor gfx path code to split out render pass vulkan objects from 2 - the render target resources struct into the `render_gfx_render_pass` struct. 3 - This allows the render pass to be reused for more than one target.
-8
doc/changes/compositor/mr.1969.3.md
··· 1 - --- 2 - - mr.1969 3 - - mr.1970 4 - --- 5 - main: Refactor the layer rendering code to use `render_gfx_render_pass`, 6 - `render_gfx_target_resources` and an `VkCommandBuffer` that is passed in as an 7 - argument to the draw call. This allows the layer renderer to share the scratch 8 - images with the compute pipeline.
-6
doc/changes/compositor/mr.1971.md
··· 1 - --- 2 - - mr.1971 3 - - mr.2050 4 - --- 5 - main: Use VK_CHK_WITH_RET instead of vk_check_error, and convert a few other 6 - places to the helpers as well.
-1
doc/changes/compositor/mr.1972.md
··· 1 - render: Use defines helpers from Vulkan helper code instead of defining self.
-1
doc/changes/compositor/mr.1974.1.md
··· 1 - main: Tidy headers in layer renderer.
-2
doc/changes/compositor/mr.1974.2.md
··· 1 - main: Refactor the various getters of poses and view data so that they are 2 - shared between both graphics and compute paths.
-2
doc/changes/compositor/mr.1974.3.md
··· 1 - main: Refactor graphics dispatch, this makes it easier to extract the code 2 - later down the line.
-1
doc/changes/compositor/mr.1974.4.md
··· 1 - render: Refactor mesh distortion dispatch functions.
-2
doc/changes/compositor/mr.1974.5.md
··· 1 - render: Expose render_calc_uv_to_tangent_lengths_rect function, document it 2 - better and also add tests for it.
-2
doc/changes/compositor/mr.1974.6.md
··· 1 - render: Tweak cmake files so that comp_render is usable without any other of 2 - the compositor bits.
-2
doc/changes/compositor/mr.1976.1.md
··· 1 - render: Add ability to sub-allocate UBOs from a larger buffer, both code and 2 - needed scaffolding to use it in the gfx path.
-1
doc/changes/compositor/mr.1976.2.md
··· 1 - render: Make gfx mesh distortion shader sub-allocate it's UBO.
-1
doc/changes/compositor/mr.1980.1.md
··· 1 - render: Refactor gfx mesh shader allocation and dispatch.
-3
doc/changes/compositor/mr.1980.2.md
··· 1 - render: Remove unused render_gfx_view and other fields on render_gfx, 2 - the limiting factor to how many views the graphics path can do now is the sizes 3 - of descriptor pools and UBO buffer.
-3
doc/changes/compositor/mr.1980.3.md
··· 1 - render: Refactor gfx descriptor pool, descriptor layout creation function, 2 - ubo upload ad descriptor updating function to be shareable. The common pattern 3 - is one UBO and one source image, so make it possible to share these.
-2
doc/changes/compositor/mr.1981.1.md
··· 1 - render: Add timewarp to graphics path distortion shaders, works very similar to 2 - the compute paths timewarp.
-1
doc/changes/compositor/mr.1981.2.md
··· 1 - main: Wire up timewarp on the graphics path for the distortion shaders.
-1
doc/changes/compositor/mr.1982.md
··· 1 - client: Add and use helpers to unwrap native swapchains and compositors.
-1
doc/changes/compositor/mr.1983.1.md
··· 1 - render: Make it possible to set clear color when starting render pass.
-1
doc/changes/compositor/mr.1983.2.md
··· 1 - render: Add new layer shaders and support code.
-2
doc/changes/compositor/mr.1983.3.md
··· 1 - util: Prefix compute functions with `cs`, rename file and refactor out layer 2 - helpers in preparation for new graphics layer render code.
-1
doc/changes/compositor/mr.1993.md
··· 1 - client: Make it possible to set log level in Vulkan compositor.
-2
doc/changes/compositor/mr.1994.1.md
··· 1 - render: Prepare gfx shared one ubo and src code for addition of cylinder and 2 - equirect2 shaders.
-1
doc/changes/compositor/mr.1994.2.md
··· 1 - render: Add cylinder and equirect2 shaders and code for graphics path.
-2
doc/changes/compositor/mr.1994.3.md
··· 1 - util: Prepare code for addition of cylinder and equirect layers to graphics 2 - paths, like adding various helpers.
-1
doc/changes/compositor/mr.1994.4.md
··· 1 - util: Add cylinder and equirect2 shaders and code for graphics path.
-1
doc/changes/compositor/mr.1995.1.md
··· 1 - main: Use new graphics layer squasher.
-1
doc/changes/compositor/mr.1995.2.md
··· 1 - main: Remove old layer renderer code and integration.
-1
doc/changes/compositor/mr.1995.3.md
··· 1 - render: Remove old graphics layer squasher.
-1
doc/changes/compositor/mr.1998.1.md
··· 1 - util: Replace is_view_index_visible helper by is_layer_view_visible.
-1
doc/changes/compositor/mr.2005.md
··· 1 - client: Add renderdoc_enabled implementation for Vulkan/OpenGL only on Android platform
-1
doc/changes/compositor/mr.2010.md
··· 1 - main: Add argument to specify display mode id for surface creation.
-1
doc/changes/compositor/mr.2050.md
··· 1 - main: Fix multiple thread access to VkQueue in present.
-1
doc/changes/compositor/mr.2051.1.md
··· 1 - main: Implement display refresh rates function stubs.
-1
doc/changes/compositor/mr.2051.2.md
··· 1 - multi: Implement display refresh rate functions.
-2
doc/changes/compositor/mr.2052.md
··· 1 - util: Also clean up image views on mutex and cond variable creation error 2 - in the comp_swapchain.c file.
-1
doc/changes/compositor/mr.2062.1.md
··· 1 - main: Remove events code, no longer needed.
-1
doc/changes/compositor/mr.2062.2.md
··· 1 - null: Remove events code, no longer needed.
-1
doc/changes/compositor/mr.2062.3.md
··· 1 - multi: Switch to use `xrt_session_event` and `xrt_session_event_sink`.
-1
doc/changes/compositor/mr.2062.4.md
··· 1 - client: Remove event functions.
-14
doc/changes/compositor/mr.2086.md
··· 1 - --- 2 - - mr.2086 3 - - mr.2175 4 - - mr.2189 5 - --- 6 - - 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. 7 - 8 - - 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. 9 - 10 - - swapchain: Change `struct xrt_swapchain *l_xsc, struct xrt_swapchain *r_xsc` to `struct xrt_swapchain *xsc[XRT_MAX_VIEWS]`, in order to support multiple views' swapchains. When iterating, use `xrt_layer_data.view_count`. 11 - 12 - - render: `render_resources` now has a `view_count` field, which is set to 1 for mono and 2 for stereo. This is used to iterate over the views in the render function. 13 - 14 - - render: Use the `XRT_MAX_VIEWS` macro to calculate the length of a series of arrays.
-3
doc/changes/compositor/mr.2101.1.md
··· 1 - main: Add enum to select FoV source, it was very unclear where exactly the FoV 2 - came from, this makes it clearer and also reduces the number of places it's 3 - accessed from.
-2
doc/changes/compositor/mr.2101.2.md
··· 1 - util: Refactor how arguments are given, this makes it easier to change the 2 - number of views that the code supports.
-3
doc/changes/compositor/mr.2103.1.md
··· 1 - render: Tweak alpha blending, before on the gfx path the written alpha was 2 - always zero, this would pose a problem when we want to display the scratch 3 - images in the debug UI as they would be completely black.
-3
doc/changes/compositor/mr.2103.2.md
··· 1 - util: Add `comp_scratch_single_images` and `comp_scratch_stereo_images` helper 2 - struct, these uses `u_native_images_debug` this let us do zero copy viewing or 3 - debugging of the images.
-2
doc/changes/compositor/mr.2103.3.md
··· 1 - main: Use new debuggable scratch images (one `comp_scratch_single_images` per 2 - view), used to drive the preview view in the UI and to debug the views.
-1
doc/changes/compositor/mr.2104.1.md
··· 1 - main: Use vk_enumerate_swapchain_images helper.
-1
doc/changes/compositor/mr.2104.2.md
··· 1 - main: Improve swapchain creation to print more debug information.
-1
doc/changes/compositor/mr.2108.md
··· 1 - main: Split submit timing into begin and end.
-1
doc/changes/compositor/mr.2113.1.md
··· 1 - main: Make sure to not use the array of displays if we fail to allocate it, and also tidy the code.
-1
doc/changes/compositor/mr.2113.2.md
··· 1 - 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.2117.md
··· 1 - client: Replace `glTextureStorageMem2DEXT` with `glTexStorageMem2DEXT` to adapt to more vendors' GPU drivers.
-1
doc/changes/compositor/mr.2124.md
··· 1 - client: Add interface for XR_FB_passthrough in client side.
-5
doc/changes/compositor/mr.2134.md
··· 1 - --- 2 - - mr.2134 3 - - mr.2179 4 - --- 5 - main: let compositor targets control more of vulkan initialization.
-1
doc/changes/compositor/mr.2161.md
··· 1 - client: Run D3D12 swapchain initial barriers after all possible points of failure.
-1
doc/changes/compositor/mr.2167.md
··· 1 - 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
doc/changes/compositor/mr.2183.md
··· 1 - main: Fix bug with incorrect surface format matching.
-2
doc/changes/compositor/mr.2199.md
··· 1 - util: Fix double free when failing to initialize Vulkan swapchain 2 - util: Fix double free when failing to import non-Vulkan swapchain
-1
doc/changes/compositor/mr.2214.md
··· 1 - util: Fix vk_deinit_mutex asserts when vk_create_device fails.
-1
doc/changes/compositor/mr.2216.md
··· 1 - 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
doc/changes/compositor/mr.2236.md
··· 1 - android: Default to compute compositor to work around issue [381](https://gitlab.freedesktop.org/monado/monado/-/issues/381).
-1
doc/changes/compositor/mr.677.md
··· 1 - comp: Fix layer submission on NVIDIA Tegra.
-1
doc/changes/compositor/mr.697.md
··· 1 - main: Integrate new frame timing code.
-2
doc/changes/compositor/mr.705.md
··· 1 - client: Handle EGL_NO_CONTEXT_KHR gracefully if the EGLDisplay supports 2 - EGL_KHR_no_config_context.
-11
doc/changes/compositor/mr.721.md
··· 1 - --- 2 - - mr.754 3 - - mr.759 4 - - mr.1323 5 - - mr.1346 6 - - issue.171 7 - --- 8 - multi: Introduce a new multi client compositor layer, this allows rendering code 9 - to be moved from the IPC layer into the compositor, separating concerns. The 10 - main compositor always uses the multi client compositor, as it gives us a async 11 - render loop for free.
-6
doc/changes/compositor/mr.767.md
··· 1 - --- 2 - - issue.120 3 - - mr.787 4 - --- 5 - main: Make it possible to create the swapchain later when actually needed, 6 - and have the swapchain be in a non-ready state that stops drawing.
-2
doc/changes/compositor/mr.827.md
··· 1 - client: Use the EGL compositor's display in swapchain, previously it tried to 2 - use the current one, which when running on a new thread would explode.
-1
doc/changes/compositor/mr.833.md
··· 1 - 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.3.md
··· 1 - main: Also resize on VK_SUBOPTIMAL_KHR.
-2
doc/changes/compositor/mr.864.md
··· 1 - multi: Make sure there are at least some predicted data, to avoid asserts in 2 - non-service mode.
-10
doc/changes/compositor/mr.943.md
··· 1 - --- 2 - - mr.943 3 - - mr.1263 4 - - mr.1295 5 - - mr.1326 6 - - mr.1302 7 - - mr.1337 8 - - mr.1340 9 - --- 10 - client: Initial support for D3D11 client applications on Windows.
-10
doc/changes/compositor/mr.959.1.md
··· 1 - --- 2 - - mr.959 3 - - mr.967 4 - - mr.970 5 - - mr.982 6 - - mr.1021 7 - --- 8 - render: Refactor and reorganize compositor to improve modularity and ease of 9 - reuse. This introduces the render folder which aims to be useful Vulkan render 10 - code that can be used outside of the compositor.
-2
doc/changes/compositor/mr.959.2.md
··· 1 - render: Add fast path for single layer projection layer skipping the layer 2 - renderer and avoiding one copy.
-2
doc/changes/compositor/mr.959.3.md
··· 1 - render: Lots of refactoring and tidying in code, making it independent of the 2 - compositor and only depending on the vk_bundle.
-1
doc/changes/compositor/mr.967.1.md
··· 1 - render: Refactor out into own library.
-3
doc/changes/compositor/mr.967.2.md
··· 1 - util: Refactor swapchain and fence code to be more independent of compositor 2 - and put into own library. Joined by a `comp_base` helper that implements 3 - a lot of the more boilerplate compositor code.
-1
doc/changes/compositor/mr.967.3.md
··· 1 - main: Increase the usage of the `get_vk` helper function.
-1
doc/changes/compositor/mr.967.4.md
··· 1 - main: Use the new helpers to reduce code in main library.
-1
doc/changes/compositor/mr.970.md
··· 1 - util: Add Vulkan helper code to initialise a vk_bundle from scratch.
-2
doc/changes/compositor/mr.977.md
··· 1 - all: Rename all `num_` parameters and fields, typically to `_count`, to match 2 - OpenXR convention.
-4
doc/changes/doc/mr.1872.md
··· 1 - --- 2 - - mr.2120 3 - --- 4 - Add documentation for how to write changelogs in the conventions page.
-1
doc/changes/doc/mr.1878.md
··· 1 - Add documentation category in changelog documentation.
-5
doc/changes/doc/mr.1883.md
··· 1 - --- 2 - - mr.1883 3 - - mr.1888 4 - --- 5 - Add doxygen-awesome theme
-2
doc/changes/doc/mr.1891.md
··· 1 - Don't build documentation by default, it is fairly heavy for end users. Also 2 - makes the CI scripts cleaner as they don't need to disabled it everywhere.
-1
doc/changes/doc/mr.1918.md
··· 1 - README: Add Debian/Ubuntu package for libudev.
-1
doc/changes/doc/mr.1919.md
··· 1 - README: Clarify Vulkan SDK requirement on Windows.
-1
doc/changes/doc/mr.1923.md
··· 1 - README: Add some Debian/Ubuntu packages.
-7
doc/changes/doc/mr.1953.md
··· 1 - --- 2 - - mr.1953 3 - - mr.2037 4 - - mr.2070 5 - - mr.2085 6 - --- 7 - comments: Lots of smaller documentation comment fixes.
-1
doc/changes/doc/mr.2195.md
··· 1 - Add page with information for Linux packagers.
-4
doc/changes/doc/mr.2202.md
··· 1 - --- 2 - - mr.2202 3 - --- 4 - doc: Add Ubuntu 24.04 as supported OS [NFC]
-1
doc/changes/drivers/mr.1035.md
··· 1 - wmr: Add SLAM (6dof inside-out) tracking for WMR headsets.
-1
doc/changes/drivers/mr.1264.md
··· 1 - wmr: Add initial hand tracking for WMR devices.
-1
doc/changes/drivers/mr.1265.md
··· 1 - survive/vive: Use new common controller bindings in `a/vive`.
-1
doc/changes/drivers/mr.1291.md
··· 1 - wmr: Add auto exposure and gain module.
-2
doc/changes/drivers/mr.1334.md
··· 1 - wmr: Send calibration automatically to SLAM tracker. This makes WMR SLAM 2 - tracking work out of the box without user intervention with Basalt.
-1
doc/changes/drivers/mr.1356.md
··· 1 - 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.
-8
doc/changes/drivers/mr.1447.md
··· 1 - --- 2 - - mr.1447 3 - - mr.1580 4 - - mr.1665 5 - - mr.1691 6 - - mr.1823 7 - --- 8 - rift_s: Add Rift-S driver, this works with Monado's hand and SLAM tracking.
-2
doc/changes/drivers/mr.1754.md
··· 1 - wmr: Move driver over to builder interface. Currently only a simpler builder, 2 - the SLAM and Hand-Tracking setup hasn't been moved out yet.
-2
doc/changes/drivers/mr.1829.1.md
··· 1 - vive: Drian IMU packets at start, this helps reduce time drift due backed up 2 - packets confusing the timing code.
-2
doc/changes/drivers/mr.1829.2.md
··· 1 - vive: Refactor timing code in source, make it take in account of the age of 2 - samples, this reduces the time drift due to irregular delivery of packets.
-1
doc/changes/drivers/mr.1831.md
··· 1 - ht: Error out if we can't find a hand-tracking model directory.
-2
doc/changes/drivers/mr.1858.md
··· 1 - wmr: Improve WMR controller orientation when in 3DoF by using the information 2 - that is available in the JSON config that is stored on the controllers.
-1
doc/changes/drivers/mr.1860.1.md
··· 1 - survive: Add support for Gen 3.0 and Tundra trackers.
-5
doc/changes/drivers/mr.1860.2.md
··· 1 - --- 2 - - mr.1860 3 - - mr.1863 4 - --- 5 - vive: Add support for Gen 3.0 and Tundra trackers.
-10
doc/changes/drivers/mr.1861.md
··· 1 - --- 2 - - mr.1861 3 - - mr.1927 4 - - mr.1943 5 - - mr.1947 6 - - mr.1950 7 - - mr.2077 8 - - mr.2090 9 - --- 10 - steamvr_lh: Add driver that wraps the SteamVR Lighthouse driver.
-2
doc/changes/drivers/mr.1876.md
··· 1 - wmr: Reduce drifting by applying calibration biases to controllers, doesn't 2 - fully eliminate as calibration is lacking for all temperature ranges.
-2
doc/changes/drivers/mr.1881.md
··· 1 - - vive: Try to set realtime priority on sensors thread 2 - - wmr: Try to set realtime priority on USB thread
-1
doc/changes/drivers/mr.1893.md
··· 1 - vive: Set the correct tracking origin type when we have SLAM.
-1
doc/changes/drivers/mr.1911.1.md
··· 1 - vive: Add support for HTC Vive Pro 2
-1
doc/changes/drivers/mr.1911.2.md
··· 1 - survive: Add support for HTC Vive Pro 2
-1
doc/changes/drivers/mr.1912.md
··· 1 - android_sensors: Fixed the issue of screen stuttering on some Android devices caused by failing to set the IMU event rate.
-1
doc/changes/drivers/mr.1916.md
··· 1 - pssense: Add trigger force feedback.
-1
doc/changes/drivers/mr.1921.md
··· 1 - remote: Fix warnings found with GCC 13.
-1
doc/changes/drivers/mr.1927.1.md
··· 1 - steamvr_lh: Add Vive Pro support.
-1
doc/changes/drivers/mr.1927.2.md
··· 1 - steamvr_lh: Add Index support, also support canting of views.
-1
doc/changes/drivers/mr.1927.3.md
··· 1 - steamvr_lh: Add Valve Knuckles support, also support hand tracking.
-5
doc/changes/drivers/mr.1927.4.md
··· 1 - --- 2 - - mr.1927 3 - - mr.1943 4 - --- 5 - steamvr_lh: Basic vive tracker support.
-1
doc/changes/drivers/mr.1929.1.md
··· 1 - steamvr_lh: Fix warnings with logger defines.
-5
doc/changes/drivers/mr.1929.2.md
··· 1 - --- 2 - - mr.1929 3 - - mr.1943 4 - --- 5 - steamvr_lh: Set driver IPD & brightness on HMD.
-1
doc/changes/drivers/mr.1943.md
··· 1 - steamvr_lh: Fix prediction and jitter and remove old `LH_PREDICTION` env var.
-1
doc/changes/drivers/mr.1947.md
··· 1 - steamvr_lh: Use proper timestamp on hands and fix angular/linear velocity handling.
-1
doc/changes/drivers/mr.1949.md
··· 1 - d/xreal_air,d/vive: Reduce relation history lock contention
-1
doc/changes/drivers/mr.1968.md
··· 1 - steamvr_lh: Add a mutex to update_inputs() to prevent unsafe condition in lighthouse driver.
-1
doc/changes/drivers/mr.1979.md
··· 1 - steamvr_lh: Add tundra as a generic tracker
-1
doc/changes/drivers/mr.1986.md
··· 1 - steamvr_lh: Silence some useless logging and properly wait for vive wands to settle
-1
doc/changes/drivers/mr.1987.md
··· 1 - opengloves: Refactor creation.
-2
doc/changes/drivers/mr.1988.md
··· 1 - wmr: Add `WMR_LEFT_DISPLAY_VIEW_Y_OFFSET` and `WMR_RIGHT_DISPLAY_VIEW_Y_OFFSET` 2 - environmental variables to adjust screen distortion.
-1
doc/changes/drivers/mr.1989.2.md
··· 1 - rs: Fix warnings with function declarations.
-1
doc/changes/drivers/mr.1992.md
··· 1 - remote: Add support for new dynamic device roles.
-1
doc/changes/drivers/mr.2018.md
··· 1 - remote: Add support for local_floor space.
-1
doc/changes/drivers/mr.2023.md
··· 1 - wmr: Add Dell Visor support to WMR driver.
-3
doc/changes/drivers/mr.2038.md
··· 1 - - wmr: Follow common naming of update_inputs. 2 - - vive: Follow common naming of update_inputs. 3 - - ohmd: Fix warnings and tidy.
-2
doc/changes/drivers/mr.2039.1.md
··· 1 - all: Use `u_device_noop_update_inputs` helper for drivers with nothing in their 2 - update input function.
-1
doc/changes/drivers/mr.2039.2.md
··· 1 - all: Standardize use of `u_device_get_view_poses` helper.
-1
doc/changes/drivers/mr.2058.md
··· 1 - adjust the pose for VIT system and assumes basalt
-5
doc/changes/drivers/mr.2060.md
··· 1 - --- 2 - - mr.2060 3 - - mr.2061 4 - --- 5 - remote: Fix socket closing on Windows by using socket_close.
-1
doc/changes/drivers/mr.2064.md
··· 1 - ULv5: Add new driver for UltraLeap v5 API for hand-tracking devices.
-4
doc/changes/drivers/mr.2067.md
··· 1 - --- 2 - - mr.2135 3 - --- 4 - - Sample driver: Implement missing APIs.
-1
doc/changes/drivers/mr.2080.md
··· 1 - qwerty: Fix input timestamps for select and menu.
-1
doc/changes/drivers/mr.2090.md
··· 1 - steamvr_lh: Simplify coordinate space conversion.
-1
doc/changes/drivers/mr.2091.md
··· 1 - simulated: Support reference space usage via debug printing.
-1
doc/changes/drivers/mr.2114.md
··· 1 - 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.2115.md
··· 1 - steamvr_lh: Add additional bindings for vive and index controllers.
-1
doc/changes/drivers/mr.2118.md
··· 1 - ulv5: Add orientation values to hand joints.
-1
doc/changes/drivers/mr.2128.md
··· 1 - survive: Fall back to default ipd if survive reports 0.0
-5
doc/changes/drivers/mr.2131.2.md
··· 1 - --- 2 - - mr.2131 3 - - mr.2173 4 - --- 5 - d/wmr: Properly compute hand tracking boundary circle
-1
doc/changes/drivers/mr.2131.3.md
··· 1 - d/vive: Use raw imu samples for SLAM
-5
doc/changes/drivers/mr.2131.md
··· 1 - --- 2 - - mr.2131 3 - - mr.2143 4 - --- 5 - d/{wmr,rift_s,vive,ns}: Share hand bounding box with head tracker
-5
doc/changes/drivers/mr.2136.md
··· 1 - --- 2 - - mr.2136 3 - - mr.2213 4 - --- 5 - steamvr_lh: Introduce new driver interface
-1
doc/changes/drivers/mr.2165.md
··· 1 - - 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
doc/changes/drivers/mr.2212.md
··· 1 - steamvr_lh: Adjust location flags behavior for better lighthouse tracking on occlusion
-1
doc/changes/drivers/mr.2219.md
··· 1 - 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.
-2
doc/changes/drivers/mr.2221.md
··· 1 - - ohmd: Disable WMR and Rift S drivers with a warning to use the native 2 - drivers.
-1
doc/changes/drivers/mr.2222.md
··· 1 - - wmr: Add support for Acer AH101 HMD
-1
doc/changes/drivers/mr.674.md
··· 1 - vive: Factor out json config parser and reuse it in survive driver.
-1
doc/changes/drivers/mr.691.md
··· 1 - vive: Add rotation pose prediction to HMD and Controllers
-7
doc/changes/drivers/mr.714.md
··· 1 - --- 2 - - mr.714 3 - - mr.1789 4 - - mr.1926 5 - --- 6 - qwerty: Add qwerty driver for emulating headset and controllers with mouse and 7 - keyboard.
-1
doc/changes/drivers/mr.715.md
··· 1 - vf: Show the time on the video test source video server.
-1
doc/changes/drivers/mr.717.md
··· 1 - psvr: Ensure that timestamps are always monotonic, stopping any time-traveling sample packets.
-1
doc/changes/drivers/mr.740.md
··· 1 - vive: Setup the variable tracking for imu fusion.
-1
doc/changes/drivers/mr.741.md
··· 1 - multi: Enable specifying arbitrary xrt_input_name for querying tracker poses.
-1
doc/changes/drivers/mr.742.md
··· 1 - ohmd: Support OpenHMD controllers and specifically the Oculus Touch controller.
-6
doc/changes/drivers/mr.774.md
··· 1 - --- 2 - - mr.803 3 - - mr.1796 4 - - mr.1797 5 - --- 6 - wmr: Add Windows Mixed Reality driver, supports 6dof through Basalt.
-2
doc/changes/drivers/mr.793.1.md
··· 1 - vive: Tidy code by improving comments, removing old print, and use defines for 2 - hardcoded values.
-1
doc/changes/drivers/mr.793.2.md
··· 1 - vive: Minor refactor to IMU conversion code, should be no functional change.
-29
doc/changes/drivers/mr.836.md
··· 1 - --- 2 - - mr.831 3 - - mr.836 4 - - mr.837 5 - - mr.858 6 - - mr.934 7 - - mr.1027 8 - - mr.1029 9 - - mr.1063 10 - - mr.1097 11 - - mr.1153 12 - - mr.1260 13 - - mr.1278 14 - - mr.1282 15 - - mr.1360 16 - - mr.1494 17 - - mr.1519 18 - - mr.1523 19 - - mr.1603 20 - - mr.1649 21 - - mr.1692 22 - - mr.1769 23 - - mr.1770 24 - - mr.1832 25 - - mr.1839 26 - - mr.1881 27 - - mr.2228 28 - --- 29 - - depthai: Add a new frameserver driver that supports some of the DepthAI cameras.
-1
doc/changes/drivers/mr.839.1.md
··· 1 - north_star: Upstream Moshi Turner's "VIPD" distortion.
-1
doc/changes/drivers/mr.839.2.md
··· 1 - north_star: Fix the FOV calc on the v1/3D distortion.
-1
doc/changes/drivers/mr.839.3.md
··· 1 - north_star: General improvement of code organization.
-1
doc/changes/drivers/mr.839.4.md
··· 1 - north_star: Improved JSON parsing.
-1
doc/changes/drivers/mr.858.1.md
··· 1 - v4l2: Add tracing support.
-1
doc/changes/drivers/mr.860.md
··· 1 - vf: Some tidy, frame fixes and tracing support.
-1
doc/changes/drivers/mr.880.md
··· 1 - euroc: Add euroc driver that plays EuRoC datasets for SLAM system evaluation.
-1
doc/changes/drivers/mr.907.md
··· 1 - realsense: Expand driver to support non-T26x cameras and external SLAM tracking.
-3
doc/changes/ipc/mr.1213.md
··· 1 - Android: Do not require OPENXR permission when connecting to MonadoService. 2 - Permission will not be granted if install application before permission 3 - container.
-1
doc/changes/ipc/mr.1408.md
··· 1 - shared: Change IPC script to automatically mark all input aggregates as const.
-7
doc/changes/ipc/mr.1525.md
··· 1 - --- 2 - - mr.1525 3 - - mr.1531 4 - - mr.1584 5 - - mr.1807 6 - --- 7 - all: Add Windows support to the IPC layer, this is based on named pipes.
-3
doc/changes/ipc/mr.1875.md
··· 1 - client: Refactor out the connection connect code into a its own file, this lets 2 - it be reused by other things that might want to connect like monado-ctl and 3 - libmonado.
-2
doc/changes/ipc/mr.1901.md
··· 1 - all: Add support for `XR_EXT_hand_interaction` profile - plumbs extension 2 - enabled state to ipc server/drivers.
-1
doc/changes/ipc/mr.1906.1.md
··· 1 - shared: Add function to unmap the shared memory area when destroying.
-1
doc/changes/ipc/mr.1906.2.md
··· 1 - client: Destroy the shared memory area when shutting down.
-1
doc/changes/ipc/mr.1906.3.md
··· 1 - server: Destroy the shared memory area when shutting down.
-1
doc/changes/ipc/mr.1909.1.md
··· 1 - all: Rename client connected function and document code.
-1
doc/changes/ipc/mr.1909.2.md
··· 1 - all: Send less information when describing the client.
-1
doc/changes/ipc/mr.1909.3.md
··· 1 - all: Add a stable ID for clients.
-1
doc/changes/ipc/mr.1917.1.md
··· 1 - client: Add a interface header for `ipc_instance_create`.
-1
doc/changes/ipc/mr.1917.2.md
··· 1 - server: Add a interface header for `ipc_server_main[_android]`.
-1
doc/changes/ipc/mr.1924.md
··· 1 - android: Dup the fd from JVM and maintain it in native.
-2
doc/changes/ipc/mr.1936.md
··· 1 - all: Implement performance settings interface, used to implement 2 - `XR_EXT_performance_settings`.
-1
doc/changes/ipc/mr.1951.md
··· 1 - Add support for thread hint function.
-1
doc/changes/ipc/mr.1957.md
··· 1 - client: Generate limited unique ids for native swapchains.
-1
doc/changes/ipc/mr.1991.md
··· 1 - server: Fix session deactivation negative array index access.
-5
doc/changes/ipc/mr.1992.md
··· 1 - --- 2 - - mr.1992 3 - - mr.2013 4 - --- 5 - all: Add support for dynamic device roles.
-6
doc/changes/ipc/mr.2007.md
··· 1 - --- 2 - - mr.2007 3 - - mr.2012 4 - --- 5 - server: Use macro TEMP_FAILURE_RETRY to avoid closing a client connection on 6 - `-ENTR`.
-7
doc/changes/ipc/mr.2009.1.md
··· 1 - --- 2 - - mr.2009 3 - - mr.2053 4 - --- 5 - all: Add ability to do more complex IPC communication by introducing VLA 6 - functions. These lets us do the marshalling to some extent oursevles, useful 7 - for sending a non-fixed amount of data. This support is bi-directional.
-1
doc/changes/ipc/mr.2009.2.md
··· 1 - all: Add variable length get views function.
-1
doc/changes/ipc/mr.2011.1.md
··· 1 - client: Refactor connection init code.
-1
doc/changes/ipc/mr.2011.2.md
··· 1 - client: Check git tag as early as possible when connecting.
-5
doc/changes/ipc/mr.2016.md
··· 1 - --- 2 - - mr.2016 3 - - mr.2032 4 - --- 5 - all: Add support for getting the device visibility mask.
-1
doc/changes/ipc/mr.2022.1.md
··· 1 - shared: Minor tidy of various shared files.
-1
doc/changes/ipc/mr.2022.2.md
··· 1 - shared: Break out message channel functions to own files.
-1
doc/changes/ipc/mr.2022.3.md
··· 1 - client: Use `log_level` from the message channel.
-1
doc/changes/ipc/mr.2025.1.md
··· 1 - shared: Add `ipc_print_result` helper.
-6
doc/changes/ipc/mr.2025.2.md
··· 1 - --- 2 - - mr.2025 3 - - mr.2028 4 - --- 5 - client: Add and use return check helpers, this makes it easier to see where the 6 - error happened.
-1
doc/changes/ipc/mr.2030.md
··· 1 - shared: Minor fixes and tidy ipc_generated_protocol.h file.
-1
doc/changes/ipc/mr.2046.md
··· 1 - all: Share per client thread shutdown code between platforms.
-1
doc/changes/ipc/mr.2048.md
··· 1 - all: Add support for reference space usage.
-5
doc/changes/ipc/mr.2051.md
··· 1 - --- 2 - - mr.2051 3 - - mr.2054 4 - --- 5 - all: Implement display refresh rate functions.
-1
doc/changes/ipc/mr.2053.1.md
··· 1 - shared: Add ipc_command_size function to the protocol generation.
-1
doc/changes/ipc/mr.2053.2.md
··· 1 - server: Read the exact command size in the client loop on Linux.
-1
doc/changes/ipc/mr.2055.md
··· 1 - all: Add support for recentering local spaces.
-6
doc/changes/ipc/mr.2062.md
··· 1 - --- 2 - - mr.2062 3 - - mr.2079 4 - - mr.2095 5 - --- 6 - all: Add support for the new `xrt_system` and `xrt_session` objects.
-1
doc/changes/ipc/mr.2094.md
··· 1 - 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.
-4
doc/changes/ipc/mr.2095.md
··· 1 - - server: Don't call teardown if mutex fails to be created. 2 - - server: Pass in log_level to init function. 3 - - server: Use correct log define error message. 4 - - server: Print more client info.
-1
doc/changes/ipc/mr.2096.md
··· 1 - server: Re-order functions [NFC]
-1
doc/changes/ipc/mr.2124.md
··· 1 - all: Add interface for XR_FB_passthrough in Ipc communication.
-1
doc/changes/ipc/mr.2133.1.md
··· 1 - client,server: Setting timer resolution (timeBeginPeriod) improves performance with NVIDIA drivers
-1
doc/changes/ipc/mr.2133.2.md
··· 1 - all: Forwards the results of server swapchain image waits to xrWaitSwapchainImage client calls
-1
doc/changes/ipc/mr.2133.3.md
··· 1 - server: Add "XRT_NO_STDIN" option disables stdin and prevents monado-service from terminating.
-2
doc/changes/ipc/mr.2180.md
··· 1 - all: Add support for get bounds rect function, used to implement 2 - `xrGetReferenceSpaceBoundsRect`.
-1
doc/changes/ipc/mr.565.md
··· 1 - 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.
-1
doc/changes/ipc/mr.685.md
··· 1 - server: Factor out the IPC server mainloop into a per-platform structure.
-1
doc/changes/ipc/mr.694.md
··· 1 - all: Transfer HMD blend mode, don't drop it on the floor.
-8
doc/changes/ipc/mr.721.md
··· 1 - --- 2 - - mr.754 3 - - mr.768 4 - - mr.800 5 - - mr.846 6 - --- 7 - all: Now that there is a interface that allows the compositor to support 8 - multi-client rendering use that instead of doing our own rendering.
-2
doc/changes/ipc/mr.768.md
··· 1 - all: Ensure that functions that require the compositor can't be called if a 2 - session has not been created yet.
-1
doc/changes/misc_features/mr.1229.md
··· 1 - scripts: Add Include-What-You-Use (IWYU) helper scripts.
-1
doc/changes/misc_features/mr.1290.md
··· 1 - gui: Use a single imgui.ini file from the config directory
-1
doc/changes/misc_features/mr.1875.md
··· 1 - t/ctl: Use common client connection connect code.
-1
doc/changes/misc_features/mr.1900.md
··· 1 - ext/openxr: Update headers to 1.0.28.
-2
doc/changes/misc_features/mr.1928.md
··· 1 - - m/vec2: Add float array helper 2 - - m/vec3: Add float array helper
-6
doc/changes/misc_features/mr.1939.md
··· 1 - --- 2 - - mr.1939 3 - - mr.1963 4 - - mr.2176 5 - --- 6 - - external: Update android-jni-wrap, add additional wrapped methods.
-1
doc/changes/misc_features/mr.1957.1.md
··· 1 - t/sdl_test: Use new OpenGL helpers to import swapchain images.
-1
doc/changes/misc_features/mr.1957.2.md
··· 1 - ext/imgui: Add helper to draw a image/texture with a cleared background color.
-1
doc/changes/misc_features/mr.1987.md
··· 1 - t/common: Refactor the builders so it will be easier to add hotswap support.
-7
doc/changes/misc_features/mr.1992.1.md
··· 1 - --- 2 - - mr.1992 3 - - mr.1999 4 - - issue.296 5 - - mr.2020 6 - --- 7 - t/common: Add support for new dynamic device roles.
-1
doc/changes/misc_features/mr.1992.2.md
··· 1 - t/sdl_test: Add support for new dynamic device roles.
-1
doc/changes/misc_features/mr.1992.3.md
··· 1 - t/cli: Add support for new dynamic device roles.
-1
doc/changes/misc_features/mr.2008.md
··· 1 - t/common: Refactor lighthouse builder to use vive_builder helper.
-1
doc/changes/misc_features/mr.2010.md
··· 1 - external/jni: Add argument to specify display mode id for surface creation.
-1
doc/changes/misc_features/mr.2013.md
··· 1 - t/libmonado: Add support for dynamic device roles.
-1
doc/changes/misc_features/mr.2015.md
··· 1 - t/service-lib: Increase the duration of the starting timeout for the IPC.
-1
doc/changes/misc_features/mr.2041.md
··· 1 - - Introduce `.mailmap` file.
-1
doc/changes/misc_features/mr.2055.1.md
··· 1 - t/ctl: Support recentering of local spaces.
-1
doc/changes/misc_features/mr.2055.2.md
··· 1 - t/libmonado: Support recentering of local spaces.
-1
doc/changes/misc_features/mr.2058.md
··· 1 - Introduce visual-inertial tracking interface header and remove the old SLAM tracker interface, remove XRT_HAVE_BASALT and XRT_HAVE_KIMERA from CMake
-1
doc/changes/misc_features/mr.2062.1.md
··· 1 - t/common: Add support for `xrt_system` and `xrt_session`.
-1
doc/changes/misc_features/mr.2062.2.md
··· 1 - t/cli: Add support for `xrt_system`.
-2
doc/changes/misc_features/mr.2062.3.md
··· 1 - t/sdl_test: Add support for `xrt_system` and `xrt_session`, also remove old 2 - events code.
-5
doc/changes/misc_features/mr.2063.md
··· 1 - --- 2 - - mr.2063 3 - - mr.2069 4 - --- 5 - ext/openxr: Bump OpenXR headers to 1.0.32
-1
doc/changes/misc_features/mr.2077.md
··· 1 - t/common: Implement SteamVR builder.
-2
doc/changes/misc_features/mr.2094.md
··· 1 - t/cli: Add new `info` command that prints information about the system, this is 2 - for end-user reports of failures to start `monado-service`.
-1
doc/changes/misc_features/mr.2099.md
··· 1 - t/libmonado: Support getting serial number from the device.
-1
doc/changes/misc_features/mr.2111.md
··· 1 - ext/openxr: Bump OpenXR headers to 1.0.33
-1
doc/changes/misc_features/mr.2122.md
··· 1 - cmake: remove unused ffmpeg dependency
-1
doc/changes/misc_features/mr.2148.md
··· 1 - ext/openxr: Bump OpenXR headers to 1.0.34
-1
doc/changes/misc_features/mr.2152.md
··· 1 - Add Nix flake files so that people that use the nix package manager can have an instant Monado development environment.
-4
doc/changes/misc_features/mr.2168.md
··· 1 - --- 2 - - issue.337 3 - --- 4 - cmake: enable policy CMP0083 for position-independent-executable support
-1
doc/changes/misc_features/mr.2170.md
··· 1 - cmake: add VERSION and SOVERSION properties to monado shared library
-1
doc/changes/misc_features/mr.2184.md
··· 1 - In `flake.nix` and `flake.lock`, updates `nixpkgs` to the version where the missing dependency was added.
-1
doc/changes/misc_features/mr.2208.md
··· 1 - Android: Update activity and service icons to the new official Monado logos, and use a modified version for in-process builds to indicate they are mainly for debugging.
-1
doc/changes/misc_features/mr.2209.md
··· 1 - Sign main branch CI-generated APKs for Android release builds.
-22
doc/changes/misc_features/mr.676.md
··· 1 - --- 2 - - mr.703 3 - - mr.783 4 - - mr.808 5 - - mr.817 6 - - mr.820 7 - - mr.918 8 - - mr.920 9 - - mr.942 10 - - mr.1020 11 - - mr.1178 12 - - mr.1341 13 - - mr.1357 14 - - mr.1369 15 - - mr.1372 16 - - mr.1377 17 - - mr.1385 18 - - mr.2232 19 - - mr.2204 20 - --- 21 - 22 - More improvements to the Android port.
-1
doc/changes/misc_features/mr.692.md
··· 1 - imgui: Add ImPlot demo window.
-2
doc/changes/misc_features/mr.695.md
··· 1 - Implement tracking overrides using wrapper devices and add a tracking override 2 - configuration gui.
-1
doc/changes/misc_features/mr.705.md
··· 1 - external/glad: Add EGL extension EGL_KHR_no_config_context.
-7
doc/changes/misc_features/mr.715.md
··· 1 - --- 2 - - mr.715 3 - - mr.1966 4 - --- 5 - a/gst: Add a small and fairly naive framework for integrating gstreamer pipelines 6 - into Monado pipelines. Enough to be able to push frames into it and use various 7 - encoder elements.
-6
doc/changes/misc_features/mr.739.md
··· 1 - --- 2 - - mr.743 3 - - mr.1322 4 - --- 5 - More work on the Windows port: fix timing, waiting, sleeping, handling the 6 - message queue.
-4
doc/changes/misc_features/mr.785.md
··· 1 - --- 2 - - issue.82 3 - --- 4 - Add JSON Schema for config files.
-4
doc/changes/misc_features/mr.809.md
··· 1 - For code that is implemented in C++, note that the default standard mode is now 2 - C++17 across all platforms and modules, instead of a mix of 14 and 17 like 3 - before. The CI remains the decider of what functionality is available, as it 4 - contains the oldest distribution we support (Debian Buster).
-6
doc/changes/misc_features/mr.984.md
··· 1 - --- 2 - - issue.72 3 - - mr.1342 4 - --- 5 - Add `cmake-format` config files and `scripts/format-cmake.sh` to keep our build 6 - system tidy.
-2
doc/changes/misc_fixes/mr.1262.1.md
··· 1 - cmake: Build system will now error out, rather than silently disable the option, 2 - if you specifically enable an option whose dependencies are unavailable.
-3
doc/changes/misc_fixes/mr.1262.2.md
··· 1 - cmake: Build system option `XRT_HAVE_SLAM` has been renamed to 2 - `XRT_FEATURE_SLAM` to more accurately describe it, with corresponding move from 3 - `xrt_config_have.h` to `xrt_config_build.h`.
-4
doc/changes/misc_fixes/mr.1396.md
··· 1 - --- 2 - - issue.175 3 - --- 4 - Fix build issue with Wayland on some distributions.
-4
doc/changes/misc_fixes/mr.1561.md
··· 1 - --- 2 - - issue.221 3 - --- 4 - Update vendored Catch2 to 2.13.10 to fix build issue.
-1
doc/changes/misc_fixes/mr.1816.md
··· 1 - t/sdl_test: Compile as UTF-8 to fix MSVC warning.
-2
doc/changes/misc_fixes/mr.1861.md
··· 1 - scripts: Add regex based ignores for codespell, needed because the ignore words 2 - list isn't properly case sensitive.
-4
doc/changes/misc_fixes/mr.1869.md
··· 1 - --- 2 - - mr.2126 3 - --- 4 - Various small warning fixes all over the codebase.
-1
doc/changes/misc_fixes/mr.1871.md
··· 1 - Various spelling fixes all over the codebase.
-1
doc/changes/misc_fixes/mr.1882.md
··· 1 - cmake: Handle multiple include of compiler flags.
-10
doc/changes/misc_fixes/mr.1886.md
··· 1 - --- 2 - - mr.1886 3 - - mr.2029 4 - - mr.2031 5 - - mr.2122 6 - - mr.2181 7 - - mr.2196 8 - - mr.2197 9 - --- 10 - - ci: Miscellaneous fixes, improvements, and updates.
-2
doc/changes/misc_fixes/mr.1890.md
··· 1 - ext/oxr: Add missing headers for unpublished monado extensions: 2 - `XR_MNDX_ball_on_a_stick_controller` and `XR_MNDX_hydra`.
-1
doc/changes/misc_fixes/mr.1909.md
··· 1 - t/ctl: Use correct ipc call for toggling client I/O.
-1
doc/changes/misc_fixes/mr.1918.md
··· 1 - t/common: Make it possible to build the RGB builder without PSVR driver.
-2
doc/changes/misc_fixes/mr.1921.md
··· 1 - - h/mercury: Fix warnings found with GCC 13. 2 - - t/common: Fix warnings found with GCC 13.
-1
doc/changes/misc_fixes/mr.1922.md
··· 1 - t/common: Fix building the Lighthouse builder without the Vive driver.
-1
doc/changes/misc_fixes/mr.1944.md
··· 1 - cmake: Fix GetGitRevisionDescription cmake module for MSys
-1
doc/changes/misc_fixes/mr.1945.md
··· 1 - t/sdl_test: sdl-test needs OpenGL4.5
-1
doc/changes/misc_fixes/mr.1946.md
··· 1 - misc: Various NFC format fixes and a removal of unused define.
-2
doc/changes/misc_fixes/mr.1948.md
··· 1 - t/android_common: Specify mutability flag for PendingIntent object, required 2 - for Android S+ (version 31 and above).
-2
doc/changes/misc_fixes/mr.1996.md
··· 1 - t/common: Fix creation on no driver available, only say we 2 - can create a system if we have a driver in legacy builder.
-1
doc/changes/misc_fixes/mr.2002.1.md
··· 1 - gitignore: Ignore pyenv local python version file
-1
doc/changes/misc_fixes/mr.2002.2.md
··· 1 - gradle: Migrate deprecated gradle's flavorDimension and buildToolsVersion
-1
doc/changes/misc_fixes/mr.2031.md
··· 1 - cmake: Fix build with SDL2 on Alpine Linux.
-1
doc/changes/misc_fixes/mr.2037.md
··· 1 - cmake: Suppress warnings from external headers.
-6
doc/changes/misc_fixes/mr.2040.md
··· 1 - --- 2 - - mr.2040 3 - - mr.2041 4 - - mr.2045 5 - --- 6 - cmake: Update CMake modules from upstream repositories.
-1
doc/changes/misc_fixes/mr.2041.md
··· 1 - Update outdated URLs, email addresses, and names.
-1
doc/changes/misc_fixes/mr.2057.md
··· 1 - t/common: Use new `u_builder` helper in most builder.
-3
doc/changes/misc_fixes/mr.2065.md
··· 1 - vcpkg: Remove SDL "base" feature. It has been removed upstream, see 2 - [MR](https://github.com/microsoft/vcpkg/commit/ea9f45d1bc03efbf43a3bbd0788d6a433b8fe445). 3 - Monado builds on Windows and the debug gui works (`XRT_DEBUG_GUI=1`).
-1
doc/changes/misc_fixes/mr.2123.md
··· 1 - ci: use proclamation 2.0.0
-4
doc/changes/misc_fixes/mr.2137.md
··· 1 - --- 2 - - issue.261 3 - --- 4 - - Update gitignore to exclude files intentionally in the repo.
-1
doc/changes/misc_fixes/mr.2141.md
··· 1 - cmake: add wayland-client include directory to comp_main target
-1
doc/changes/misc_fixes/mr.2190.md
··· 1 - Fix several minor bindings and input profile issues.
-4
doc/changes/misc_fixes/mr.2200.md
··· 1 - --- 2 - - mr.2226 3 - --- 4 - jnipp: Update/patch to fix issues, including crashes.
-4
doc/changes/misc_fixes/mr.2202.md
··· 1 - --- 2 - - mr.2202 3 - --- 4 - ci: Add CI for Ubuntu 24.04
-1
doc/changes/misc_fixes/mr.2227.md
··· 1 - build: Removed incorrect hidapi dependency from Rift S driver
-2
doc/changes/misc_fixes/mr.2228.1.md
··· 1 - t/north_star: In the North Star builder, add the SLAM device after 2 - the HMD device to avoid monado-service crash due to misordering.
-1
doc/changes/misc_fixes/mr.2228.3.md
··· 1 - 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.737.md
··· 1 - Ensure we are always initializing our mutexes.
-1
doc/changes/misc_fixes/mr.785.md
··· 1 - Make config file reading more robust.
-1
doc/changes/misc_fixes/mr.810.md
··· 1 - Move C++-only functionality into the newly-conventional namespaces.
-5
doc/changes/misc_fixes/mr.963.md
··· 1 - --- 2 - - issue.132 3 - --- 4 - Allow OpenGL to be found on \*nix without requiring GLX, which should allow a 5 - Wayland-only build.
-1
doc/changes/state_trackers/mr.1074.1.md
··· 1 - gui/calibration: Skip mode selection if there's only one mode.
-1
doc/changes/state_trackers/mr.1074.2.md
··· 1 - gui/calibration: Save/load parameters to file so that you don't have to change them every time.
-1
doc/changes/state_trackers/mr.1120.md
··· 1 - gui: Support RGBA/RGBx and unusual image strides in record window.
-1
doc/changes/state_trackers/mr.1126.md
··· 1 - OpenXR: Add support for RenderDoc frame capture of OpenXR applications between xrBeginFrame and xrEndFrame.
-1
doc/changes/state_trackers/mr.1144.md
··· 1 - gui: Add SW Ultrafast and SW Veryfast pipelines in record window.
-1
doc/changes/state_trackers/mr.1166.1.md
··· 1 - OpenXR: Add `XRT_CHECK_RESULT` to oxr space functions.
-1
doc/changes/state_trackers/mr.1166.2.md
··· 1 - OpenXR: Ensure even if relation is not locatable return only valid data.
-1
doc/changes/state_trackers/mr.1166.3.md
··· 1 - OpenXR: Improve logging in `xrLocateSpace`.
-3
doc/changes/state_trackers/mr.1312.md
··· 1 - OpenXR: Do not expose the XR_EXT_debug_utils extension, none of the functions 2 - where given out but we still listed the extension to the loader. So we put it 3 - behind a feature config that is always set to off.
-1
doc/changes/state_trackers/mr.1353.md
··· 1 - OpenXR: Make sure to init session fields as early as possible.
-1
doc/changes/state_trackers/mr.1355.md
··· 1 - OpenXR: Update headers to 1.0.23.
-1
doc/changes/state_trackers/mr.1356.1.md
··· 1 - gui: Make it possible to enter address and port for remote.
-1
doc/changes/state_trackers/mr.1356.2.md
··· 1 - gui: Expose the new Index Controller UI for the remote driver.
-1
doc/changes/state_trackers/mr.1399.md
··· 1 - OpenXR: Validate faceCount parameter of XrSwapchainCreateInfo.
-1
doc/changes/state_trackers/mr.1743.md
··· 1 - OpenXR: Now does the barrier insertion explicitly, see XRT comment for this MR.
-1
doc/changes/state_trackers/mr.1785.1.md
··· 1 - OpenXR: Refactor logging functions and use OutputDebugStringA on Windows.
-5
doc/changes/state_trackers/mr.1785.2.md
··· 1 - --- 2 - - mr.1785 3 - - mr.1889 4 - --- 5 - 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.2.md
··· 1 - OpenXR: Set extensions earlier in instance init.
-1
doc/changes/state_trackers/mr.1805.md
··· 1 - OpenXR: Refactor wait frame function to avoid setting state before we should.
-5
doc/changes/state_trackers/mr.1808.md
··· 1 - --- 2 - - mr.1808 3 - - issue.98 4 - --- 5 - OpenXR: Fix crashes when enabling headless extension but using graphics.
-1
doc/changes/state_trackers/mr.1814.md
··· 1 - gui: Add some tracing in the prober code.
-2
doc/changes/state_trackers/mr.1827.md
··· 1 - gui: Tweaks for the sinks gui, opened by default and make possible to hide the 2 - header.
-7
doc/changes/state_trackers/mr.1836.md
··· 1 - --- 2 - - mr.1836 3 - - mr.1867 4 - - issue.269 5 - - mr.2027 6 - --- 7 - OpenXR: Add support for `XR_EXT_eye_gaze_interaction`.
-1
doc/changes/state_trackers/mr.1865.md
··· 1 - OpenXR: Use truncating printf helpers from util.
-2
doc/changes/state_trackers/mr.1880.md
··· 1 - OpenXR: Check that argument performanceCounter to 2 - xrConvertWin32PerformanceCounterToTimeKHR is valid.
-2
doc/changes/state_trackers/mr.1890.md
··· 1 - OpenXR: Add missing cpp defines/checks for: `XR_HTCX_vive_tracker_interaction` 2 - and `XR_MNDX_hydra`.
-2
doc/changes/state_trackers/mr.1896.1.md
··· 1 - OpenXR: Add disabled `XR_EXT_palm_pose`, no device driver actually support it 2 - yet hence added in a disabled state.
-4
doc/changes/state_trackers/mr.1896.2.md
··· 1 - OpenXR: Add disabled `XR_MSFT_hand_intertaction`. 2 - The binding code has support for this extension, but the bindings are not 3 - used in any of the drivers so totally untested and would lead to the wrong 4 - expectations of the applications.
-1
doc/changes/state_trackers/mr.1899.md
··· 1 - OpenXR: Remove non-reachable return for `oxr_xrPathToString`
-5
doc/changes/state_trackers/mr.1901.md
··· 1 - --- 2 - - mr.1901 3 - - mr.2027 4 - --- 5 - OpenXR: Add support for `XR_EXT_hand_interaction` profile
-1
doc/changes/state_trackers/mr.1902.1.md
··· 1 - gui: General tidy and refactoring code to make it prettier.
-1
doc/changes/state_trackers/mr.1902.2.md
··· 1 - gui: Add code to draw a image to the background of the main window.
-2
doc/changes/state_trackers/mr.1903.md
··· 1 - OpenXR: Add XR_MNDX_system_buttons extension to expose system buttons for 2 - controllers where they have been omitted.
-1
doc/changes/state_trackers/mr.1904.md
··· 1 - OpenXR: Add OPPO MR controller extension.
-2
doc/changes/state_trackers/mr.1915.md
··· 1 - OpenXR: Fix profile look for `XR_EXT_hand_interaction` while not breaking 2 - `XR_msft_hand_interaction` binding look-up
-1
doc/changes/state_trackers/mr.1921.md
··· 1 - prober: Fix warnings found with GCC 13.
-1
doc/changes/state_trackers/mr.1928.md
··· 1 - gui: Fix warning with passing arrays.
-1
doc/changes/state_trackers/mr.1936.md
··· 1 - OpenXR: Implement `XR_EXT_performance_settings`.
-1
doc/changes/state_trackers/mr.1951.md
··· 1 - OpenXR: Implementation of XR_KHR_android_thread_settings.
-1
doc/changes/state_trackers/mr.1957.1.md
··· 1 - gui: Rename OpenGL sink file, slightly improve thread safety and add note.
-1
doc/changes/state_trackers/mr.1957.2.md
··· 1 - st/gui: Refactor a few OpenGL drawing code into helper.
-5
doc/changes/state_trackers/mr.1964.md
··· 1 - --- 2 - - mr.1964 3 - - mr.2066 4 - --- 5 - OpenXR: Verify size limit for swapchain.
-2
doc/changes/state_trackers/mr.1985.1.md
··· 1 - OpenXR: Prefer use of action ref in binding code, in other words make 2 - `oxr_action_attachment_bind` only use `oxr_action_ref` params.
-1
doc/changes/state_trackers/mr.1985.2.md
··· 1 - OpenXR: Refactor device getters.
-6
doc/changes/state_trackers/mr.1992.1.md
··· 1 - --- 2 - - mr.1992 3 - - mr.2073 4 - --- 5 - OpenXR: Add support for new dynamic device roles. The bindings from actions to 6 - devices will be recalculated when decides change.
-1
doc/changes/state_trackers/mr.1992.2.md
··· 1 - steamvr_drv: Add support for new dynamic device roles.
-1
doc/changes/state_trackers/mr.1996.md
··· 1 - prober: Quit without crashing if no driver is available.
-1
doc/changes/state_trackers/mr.2003.md
··· 1 - OpenXR: Route log output to Android logcat.
-1
doc/changes/state_trackers/mr.2005.1.md
··· 1 - oxr: Enable RenderDoc compiling on Android
-8
doc/changes/state_trackers/mr.2005.2.md
··· 1 - --- 2 - - mr.2005 3 - - mr.2044 4 - --- 5 - oxr: Enable VK_EXT_debug_utils extension for client side on the platform that 6 - support it. Since it can not be reliably detected if the extension was enabled 7 - by the application on `XR_KHR_vulkan_enable` instead use the the environmental 8 - variable `OXR_DEBUG_FORCE_VK_DEBUG_UTILS` to force it on.
-1
doc/changes/state_trackers/mr.2005.3.md
··· 1 - oxr: RenderDoc support on Vulkan/OpenGL ES client sides and Android platform, make rdc can be captured by the button in UI
-6
doc/changes/state_trackers/mr.2016.md
··· 1 - --- 2 - - mr.2016 3 - - mr.2032 4 - - mr.2027 5 - --- 6 - OpenXR: Implementation of XR_KHR_visibility_mask.
-2
doc/changes/state_trackers/mr.2018.1.md
··· 1 - OpenXR: Refactor reference space validation and support checking, code now 2 - supports per system set of supported reference spaces.
-8
doc/changes/state_trackers/mr.2018.2.md
··· 1 - --- 2 - - mr.2018 3 - - mr.2033 4 - - mr.2027 5 - --- 6 - OpenXR: Export local_floor if extension enabled and space is supported, since 7 - the extension is compile time we may break the space if the system actually 8 - doesn't support local_floor. Hopefully those cases should be rare.
-6
doc/changes/state_trackers/mr.2018.3.md
··· 1 - --- 2 - - mr.2018 3 - - mr.2027 4 - --- 5 - OpenXR: Export unbounded if extension enabled and space is supported, it's 6 - exposed via XR_MSFT_unbounded_reference_space.
-1
doc/changes/state_trackers/mr.2024.md
··· 1 - OpenXR: Fix `xrSyncActions`' return code with no action sets.
-2
doc/changes/state_trackers/mr.2027.1.md
··· 1 - OpenXR: Properly check all extension interaction profiles if enabled or 2 - supported in xrSuggestInteractionProfileBindings.
-4
doc/changes/state_trackers/mr.2027.2.md
··· 1 - OpenXR: Make many more extensions build time options, doesn't change which are 2 - enabled by default. This lets runtimes using Monado control which extensions are 3 - exposed, this needs to be build time options because extensions are listed 4 - before a connection is made to the service.
-2
doc/changes/state_trackers/mr.2035.md
··· 1 - OpenXR: Handle session not focused for action input and output and return 2 - XR_SESSION_NOT_FOCUSED where needed.
-1
doc/changes/state_trackers/mr.2038.md
··· 1 - OpenXR: Use xrt_device function helper.
-1
doc/changes/state_trackers/mr.2048.md
··· 1 - OpenXR: Add support for reference space usage.
-1
doc/changes/state_trackers/mr.2049.1.md
··· 1 - OpenXR: Track which graphics API was used to create the session.
-6
doc/changes/state_trackers/mr.2049.2.md
··· 1 - --- 2 - - mr.2049 3 - - mr.2059 4 - - mr.2083 5 - --- 6 - OpenXR: Implement XR_KHR_vulkan_swapchain_format_list.
-5
doc/changes/state_trackers/mr.2051.md
··· 1 - --- 2 - - mr.2051 3 - - mr.2054 4 - --- 5 - OpenXR: Complete implementation of extension XR_FB_display_refresh_rate.
-1
doc/changes/state_trackers/mr.2062.1.md
··· 1 - OpenXR: Add support for the new `xrt_system` and `xrt_session` objects.
-1
doc/changes/state_trackers/mr.2062.2.md
··· 1 - steamvr_drv: Add support for the new `xrt_system` and `xrt_session` objects.
-5
doc/changes/state_trackers/mr.2069.md
··· 1 - --- 2 - - mr.2063 3 - - mr.2069 4 - --- 5 - OpenXR: Fix unhandled enum in switch statements.
-2
doc/changes/state_trackers/mr.2072.1.md
··· 1 - OpenXR: Transition headless session to FOCUSED on xrBeginSession as per the 2 - extension, this fixes actions not being active in headless sessions.
-1
doc/changes/state_trackers/mr.2072.2.md
··· 1 - OpenXR: Tidy code a little bit and improve debugging of bindings.
-1
doc/changes/state_trackers/mr.2074.md
··· 1 - OpenXR: Add guards around overlay event code and tidy event code.
-1
doc/changes/state_trackers/mr.2075.md
··· 1 - OpenXR: Add extension XR_FB_composition_layer_image_layout.
-6
doc/changes/state_trackers/mr.2078.md
··· 1 - --- 2 - - mr.2078 3 - - mr.2082 4 - --- 5 - OpenXR: Add `XR_KHR_composition_layer_color_scale_bias` support, disabled by 6 - default because Monado's main compositor doesn't support it.
-1
doc/changes/state_trackers/mr.2082.md
··· 1 - OpenXR: Use correct define to test for extension support.
-2
doc/changes/state_trackers/mr.2087.md
··· 1 - OpenXR: Add `XR_FB_composition_layer_alpha_blend` support, disabled by 2 - default because Monado's main compositor doesn't support it.
-1
doc/changes/state_trackers/mr.2088.md
··· 1 - OpenXR: Add extension XR_FB_composition_layer_settings.
-1
doc/changes/state_trackers/mr.2102.md
··· 1 - steamvr_drv: Fill HMD properties for games and apps to recognize it correctly.
-1
doc/changes/state_trackers/mr.2109.1.md
··· 1 - OpenXR: Fix crashes on too many bindings to a single action.
-1
doc/changes/state_trackers/mr.2109.2.md
··· 1 - OpenXR: Increase internal limit of bindings per action.
-1
doc/changes/state_trackers/mr.2110.md
··· 1 - gui: Add infinitely fast trigger finger in remote UI.
-1
doc/changes/state_trackers/mr.2111.md
··· 1 - OpenXR: Switch to use new loader header.
-1
doc/changes/state_trackers/mr.2124.md
··· 1 - OpenXR: Implement extension 'XR_FB_passthrough'.
-1
doc/changes/state_trackers/mr.2129.md
··· 1 - OpenXR: Add extension XR_FB_composition_layer_depth_test.
-1
doc/changes/state_trackers/mr.2133.1.md
··· 1 - OpenXR: Fix binding init/updates not being reset for any-pose-subaction paths
-1
doc/changes/state_trackers/mr.2133.2.md
··· 1 - OpenXR: Fix `xrGetCurrentInteractionPath` returning incorrect paths for a particular hand becoming unbound
-1
doc/changes/state_trackers/mr.2146.md
··· 1 - OpenXR: Fix invalid timestamps for action cache updates.
-1
doc/changes/state_trackers/mr.2151.md
··· 1 - OpenXR: Get vendor id/name from server.
-1
doc/changes/state_trackers/mr.2171.md
··· 1 - OpenXR: Avoid calling `oxr_action_cache_stop_output` every time when `xrSyncActions` is called.
-1
doc/changes/state_trackers/mr.2180.md
··· 1 - OpenXR: Implement function 'xrGetReferenceSpaceBoundsRect'.
-4
doc/changes/state_trackers/mr.2210.md
··· 1 - --- 2 - - issue.375 3 - --- 4 - 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
doc/changes/state_trackers/mr.2217.md
··· 1 - OpenXR: support `XrEventDataVisibilityMaskChangedKHR` for visibility mask
-1
doc/changes/state_trackers/mr.2225.md
··· 1 - OpenXR: Ignore primaryViewConfigurationType with XR_MND_headless
-1
doc/changes/state_trackers/mr.458.1.md
··· 1 - OpenXR: Keep track of the union of each action set's action sub-action paths
-1
doc/changes/state_trackers/mr.458.2.md
··· 1 - OpenXR: Stricter path verification in `xrSyncActions`
-1
doc/changes/state_trackers/mr.458.3.md
··· 1 - OpenXR: Fix action state change/timestamp updates
-2
doc/changes/state_trackers/mr.686.md
··· 1 - prober: Minor fixes & tidy commits. Mostly around doc-comments and the string 2 - descriptor getter function.
-2
doc/changes/state_trackers/mr.688.md
··· 1 - OpenXR: Ignore XrSystemHandTrackingPropertiesEXT when hand tracking extension 2 - is not enabled.
-2
doc/changes/state_trackers/mr.705.md
··· 1 - OpenXR: Support EGL clients sending in no EGLConfig if the EGLDisplay supports 2 - EGL_KHR_no_config_context.
-1
doc/changes/state_trackers/mr.715.md
··· 1 - gui: Add a GUI for recording videos from the Valve Index.
-2
doc/changes/state_trackers/mr.735.md
··· 1 - prober: Change the default logging level to info so that people can see what 2 - drivers are disabled.
-2
doc/changes/state_trackers/mr.759.md
··· 1 - OpenXR: Use new multi compositor controls to set visibility and z_order if 2 - available. This is needed for when we are not in service mode.
-1
doc/changes/state_trackers/mr.830.md
··· 1 - gui: Show git description in `monado-gui` window title.
-1
doc/changes/state_trackers/mr.847.1.md
··· 1 - OpenXR: Add prefix to gfx related session functions to improve sorting.
-1
doc/changes/state_trackers/mr.847.2.md
··· 1 - OpenXR: Break out end frame handling to its own file since it's so big.
-1
doc/changes/state_trackers/mr.847.3.md
··· 1 - OpenXR: Fill in normalised sub-image offsets and sizes.
-1
doc/changes/state_trackers/mr.858.4.md
··· 1 - gui: Add tracing support
-1
doc/changes/state_trackers/mr.859.1.md
··· 1 - gui: Various fixes for video handling, null checking and wrong argument orders.
-2
doc/changes/state_trackers/mr.859.2.md
··· 1 - gui: Add support to record from ELP 3D camera and select DepthAI camera 2 - to calibration.
-1
doc/changes/state_trackers/mr.886.md
··· 1 - OpenXR: Add support for XR_KHR_swapchain_usage_input_attachment_bit.
-1
doc/changes/state_trackers/mr.897.md
··· 1 - OpenXR: Implement a basic support XR_FB_display_refresh_rate that can report the current refresh rate.
-2
doc/changes/tracking/mr.1381.md
··· 1 - mercury: Add Levenberg-Marquardt optimizer and lots of improvements. Makes hand 2 - tracking finally somewhat usable.
-1
doc/changes/tracking/mr.1893.1.md
··· 1 - tracking: Remove unused destroy function on async interface.
-1
doc/changes/tracking/mr.1893.2.md
··· 1 - hand: General tidy of the async code.
-1
doc/changes/tracking/mr.1893.3.md
··· 1 - hand: Rename new user hand estimation switch.
-1
doc/changes/tracking/mr.1893.4.md
··· 1 - hand: Add env variables to control prediction.
-1
doc/changes/tracking/mr.1949.md
··· 1 - t/hand: Reduce relation history lock contention
-1
doc/changes/tracking/mr.2131.md
··· 1 - h/mercury: Push hand rect masks to the SLAM tracker sinks
-1
doc/changes/xrt/mr.1054.md
··· 1 - Remove `xrt_view::display::{w|h}_meters`, they are not used anywhere.
-3
doc/changes/xrt/mr.1092.md
··· 1 - Rename `xrt_space_graph` (and related `m_space_graph_*` functions in 2 - `m_space.h`) to `xrt_relation_chain` to more accurately reflect the function of 3 - this structure.
-4
doc/changes/xrt/mr.1105.md
··· 1 - Add the ability for `xrt_device` to dynamically change the fov of the views 2 - return back to the applications. We do this by addning a new function called 3 - `xrt_device::get_view_poses` and removing the old one. This function now returns 4 - view poses, fovs and the observer position in one go.
-2
doc/changes/xrt/mr.1147.md
··· 1 - Add `XRT_TIMEOUT` to be used for operations that can timeout, same value as 2 - `VK_TIMEOUT` for extra compatibility.
-2
doc/changes/xrt/mr.1164.1.md
··· 1 - Make it possible when creating the Vulkan client compositor to say if timeline 2 - semaphores has been enabled.
-4
doc/changes/xrt/mr.1164.2.md
··· 1 - Add `xrt_compositor_semaphore` object, add interfaces to `xrt_compositor` for 2 - creating the new semaphore object. Also add interface for passing in semaphore 3 - to `xrt_compositor::layer_commit`. Added support for these interface through 4 - the whole Monado stack.
-2
doc/changes/xrt/mr.1166.md
··· 1 - Add `XRT_CHECK_RESULT` define to be used for ensure that the result from 2 - functions are read and acted upon.
-2
doc/changes/xrt/mr.1231.md
··· 1 - xrt: Add new `XRT_TRACING` environmental variable to control if tracing is 2 - enabled or not, this is to work around crashes in Perfetto when running the CTS.
-7
doc/changes/xrt/mr.1250.md
··· 1 - --- 2 - - mr.1250 3 - - mr.1257 4 - - mr.1259 5 - --- 6 - Introduce `xrt_uuid_t` and `xrt_luid_t` structs and add these as field to 7 - `xrt_system_compositor_info` to more correctly transport UUID and LUID values.
-3
doc/changes/xrt/mr.1258.md
··· 1 - xrt: Add xrt_swapchain_create_properties to allow client compositors and IPC 2 - code to query the main compositor how many images to create on a swapchain, 3 - and provide an extension point for more properties as needed.
-8
doc/changes/xrt/mr.1275.md
··· 1 - --- 2 - - mr.1275 3 - - mr.1279 4 - - mr.1283 5 - - mr.1285 6 - - mr.1299 7 - --- 8 - 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.
-10
doc/changes/xrt/mr.1285.md
··· 1 - --- 2 - - mr.1285 3 - - mr.1299 4 - - mr.1313 5 - --- 6 - Introduce `xrt_builder` struct and various functions on `xrt_prober` 7 - to support them. This is a follow up on the `xrt_system_devices` changes. 8 - These make it much easier to build more complex integrated systems like WinMR 9 - and Rift-S, and moves a lot of contextual configuration out of generic drivers 10 - like the hand-tracker code needing to know which device it was being used by.
-1
doc/changes/xrt/mr.1296.md
··· 1 - Make an `xrt_builder` specifically for Lighthouse (vive, index, etc.), and remove Lighthouse devices from the legacy builder.
-3
doc/changes/xrt/mr.1328.md
··· 1 - No longer include any util headers (in this case `u_time.h`), the XRT headers 2 - are supposed to be completely self contained. The include also messed with build 3 - refactoring in the auxiliary directory.
-1
doc/changes/xrt/mr.1408.md
··· 1 - Mark haptic value in xrt_device_set_output as const.
-1
doc/changes/xrt/mr.1421.md
··· 1 - Remove unused `xrt_layer_cube_data::image_array_index` field.
-1
doc/changes/xrt/mr.1553.md
··· 1 - Add a single header for limits, like max number of swapchain images.
-2
doc/changes/xrt/mr.1567.1.md
··· 1 - Add `XRT_IPC_SERVICE_PID_FILE_NAME` cmake variable to configure the name of pid 2 - file.
-2
doc/changes/xrt/mr.1567.2.md
··· 1 - Add `XRT_OXR_RUNTIME_SUFFIX` cmake variable to configure the suffix of the 2 - output openXR library.
-6
doc/changes/xrt/mr.1569.md
··· 1 - Remove the `xrt_gfx_native.h` as it is no longer needed, it has been replaced 2 - by `compositor/main` own interface file. In the past it was the state tracker 3 - or IPC layer that created the `xrt_system_compositor` directly by calling this 4 - function. But now it's the `xrt_instance`s responsibility, and it can pick 5 - which compositor to create. So this interface becomes less special and just 6 - one of many possible compositors implementations.
-3
doc/changes/xrt/mr.1578.md
··· 1 - Added `XRT_STRUCT_INIT` define to help with headers and code that needs to 2 - compile as both C and C++ code. This is due to differences in default struct 3 - initialization.
-2
doc/changes/xrt/mr.1621.md
··· 1 - Document using `XRT_INPUT_GENERIC_UNBOUNDED_SPACE_POSE` unbounded reference 2 - space.
-3
doc/changes/xrt/mr.1732.md
··· 1 - Remote `xrt_prober_device::product_name` array, the value was only used 2 - internally by the prober. There is already a access function for the product 3 - name that is needed by USB, so make the interface less confusing.
-5
doc/changes/xrt/mr.1743.md
··· 1 - Added functions to swapchain to explicitly do the barrier insertion. This pushes 2 - the handling of barrier calls into the OpenXR state tracker, while the changes 3 - are minimal for the client compositors they no longer have the responsibility to 4 - implicitly to insert a barrier when needed. Allows us to in the future support 5 - extensions.
-5
doc/changes/xrt/mr.1755.md
··· 1 - Introduce `xrt_layer_frame_data` struct that holds per frame data for the 2 - `xrt_compositor` layer interface. This is a sibling to the `xrt_layer_data` 3 - struct which holds per layer data. Both are structs instead of arguments to make 4 - it easier to pass the needed data through the layers of Monado, and for easier 5 - extension further down the line.
-4
doc/changes/xrt/mr.1763.md
··· 1 - Extend `xrt_swapchain_create_properties` to allow the main compositor request 2 - extra bits to be used beyond those requested by the OpenXR app. Some compositors 3 - might need extra usage bits set beyond just the constant sampled bit. This also 4 - ensures that images have exactly the same usages in both the compositor and app.
-1
doc/changes/xrt/mr.1836.md
··· 1 - Add eye gaze enums to enable exposing eye gaze data to the application.
-1
doc/changes/xrt/mr.1860.1.md
··· 1 - Add Gen 3.0 and Tundar vive tracker device names.
-1
doc/changes/xrt/mr.1860.2.md
··· 1 - Add generic vive tracker input and output defines.
-6
doc/changes/xrt/mr.1890.1.md
··· 1 - --- 2 - - mr.1841 3 - - mr.1890 4 - --- 5 - Add and passthrough enabled/disabled state of the `XR_EXT_hand_tracking` 6 - extension.
-2
doc/changes/xrt/mr.1890.2.md
··· 1 - Add and passthrough enabled/disabled state of the `XR_EXT_eye_gaze_interaction` 2 - extension.
-2
doc/changes/xrt/mr.1896.md
··· 1 - Add a new `xrt_input_name` entry, `XRT_INPUT_GENERIC_PALM_POSE` for 2 - `XR_EXT_palm_pose`.
-1
doc/changes/xrt/mr.1901.md
··· 1 - general: Add support for `XR_EXT_hand_interaction` profile.
-1
doc/changes/xrt/mr.1904.md
··· 1 - Add OPPO MR controller defines.
-2
doc/changes/xrt/mr.1907.md
··· 1 - Add trailing commas to all enums, reduces the size of any future changes to 2 - those enums.
-1
doc/changes/xrt/mr.1915.md
··· 1 - Add new `xrt_device_name` enum entry for `XR_EXT_hand_interaction`.
-2
doc/changes/xrt/mr.1936.md
··· 1 - Add performance settings interface, used to implement 2 - `XR_EXT_performance_settings`.
-4
doc/changes/xrt/mr.1951.md
··· 1 - Add `xrt_thread_hint` enum and `xrt_compositor::set_thread_hint` function, this 2 - function lets us implement the 3 - [XR_KHR_android_thread_settings](https://registry.khronos.org/OpenXR/specs/1.0/man/html/XR_KHR_android_thread_settings.html) 4 - extension.
-8
doc/changes/xrt/mr.1957.md
··· 1 - --- 2 - - mr.1957 3 - - mr.2066 4 - --- 5 - Add `xrt_limited_unique_id` and `xrt_limited_unique_id_t` types to donate a 6 - special id that is unique to the current process. Use that to decorate 7 - `xrt_swapchain_native` with a limited unique id, useful for caching of the 8 - `xrt_image_native` imports of swapchains and other objects.
-5
doc/changes/xrt/mr.1964.md
··· 1 - --- 2 - - mr.1964 3 - - mr.2066 4 - --- 5 - Add size limit for swapchain.
-6
doc/changes/xrt/mr.1992.md
··· 1 - --- 2 - - mr.1992 3 - - mr.2019 4 - --- 5 - Extend `xrt_system_devices` with dynamic roles for input devices and add 6 - function `xrt_system_devices_get_roles` to get updated devices.
-1
doc/changes/xrt/mr.2002.md
··· 1 - xrt/android: bump AGP to 8.1.0 and use latest google-java-format, spotless and svg-2-android-vector
-8
doc/changes/xrt/mr.2016.md
··· 1 - --- 2 - - mr.2016 3 - - mr.2032 4 - - mr.2034 5 - - mr.2067 6 - --- 7 - Add `xrt_device` visibility mask interface, this is used to implement 8 - the OpenXR extension `XR_KHR_visibility_mask`.
-6
doc/changes/xrt/mr.2018.md
··· 1 - --- 2 - - mr.2018 3 - - mr.2048 4 - - mr.1796 5 - --- 6 - - 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
doc/changes/xrt/mr.2034.md
··· 1 - xrt: Make `xrt_device::get_visibility_mask` return `xrt_return_t`.
-2
doc/changes/xrt/mr.2038.md
··· 1 - Tidy the `xrt_device.h` file to make sure the destroy function is the last 2 - function on the device.
-3
doc/changes/xrt/mr.2039.md
··· 1 - Add `XRT_ERROR_DEVICE_FUNCTION_NOT_IMPLEMENTED` error message, used to signal 2 - when a function that isn't implemented is called. It is not meant to query the 3 - availability of the function or feature, only a error condition on bad code.
-1
doc/changes/xrt/mr.2042.md
··· 1 - handles: Add defines to characterize the behavior of the Vulkan graphics buffer import functionality: on most platforms, the import consumes the reference, but on some it just increases a ref count/clones the reference.
-2
doc/changes/xrt/mr.2047.md
··· 1 - xrt: Improve the xrt_reference helper functions, making them more clear and 2 - better documented.
-2
doc/changes/xrt/mr.2048.1.md
··· 1 - Add UNBOUNDED generic space poses, and re-order some of the 2 - generic inputs.
-8
doc/changes/xrt/mr.2048.2.md
··· 1 - --- 2 - - mr.2048 3 - - mr.2092 4 - --- 5 - Add reference space usage information, this lets the space overseer know when 6 - a space has been used or no longer used. This allows for doing various things 7 - like recentering when an application starts, or stopping tracking of the floor 8 - if the stage or LOCAL_FLOOR space isn't used.
-1
doc/changes/xrt/mr.2049.1.md
··· 1 - Fix graphics includes in the xrt_openxr_includes.h header.
-1
doc/changes/xrt/mr.2049.2.md
··· 1 - Use uint32_t instead of int64_t for xrt_swapchain_create_info::format.
-2
doc/changes/xrt/mr.2049.3.md
··· 1 - Add formats list to xrt_swapchain_create_info, used to implement the OpenXR 2 - extension XR_KHR_vulkan_swapchain_format_list.
-2
doc/changes/xrt/mr.2051.1.md
··· 1 - For display refresh info add hz prefix, follow code style and add limit to 2 - refresh rate array.
-3
doc/changes/xrt/mr.2051.2.md
··· 1 - Add new API in xrt_compositor and xrt_multi_compositor_control interfaces for 2 - display refresh rate setting and getting, used to implement 3 - XR_FB_display_refresh_rate.
-1
doc/changes/xrt/mr.2055.md
··· 1 - Add new recenter function on `xrt_space_overseer` and new result code for when recentering isn't supported.
-4
doc/changes/xrt/mr.2062.md
··· 1 - Introduce two new objects `xrt_system`, `xrt_session`, `xrt_session_event` and 2 - `xrt_session_event_sink`. Along with two new error returns 3 - `XRT_ERROR_IPC_COMPOSITOR_NOT_CREATED` and `XRT_ERROR_COMPOSITOR_NOT_SUPPORTED`. 4 - Also moves the compositor events to the session.
-2
doc/changes/xrt/mr.2081.1.md
··· 1 - Add `xrt_session_event_reference_space_change_pending` event, this is used to 2 - generate `XrEventDataReferenceSpaceChangePending` in OpenXR.
-3
doc/changes/xrt/mr.2081.2.md
··· 1 - Pass down broadcast `xrt_session_event_sink` pointer to prober and builder when 2 - creating system, this is used to broadcast events to all sessions. Such as 3 - reference space change pending event.
-3
doc/changes/xrt/mr.2086.md
··· 1 - - xrt_defines: Added new define `XRT_MAX_VIEWS` to define the maximum number of views supported by the system. This is used to define the maximum number of views supported by the distortion calculation as well as other view-related arrays. 2 - 3 - - xrt_device: Added new function `xrt_device_get_view_configuration` to get the view configuration for a device. Array size is determined by `XRT_MAX_VIEWS`.
-1
doc/changes/xrt/mr.2089.md
··· 1 - The runtime name is now picked up from the CMake project description.
-6
doc/changes/xrt/mr.2091.md
··· 1 - --- 2 - - mr.2091 3 - - mr.2107 4 - --- 5 - Add `xrt_device::ref_space_usage` function to let a `xrt_device` know if a 6 - reference it's powering is being used or not by any client.
-2
doc/changes/xrt/mr.2094.1.md
··· 1 - Make it possible to get builders from prober, this is useful for generating 2 - reports for end-user debugging.
-2
doc/changes/xrt/mr.2094.2.md
··· 1 - Make it possible to control where dump goes, this is useful for generating 2 - reports for end-user debugging.
-1
doc/changes/xrt/mr.2116.md
··· 1 - Prevent systemd from activating the user unit in quick succession, if it crashes on startup. This keep the units from entering a failed state.
-1
doc/changes/xrt/mr.2117.md
··· 1 - config: Add `XRT_OS_ANDROID_USE_AHB` for Android platform. If this macro is not defined, Vulkan memory will be used to create swapchains.
-2
doc/changes/xrt/mr.2121.md
··· 1 - xrt: Support STAGE space to be tracked by xrt_devices and implement in 2 - steamvr_lh, survive and remote drivers.
-4
doc/changes/xrt/mr.2149.md
··· 1 - --- 2 - - mr.2149 3 - --- 4 - Support overriding steamvr path with the `STEAMVR_PATH` environment variable.
-2
doc/changes/xrt/mr.2180.md
··· 1 - Add `XRT_SPACE_BOUNDS_UNAVAILABLE` and `XRT_ERROR_COMPOSITOR_FUNCTION_NOT_IMPLEMENTED` enum, 2 - and `xrt_compositor::get_reference_bounds_rect` function to implement `xrGetReferenceSpaceBoundsRect`
-1
doc/changes/xrt/mr.2182.md
··· 1 - Fix compile error in t_imu.cpp due to missing header
-1
doc/changes/xrt/mr.2191.md
··· 1 - Generate the `enum xrt_input_name` from a macro to avoid code duplication
-4
doc/changes/xrt/mr.697.md
··· 1 - Added frame timing code that when the underlying vulkan driver supports the 2 - VK_GOOGLE_display_timing extension greatly improves the timing accuracy of the 3 - compositor. Along with this tracing code was added to better help use understand 4 - what was happening during a frame.
-1
doc/changes/xrt/mr.704.md
··· 1 - Add functionality to disable individual drivers in the configuration file.
-1
doc/changes/xrt/mr.705.1.md
··· 1 - Return `xrt_result_t` from `xrt_gfx_provider_create_gl_egl`.
-5
doc/changes/xrt/mr.705.2.md
··· 1 - --- 2 - - mr.768 3 - --- 4 - Add `XRT_ERROR_EGL_CONFIG_MISSING` error, to handle missing config from EGL 5 - compositor creation call.
-1
doc/changes/xrt/mr.715.md
··· 1 - Add small helper function for pushing frames.
-2
doc/changes/xrt/mr.721.1.md
··· 1 - Add `xrt_compositor_fence` interface to handle service and client render 2 - synchronisation.
-1
doc/changes/xrt/mr.721.2.md
··· 1 - Add `XRT_ERROR_THREADING_INIT_FAILURE` a new threading related error code.
-3
doc/changes/xrt/mr.721.3.md
··· 1 - Add alternative functions to `xrt_compositor::wait_frame` called 2 - `xrt_compositor::predict_frame` and `xrt_compositor::mark_frame` these allow one 3 - to do frame timing without having to block on the service side.
-4
doc/changes/xrt/mr.721.4.md
··· 1 - Add `xrt_multi_compositor_control` that allows the `xrt_system_compositor` to 2 - expose a interface that the IPC layer can use to manage multiple clients 3 - without having to do the rendering. This allows us to move a lot of the code 4 - out the IPC layer and make it more about passing calls.
-3
doc/changes/xrt/mr.721.5.md
··· 1 - Pass `XrFrameEndInfo::displayTime` to `xrt_compositor::layer_begin` so that the 2 - compositor can correctly schedule frames, most importantly do not display them 3 - too early that might lead to stutter.
-7
doc/changes/xrt/mr.723.md
··· 1 - --- 2 - - mr.754 3 - - mr.807 4 - --- 5 - Make `xrt_swapchain` be reference counted. This will greatly help with 6 - handling swapchains for multiple clients in the compositor rendering pipeline 7 - where a client might go away while the compositor is using it.
-2
doc/changes/xrt/mr.749.md
··· 1 - Make `enum xrt_blend_mode` an array instead of a bitfield, so that drivers can 2 - specify which one is preferred.
-2
doc/changes/xrt/mr.768.md
··· 1 - Add new IPC session not created error `XRT_ERROR_IPC_SESSION_NOT_CREATED`, as 2 - some functions cannot be called without first creating a session.
-2
doc/changes/xrt/mr.794.md
··· 1 - Make eye_relation argument to xrt_device_get_view_pose const, more safety for 2 - everybody.
-2
doc/changes/xrt/mr.800.md
··· 1 - Add `XRT_ERROR_IPC_SESSION_ALREADY_CREATED` error message to signal that a 2 - session has already been created on this connection.
-4
doc/changes/xrt/mr.810.md
··· 1 - --- 2 - - issue.61 3 - --- 4 - Add a conventions page.
-2
doc/changes/xrt/mr.847.md
··· 1 - Send down sub-image offsets and sizes in normalised form, this makes it so that 2 - compositor does not need to track the size of swapchains.
-2
doc/changes/xrt/mr.867.md
··· 1 - Add `use_dedicated_allocation` field to `xrt_image_native` struct to track if 2 - dedicated allocation is required.
-1
doc/changes/xrt/mr.870.md
··· 1 - Add xrt_vec3_f64 struct.
-2
doc/changes/xrt/mr.975.md
··· 1 - Make `xrt_system_compositor_info::supported_blend_modes` an array with an 2 - adjacent count field.
-2
doc/changes/xrt/mr.977.md
··· 1 - Rename all `num_` parameters and fields in the interface, typically to `_count` 2 - but sometimes `_capacity`, to match OpenXR convention.