The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

doc: Update CHANGELOG.md

+179
+179
doc/CHANGELOG.md
··· 5 5 SPDX-FileCopyrightText: 2020 Collabora, Ltd. and the Monado contributors 6 6 ``` 7 7 8 + ## Monado 0.3.0 (2020-07-10) 9 + 10 + - Major changes 11 + - Centralise the logging functionality in Monado to a single util helper. 12 + Previously most of our logging was done via fprints and gated behind booleans, 13 + now there are common functions to call and a predfined set of levels. 14 + ([!408](https://gitlab.freedesktop.org/monado/monado/merge_requests/408), 15 + [!409](https://gitlab.freedesktop.org/monado/monado/merge_requests/409)) 16 + - XRT Interface 17 + - compositor: Remove the `array_size` field from the struct, this was the only 18 + state tracker supplied value that was on the struct, only have values that the 19 + compositor decides over on the struct. 20 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 21 + - Improve Doxygen documentation of interfaces. Now the inheritance structure and 22 + implementation of interfaces is shown in the docs, and helper functions that 23 + call through function pointers are listed as "member functions", to help 24 + developers understand the internal structure of Monado better. 25 + ([!365](https://gitlab.freedesktop.org/monado/monado/merge_requests/365), 26 + [!367](https://gitlab.freedesktop.org/monado/monado/merge_requests/367)) 27 + - xrt: Add xrt_result_t return type to many compositor functions that previously 28 + had no way to indicate failure. 29 + ([!369](https://gitlab.freedesktop.org/monado/monado/merge_requests/369)) 30 + - compositor: Introduce `xrt_swapchain_create_info` simplifying the argument 31 + passing between various layers of the compositor stack and also simplify future 32 + refactoring projects. 33 + ([!407](https://gitlab.freedesktop.org/monado/monado/merge_requests/407)) 34 + - State Trackers 35 + - OpenXR: Update headers to 1.0.9. 36 + ([!358](https://gitlab.freedesktop.org/monado/monado/merge_requests/358)) 37 + - OpenXR: Verify that the XrViewConfigurationType is supported by the system as 38 + required by the OpenXR spec in xrEnumerateEnvironmentBlendModes. 39 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 40 + - OpenXR: Return the correct error code when verifying the sub action, if it is 41 + a 42 + valid sub action path but not given at action creation we should return 43 + `XR_ERROR_PATH_UNSUPPORTED`. 44 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 45 + - OpenXR: Validate the subImage data for both projection and quad layers layers, 46 + refactor code out so it can be shared with the different types of layers. Need 47 + to track some state on the `oxr_swapchain` in order to do the checking. 48 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 49 + - OpenXR: Correct the return error code for action and action set localized name 50 + validation. 51 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 52 + - OpenXR: Correct the error messages on sub action paths errors. 53 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 54 + - OpenXR: Track the name and localized name for both actions and action sets, 55 + that 56 + way we can make sure that there are no duplicates. This is required by the 57 + spec. ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 58 + - OpenXR: Do better checking if action sets and actions have been attached to the 59 + session or not. 60 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 61 + - OpenXR: Validate the arguments for `xrSuggestInteractionProfileBindings` better 62 + so that it follows the spec better. 63 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 64 + - OpenXR: Rework the logging formatting of error messages, this makes it easier 65 + to 66 + read for the application developer. 67 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 68 + - OpenXR: Correctly ensure that the application has called the required get 69 + graphics requirements function when creating a session. 70 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 71 + - OpenXR: When a `XrSession` is destroyed purge the event queue of any events 72 + that 73 + references to it so that no events gets delivered to the applications with 74 + stales handles. 75 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 76 + - OpenXR: Make the event queue thread safe, all done with a simple mutex that is 77 + not held for long at all. 78 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 79 + - OpenXR: A major overhaul of the swapchain acquire, wait and release code. This 80 + makes it almost completely conformant with the spec. Tricky parts include that 81 + multiple images can be acquired, but only one can be waited on before being 82 + released. 83 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 84 + - OpenXR: Enforce that static swapchains can only be acquired once, this is 85 + required by the spec and make sure that a image is only rendered to once, and 86 + allows the runtime to perform special optimizations on the image. 87 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 88 + - OpenXR: Make the function `xrGetReferenceSpaceBoundsRect` at least conform to 89 + the spec without actually implementing it, currently we do not track bounds in 90 + Monado. 91 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 92 + - OpenXR: Make the session state changes obey the specification. The code is 93 + fairly hair as is and should be improved at a later time. 94 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 95 + - OpenXR: Use the correct XrPath for `/user/gamepad` while it sits in the users 96 + hand itsn't `/user/hand/gamepad` as previously believed. 97 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 98 + - OpenXR: Where used make sure we verify the view configuration type is a valid 99 + enum value, the code is setup so that we in the future can support new values 100 + via extensions easily. 101 + ([!368](https://gitlab.freedesktop.org/monado/monado/merge_requests/368)) 102 + - OpenXR: More correctly verify the interactive profile binding data, including 103 + the given interactive profile is correct and the binding point is valid. 104 + ([!377](https://gitlab.freedesktop.org/monado/monado/merge_requests/377)) 105 + - OpenXR: Transform input types in a somewhat flexible, composable way. Also, do 106 + conversion at sync time, and use the transformed values to evaluate if the 107 + input has changed, per the spec. 108 + ([!379](https://gitlab.freedesktop.org/monado/monado/merge_requests/379)) 109 + - OpenXR: Tidy the extensions generated by the script and order them according 110 + to 111 + extension prefix, starting with KHR, EXT, Vendor, KHRX, EXTX, VendorX. Also 112 + rename the `MND_ball_on_stick_controller` to `MNDX_ball_on_a_stick_controller`. 113 + ([!410](https://gitlab.freedesktop.org/monado/monado/merge_requests/410)) 114 + - OpenXR: Fix overly attached action sets, which would appear to be attached to 115 + a 116 + session even after the session has been destroyed. Also tidy up comments and 117 + other logic surrounding this. 118 + ([!411](https://gitlab.freedesktop.org/monado/monado/merge_requests/411)) 119 + - Drivers 120 + - psvr: Normalize the rotation to not trip up the client app when it gives the 121 + rotation back to `st/oxr` again. 122 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 123 + - vive: Create vive_config module to isolate config code and avoid duplication 124 + between controller and headset code. 125 + vive: Probe for controllers in vive_proper 126 + interface. 127 + vive: Fix a bug where using the Vive Pro crashed Monado. 128 + vive: Fix a 129 + bug where the controller didn't parse JSON vectors correctly. 130 + vive: Move 131 + missing functions to and use u_json. 132 + ([!405](https://gitlab.freedesktop.org/monado/monado/merge_requests/405)) 133 + - vive: Add support for Gen1 and Gen2 Vive Trackers. 134 + ([!406](https://gitlab.freedesktop.org/monado/monado/merge_requests/406)) 135 + - vive: Port to new u_logging API. 136 + ([!417](https://gitlab.freedesktop.org/monado/monado/merge_requests/417)) 137 + - comp: Set a compositor window title. 138 + ([!418](https://gitlab.freedesktop.org/monado/monado/merge_requests/418)) 139 + - IPC 140 + - server: Almost completely overhaul the handling of swapchain life cycle 141 + including: correctly track which swapchains are alive; reuse ids; enforce the 142 + maximum number of swapchains; and destroy underlying swapchains when they are 143 + destroyed by the client. 144 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 145 + - util: Make sure to not access NULL control messages, say in the case of the 146 + server failing to create a swapchain. Also add a whole bunch of paranoia when 147 + it comes to the alignment of the control message buffers. 148 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 149 + - ipc: Return XR_ERROR_INSTANCE_LOST on IPC errors. 150 + ([!369](https://gitlab.freedesktop.org/monado/monado/merge_requests/369)) 151 + - Compositor 152 + - main: Include `<math.h>` in layers renderer for missing `tanf` function. 153 + ([!358](https://gitlab.freedesktop.org/monado/monado/merge_requests/358)) 154 + - swapchain: Give out the oldset image index when a image is acquired. This logic 155 + can be made better, but will work for the good case. 156 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 157 + - swapchain: Close any FDs that are still valid, for instance the ipc server 158 + copies the FDs to the client. 159 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 160 + - client: When we give a image fd to the either OpenGL or Vulkan it is consumed 161 + and can not be rused. So make sure that it is set to an invalid fd value on the 162 + `xrt_image_fd` on the owning `xrt_swapchain_fd`. 163 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 164 + - main: We were alpha blending all layers previously, but now we support the 165 + layer flag that OpenXR gives us. We do this by using different `VkImageView`s 166 + with different component swizzles. 167 + ([!394](https://gitlab.freedesktop.org/monado/monado/merge_requests/394)) 168 + - layer_rendering: Use the visibility flags on quad to correctly show the layers 169 + in each eye. 170 + ([!394](https://gitlab.freedesktop.org/monado/monado/merge_requests/394)) 171 + - Helper Libraries 172 + - os/threading: Include `xrt_compiler.h` to fix missing stdint types. 173 + ([!358](https://gitlab.freedesktop.org/monado/monado/merge_requests/358)) 174 + - util: Add a very simple fifo for indices, this is used to keep track of 175 + swapchain in order of age (oldness). 176 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 177 + - util: Expand `u_hashset` to be able to automatically allocate a `u_hashet_item` 178 + and insert it. 179 + ([!359](https://gitlab.freedesktop.org/monado/monado/merge_requests/359)) 180 + - Misc. Features 181 + - build: Allow enabling inter-procedural optimization in CMake GUIs, if supported 182 + by platform and compiler. 183 + ([!330](https://gitlab.freedesktop.org/monado/monado/merge_requests/330)) 184 + - Misc. Fixes 185 + - No significant changes 186 + 8 187 ## Monado 0.2 (2020-05-29) 9 188 10 189 - Major changes