Commit graph

5569 commits

Author SHA1 Message Date
Jakob Bornecrantz 274b06cba3 st/oxr: Tidy oxr_input_combine_input function and call to function [NFC] 2023-12-11 16:16:34 +00:00
Jakob Bornecrantz 291d0163b6 st/oxr: Refactor input type to string into header [NFC] 2023-12-11 16:16:34 +00:00
Jakob Bornecrantz 6b8728a95b u/system: Fix hand-tracking devices not being assigned in helper 2023-12-11 16:16:34 +00:00
Jakob Bornecrantz bb1af47607 xrt: Change compositor events to be session events
The xrt_compositor_pull_events functions of the native compositors
where never called by the multi client module (aka multi compositor).
2023-12-10 17:05:55 +00:00
Jakob Bornecrantz 113278c68d xrt: Refactor native compositor creation 2023-12-10 17:01:51 +00:00
Jakob Bornecrantz 7806993e1f xrt: Return xrt_system when creating system 2023-12-10 17:01:51 +00:00
Jakob Bornecrantz 5d64b1d447 ipc: Refactor native compositor creation 2023-12-10 17:01:50 +00:00
Jakob Bornecrantz dd9a425202 ipc: Add support for xrt_system and xrt_session 2023-12-10 17:01:50 +00:00
Jakob Bornecrantz f0dbb46cd9 u/[session|system]: Add default and optional implementation for system and session 2023-12-10 17:01:50 +00:00
Jakob Bornecrantz 76c630d2bd xrt: Add xrt_system and xrt_session 2023-12-10 15:43:00 +00:00
Jakob Bornecrantz d7b3b1b827 xrt: Add IPC compositor not created result 2023-12-09 10:11:47 +00:00
Jakob Bornecrantz 0a5d9f47f2 xrt: Add compositor not available error 2023-12-09 10:11:47 +00:00
Jakob Bornecrantz bf5107125a t/sdl_test: Even more documentation 2023-12-08 18:57:25 +00:00
Jakob Bornecrantz 9b69099a65 c/multi: Even more documentation 2023-12-08 18:50:13 +00:00
Rylie Pavlik bd4312d019 t/sdl_test: Improve docs for sdl_compositor 2023-12-08 12:49:14 -06:00
Rylie Pavlik 5f99ce41e4 c/util: Improve docs for comp_base 2023-12-08 12:49:03 -06:00
Rylie Pavlik 52d17583db c/null: Improve docs for comp_null 2023-12-08 12:48:35 -06:00
Rylie Pavlik e85faec8d5 c/main: Improve docs for comp_compositor 2023-12-08 12:48:15 -06:00
Rylie Pavlik 8d393ad3fa c/multi: Improve docs/markup of multi_compositor.
This makes the xrt_compositor inheritance diagram in Doxygen complete.
2023-12-08 11:43:49 -06:00
Jakob Bornecrantz d97d7d75c7 st/oxr: Handle XR_REFERENCE_SPACE_TYPE_LOCALIZATION_MAP_ML 2023-12-08 12:11:49 +00:00
Jakob Bornecrantz 142969b509 u/misc: Only free memory if there was an allocation error 2023-12-08 12:11:49 +00:00
0y8w1x 66e8db5d5a d/ulv5: Add UltraLeap v5 driver 2023-12-05 16:07:32 +00:00
utzcoz 0428ce4b0f s/oxr: Add explicit casting for PFNEGLGETPROCADDRESSPROC
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-12-05 15:41:34 +00:00
Jakob Bornecrantz 0ee84ea4a8 t/common: Use new u_builder helper 2023-12-05 12:55:42 +00:00
Jakob Bornecrantz dbcf753b1e t/common: Tidy builders a bit [NFC] 2023-12-05 12:55:42 +00:00
Jakob Bornecrantz 972c929333 u/builder: Add new u_builder helper
This does some of the heavy lifting when it comes to managing the system
devices and the space overseer. The same code was replicated in basically
all of the builders, this lets us avoid that.
2023-12-05 12:55:42 +00:00
Ryan Pavlik 1d09587bac t/oxr: Clean up docs 2023-12-04 22:27:09 +00:00
Ryan Pavlik debd15f6da t/oxr_android: Clean up gradle 2023-12-04 22:27:09 +00:00
Ryan Pavlik 4cb14719a9 d/sample: Implement missing APIs 2023-12-04 22:27:09 +00:00
Rylie Pavlik 617a704b29 xrt: Fix comment typo 2023-12-04 11:54:01 -06:00
Rylie Pavlik 9c7851f076 xrt: Fix typos, clarify docs 2023-12-04 11:53:32 -06:00
Jakob Bornecrantz 79a2f3f3d6 d/remote: Tidy [NFC] 2023-12-01 18:51:01 +00:00
utzcoz 7485975bfb d/remote: Use socket_close for destroy
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-12-02 02:12:43 +08:00
Charlton Rodda 1b93431173 d/remote: Fix socket closing on Windows 2023-12-01 15:31:18 +00:00
Christoph Haag e2a6f0501e st/oxr: Fix swapchain format list assert 2023-12-01 14:34:31 +00:00
Jakob Bornecrantz d380414731 t/libmonado: Support recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz d43334120c t/ctl: Support recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz dfbe48a188 ipc: Add support for recentering local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz a3a9782272 u/space_overseer: Implement recentering for supported setups 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz b77d460d59 u/space_overseer: Improve comment [NFC] 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 74b6d263e9 u/pp: Add new error message to print 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 9b5cfadc64 xrt: Add function to request recentering of local spaces 2023-11-28 12:43:37 +00:00
Jakob Bornecrantz 8c1ee42fee a/tracking: Change destructor to be private 2023-11-27 19:49:24 +00:00
Jakob Bornecrantz e9d8e0db21 a/tracking: Tidy and document FrameMat [NFC] 2023-11-27 19:49:24 +00:00
Jakob Bornecrantz 9070894455 ipc: Verify length of received commands on Windows
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
2023-11-26 14:03:52 +00:00
Simon Zeni 81246de70a ipc: Read only the exact size of the ipc_command in client_loop on Linux 2023-11-26 13:45:21 +00:00
Simon Zeni 9b6eeb0bba ipc: Add ipc_command_size function to prototype generation 2023-11-26 13:45:21 +00:00
Christoph Haag e5060d166b st/oxr: Fix build with XR_FB_display_refresh_rate disabled 2023-11-24 16:03:09 +01:00
Christoph Haag c58f06f94c ipc: Fix type warning 2023-11-24 16:03:09 +01:00
Jakob Bornecrantz c197ba999f st/oxr: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz a0a0f7cfa6 ipc: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz 5a789ff623 u/space_overseer: Add support for reference space usage 2023-11-21 21:37:06 +00:00
Jakob Bornecrantz d80036fd0e xrt: Add reference space usage information 2023-11-20 22:05:34 +00:00
Jakob Bornecrantz 4fe85a0acc xrt: Add LOCAL_FLOOR and UNBOUNDED generic space poses 2023-11-20 22:05:34 +00:00
Jakob Bornecrantz fffdfa1c4b xrt: Refactor reference functions to be clearer 2023-11-20 22:02:06 +00:00
Jakob Bornecrantz 11ae300946 xrt: Tidy and improve docs in xrt_defines.h [NFC] 2023-11-20 22:02:06 +00:00
Jakob Bornecrantz a6d840b0b1 c/util: Fix leaks of image views in swapchain
This fixes a regression I introduced in !1417.
2023-11-20 21:55:11 +00:00
Jakob Bornecrantz add64c1531 c/util: Improve error paths in swapchain creation 2023-11-20 21:55:11 +00:00
Jakob Bornecrantz c6a4f62e6c c/util: Tidy comp_swapchain.c [NFC] 2023-11-20 21:55:11 +00:00
Jakob Bornecrantz 9ac135edce ipc: Share per client thread shutdown code [NFC]
The two paths was already identical, so just make it one.
2023-11-20 21:40:14 +00:00
Jakob Bornecrantz adc3fe879d c/main: Guard VkQueue access when calling vkQueuePresentKHR
The VkQueue in vkQueuePresentKHR is externally synchronized, so we need
to take the queue_mutex when we call that function.

Found this with the [latest validation layers][1] and the OpenXR CTS test
Swapchains. This has probably been a longstanding bug in Monado as that
particular code is fairly old.

[1]: https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/6631
2023-11-20 18:09:53 +00:00
Jakob Bornecrantz c3157335ef c/main: A few more uses of VK_CHK helpers [NFC] 2023-11-20 18:03:10 +00:00
Jakob Bornecrantz c7ec85cfd2 a/vk: Improve vk_print_result 2023-11-20 18:03:10 +00:00
Zhongwang Zhang ccb9f957bf st/oxr: Complete implementation of extension [XR_FB_display_refresh_rate] 2023-11-20 16:58:31 +00:00
Zhongwang Zhang 74df016dbf ipc: Implement display refresh rate functions 2023-11-20 16:58:31 +00:00
Zhongwang Zhang df07128590 c/multi: Implement display refresh rate functions 2023-11-20 16:58:31 +00:00
Zhongwang Zhang a9017c8501 c/main: Implement display refresh rates function stubs 2023-11-20 16:58:31 +00:00
Zhongwang Zhang 195efff9ba xrt: Add new API in xrt_compositor and xrt_multi_compositor_control interfaces 2023-11-20 16:58:31 +00:00
Zhongwang Zhang f84bef916f xrt: Add hz suffix, follow code style and add limit to refresh rate array 2023-11-20 16:58:23 +00:00
Simon Zeni 8f6603d019 st/oxr: Implement XR_KHR_vulkan_swapchain_format_list 2023-11-20 09:40:20 -05:00
Jakob Bornecrantz 24ecd455ea st/oxr: Track graphics extension used to create session 2023-11-20 09:40:20 -05:00
Simon Zeni fb023e001a a/vk: Use formats list from xrt_swapchain_create_info in create_image 2023-11-20 09:40:20 -05:00
Simon Zeni 2571ef8d57 xrt: Add formats list to xrt_swapchain_create_info 2023-11-18 12:30:58 +00:00
Simon Zeni b727aa9df7 xrt: Use uint32_t instead of int64_t for swapchain format 2023-11-18 12:30:58 +00:00
Simon Zeni afb12a4c5d xrt: Fix graphics includes in xrt_openxr_includes 2023-11-18 12:30:54 +00:00
Rylie Pavlik 8f380925b8 c/main: Handle return value 2023-11-17 11:19:37 -06:00
Rylie Pavlik 3ebac955a6 c/main: More propagate errors 2023-11-17 11:19:37 -06:00
Rylie Pavlik a23cefd968 c/main: Fix duplicate include [NFC] 2023-11-17 11:19:37 -06:00
Rylie Pavlik b3d4ee2186 c/util: Propagate some Vulkan errors 2023-11-17 11:19:37 -06:00
Rylie Pavlik 9e5c0d72e1 c/util: Make sure to zero array_size
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-11-17 11:19:37 -06:00
Jakob Bornecrantz 580ff4ceb8 c/util: Re-order functions in comp_swapchain.c [NFC] 2023-11-17 11:19:37 -06:00
Jakob Bornecrantz ab3c7e99ff c/util: Use vk_mini_helpers for image destruction 2023-11-17 11:19:37 -06:00
Rylie Pavlik bafdd8ddbc a/vk: Improve documentation for vulkan error handlers 2023-11-17 11:19:37 -06:00
Jakob Bornecrantz d28e647744 st/oxr: Make debug utils forcible
And don't always turn it on for XR_KHR_vulkan_enable, as it would
result in crashes on old Vulkan drivers (like those on Pixel 3).
2023-11-17 16:39:55 +00:00
Simon Zeni 0fe8737ec5 cmake: Fix build with SDL2 on Alpine Linux
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Rylie Pavlik <rylie.pavlik@collabora.com>
2023-11-16 14:06:54 +00:00
Jakob Bornecrantz 7e8d35a1a8 st/oxr: Use function helper [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 3060690cbe d/ohmd: Tidy includes [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 37e46a9083 d/ohmd: Fix warnings [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz 28315ecdc4 d/vive: Follow common naming of update_inputs [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz b02645980b d/wmr: Follow common naming of update_inputs [NFC] 2023-11-16 00:17:39 +00:00
Jakob Bornecrantz c8bb2009f2 xrt: Tidy xrt_device [NFC] 2023-11-16 00:17:39 +00:00
Rylie Pavlik 9a4bc4d9c7 monado: Adding IWYU pragmas 2023-11-15 12:37:07 -06:00
Rylie Pavlik 0ac6fdae94 scripts: Add include-what-you-use (iwyu) related scripts and configs 2023-11-15 12:37:07 -06:00
Rylie Pavlik e4be3cbd96 c/util: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik 99e2e005f8 c/render: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik 4671d1adb2 a/vive: Fix doxygen warning 2023-11-15 11:11:22 -06:00
Rylie Pavlik 0fab8c23b4 c/client: Fix doxygen warnings 2023-11-15 11:11:22 -06:00
Rylie Pavlik 4ef986aab0 st/oxr: Fix doxygen warning 2023-11-15 11:11:22 -06:00
utzcoz 4c1fd41641 gradle: Migrate gradle's buildToolsVersion to property one
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00
utzcoz 33602482a2 xrt/android: Migrate deprecated flavorDimensions gradle API
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-11-15 10:06:20 -06:00