Commit graph

5915 commits

Author SHA1 Message Date
Meng Jiao e154fd4513 mono: depth layer supporting mono 2024-03-15 01:48:38 +00:00
Meng Jiao a802960684 driver/simulated: Handling when the view count is 1 or 2. 2024-03-15 01:48:38 +00:00
Meng Jiao 368a3842fb d/remote: Get view count from json config 2024-03-15 01:48:38 +00:00
Meng Jiao 8a74798c0b a/util: Device helpers and distortion handling for when the view count is equal to 1 or 2 2024-03-15 01:48:38 +00:00
Meng Jiao 105577730f a/util: Make distortion utils compatible with view count equal to 1. 2024-03-15 01:48:38 +00:00
Meng Jiao 95331593e2 mono: projection layer supporting mono 2024-03-15 01:48:38 +00:00
Mateo de Mayo a8eb098e14 drivers: don't initialize masks_sink if slam is disabled
Co-authored-by: Simon Zeni <simon.zeni@collabora.com>
2024-03-14 01:56:38 +00:00
sdegrande a806903765 d/remote: Fix warnings reported by clang (17) about some wrong printf formats. 2024-03-13 11:40:32 +01:00
sdegrande 2e43c7b895 d/remote: Add and use a multi-os r_socket_t typedef
On Linux, a socket descriptor as an int, while on Windows it is a
SOCKET (aka an unsigned long long).

This patch introduces a r_socket_t typedef set depending on the OS,
and uses it where needed.

The patch also reorders some header inclusions, to ensure that
winsock2.h is included before windows.h, or else the winsock API is
defined instead of the winsock2 API and a warning is emitted during
compilation.

Also, the "#pragma comment(lib, 'ws2_32.lib')" directive used in r_hub.c
is a VC++-ism, not compatible wth Mingw64 (gcc or clang toolchains).
This patch replaces the pragma with a cmake link directive.
2024-03-13 11:40:32 +01:00
Fernando Velazquez Innella 24de6f9edf c/util: Expand on swapchain import error codes
This allows the CTS in Direct3D12 to not fail when attempting to import sRGB swapchains with flags such as XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT
2024-03-12 10:57:25 -04:00
Korcan Hussein ca3cbf7ce8 st/oxr: Bug fix XR_HTC_facial_tracking system support check
Fixes system support check for XR_HTC_facial_tracking not setting
lip support flag.
2024-03-11 19:48:51 +00:00
Korcan Hussein 50f3816cf2 xrt: Adds support for XR_HTC_facial_tracking xrt-devices 2024-03-11 10:30:39 +00:00
Korcan Hussein 1a6c444a42 xrt: Adds framework for face-tracking xrt-devices 2024-03-11 10:30:39 +00:00
Meng Jiao fec1d42139 a/util: Read config files in binary mode to fix on Windows 2024-03-08 19:01:54 -06:00
Fernando Velazquez Innella 13ea0ab546 c/client: Run D3D12 swapchain initial barriers after all possible points of failure. 2024-03-06 11:09:00 -05:00
TheJackiMonster 9f4f2541a6 d/xreal_air: Rename nreal air to xreal air in driver, support xreal air 2 and xreal air 2 pro 2024-03-05 23:53:48 +00:00
Patrick Nicolas d63b9f4518 a/vk: Enable synchronization2 feature 2024-03-05 08:49:33 +01:00
Patrick Nicolas 11fc8d5629 a/vk: Add possibility to create video encode queue 2024-03-05 08:49:33 +01:00
Patrick Nicolas c8195a8fbc a:vk: Make find_compute_queue_family more generic 2024-03-05 08:49:33 +01:00
Patrick Nicolas c5230c075c c/main: Compositor targets can set more parameters
Allow compositor targets to require a minimum Vulkan version, and
additional optional device extensions.
2024-03-05 08:49:33 +01:00
dengkail c066774dca ipc: Add support for XR_FB_passthrough 2024-02-29 11:16:17 +08:00
dengkail 6c03327253 c/client: Implement XR_FB_passthrough APIs in client side 2024-02-29 11:15:59 +08:00
dengkail c57976c2af st/oxr: Add extension XR_FB_passthrough 2024-02-29 11:15:37 +08:00
Jarvis Huang 039ef1ed90 st/oxr: Getting vendor id/name from server 2024-02-28 22:25:45 +08:00
utzcoz a3085de032 ext/openxr: Bump OpenXR headers to 1.0.34
1. Download and unzip from
   https://github.com/KhronosGroup/OpenXR-SDK/releases/tag/release-1.0.34.
2. Copy all header files in include/openxr directory to
   src/external/openxr_includes/openxr.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2024-02-26 14:32:25 +00:00
Ryan Pavlik fe19760eaf st/oxr: Factor out more of action state updating, in a different way.
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2024-02-26 10:41:31 +00:00
Ryan Pavlik d73d5655f2 st/oxr: Use factored-out helpers to determine if action state has changed. 2024-02-21 10:38:49 -06:00
Ryan Pavlik 4d8622728f st/oxr: Add helper functions for action state. 2024-02-21 10:38:14 -06:00
Ryan Pavlik 4516ed9b22 st/oxr: More strictly verify xrSyncActions input in advance. 2024-02-21 10:38:14 -06:00
Ryan Pavlik f7e8a6f9f9 st/oxr: Use subaction_paths helper function 2024-02-21 10:38:14 -06:00
Ryan Pavlik 771808f589 st/oxr: Keep track of the union of each action set's action sub-action paths 2024-02-21 10:38:14 -06:00
Ryan Pavlik 2fbab42772 st/oxr: Add some oxr_subaction_paths helpers. 2024-02-21 10:38:14 -06:00
BabbleBones 962c623df5 aux/debug_ui: raise gl version to 4.5 2024-02-20 01:20:39 -05:00
Korcan Hussein f6dd897297 st/oxr: Fix uninitialized/invalid timestamps for action_caches 2024-02-19 12:32:25 +00:00
Simon Zeni e5c8dbd2aa cmake: add wayland include dirs to comp_main 2024-02-18 23:47:46 +00:00
Simon Zeni 99c938a1df t/common: fix valve index hand tracker crash when SLAM tracking is not enabled 2024-02-12 12:05:18 -05:00
Mateo de Mayo 6b323209b2 t/vit: Return success from vit_get_proc
Closes #322
2024-02-09 19:26:51 +00:00
Mateo de Mayo d80a41f34f external/vit: Update to 1.0.1 and remove unused cpp helper 2024-02-09 19:26:51 +00:00
Mateo de Mayo a10644c873 d/wmr: Properly compute hand tracking boundary circle 2024-02-09 19:26:51 +00:00
Mateo de Mayo a9b85c99c6 d/vive: Use raw imu samples for slam 2024-02-09 19:26:51 +00:00
Mateo de Mayo 6afed4dc4a d/{rift_s,vive,ns}: Share hand bounding box with head tracker 2024-02-09 19:26:51 +00:00
Mateo de Mayo eadc592c04 t/slam: Push hand masks to tracker 2024-02-09 19:26:51 +00:00
Mateo de Mayo e79d2d395f h/mercury: Push hand rect masks to the SLAM tracker sinks 2024-02-09 19:26:51 +00:00
Mateo de Mayo 4cfe58a5e9 t/slam: Add hand_masks sink 2024-02-09 19:26:51 +00:00
Mateo de Mayo 717336fa88 t/slam: Print VIT error numbers 2024-02-09 19:26:51 +00:00
Mateo de Mayo db40cc2e73 t/slam: Make default of VIT_SYSTEM_LIBRARY_PATH consistent with other envvar defaults 2024-02-09 19:26:51 +00:00
Korcan Hussein d9ef028df9 a/util,st/oxr: Fixes crash bug with XR_EXT_dpad_binding
Crash occurs after multiple session runs with clients using
`XR_EXT_dpad_binding`, this is was caused be not full deep cloning of
interaction profiles with dpad_state
2024-02-08 15:52:37 +00:00
Korcan Hussein cfa545b43c st/oxr: Fixes getting current interaction profile paths
oxr_session's active profile paths where not being cleared on attachments/
updates, causing calls to `xrGetCurrentInteractionPath` to return valid
paths of particular hand that where previously bound and became unbound.
2024-02-08 15:52:37 +00:00
Korcan Hussein a40599d315 a/math: Fix const-correctness in m_relation_history 2024-02-08 15:52:37 +00:00
Korcan Hussein 59b8d3a955 st/oxr: Separate out dynamic roles and associated profiles
Separates the role xdev indices and associated interaction
profile (names) from dynamic roles so that interaction profiles
can be method active and have action (set) attachements updated
without bindings and no requirement for an xrt-device for
a particular hand.

E.g. driver can make left & right with a paritcular profile (name) and
have either both not have an xrt-device ready/unassigned but OpenXR apps
can still sync/query actions states on the not read/unassigned hands,
this also fixes CTS action tests when the hand is constrained to certain
hand, in particular the right hand.

Co-authored-by: Robbie Bridgewater <ebridgewater@magicleap.com>
2024-02-08 15:52:37 +00:00
Korcan Hussein 36d5d4224c st/oxr: reset any_pose_subaction_path before update 2024-02-08 15:52:37 +00:00
Robbie Bridgewater fd9795b4de ipc/server: Allow skipping epoll of stdin via env variable 2024-02-08 15:52:37 +00:00
Christoph Haag 2f5da783cc ipc: forward result of xrWaitSwapchainImage
Co-authored-by: Korcan Hussein <korcan.hussein@collabora.com>
2024-02-08 15:52:37 +00:00
Julian Petrov 2f3a6e13bc ipc: Set timeBeginPeriod(1) globally on Windows
Monado upstream sets timeBeginPeriod(1) on calls to sleep, we
have seen that it helps with things inside of the NVIDIA driver.
2024-02-08 15:52:37 +00:00
Rylie Pavlik 46c443baa0 a/math: Clarify comments in relation history 2024-02-07 13:36:38 -06:00
Rylie Pavlik 328b9c7c5d c/null: Simplify and improve 2024-02-07 13:36:38 -06:00
Rylie Pavlik 33000bbd2c d/simulated: Use more generic variable names 2024-02-07 13:36:38 -06:00
Rylie Pavlik 4948ec8291 d/simulated: Fix log macros 2024-02-07 13:36:38 -06:00
Rylie Pavlik 884b8f2bcc d/rokid: Fix log macros 2024-02-07 13:36:38 -06:00
Rylie Pavlik 6b2a0e76f0 d/sample: Clean up sample HMD, use m_relation_history, populate mesh 2024-02-07 13:36:38 -06:00
Pingping Meng b5df7f1761 doc: Document !2129 2024-02-02 05:14:55 +00:00
Pingping Meng fd816c838f st/oxr: Add extension XR_FB_composition_layer_depth_test 2024-02-02 05:14:55 +00:00
Ryan Pavlik 663544aa3e t/common: Silence some warnings 2024-02-01 10:51:42 -06:00
Ryan Pavlik a36cad975c d/wmr: Silence some warnings. 2024-02-01 10:51:42 -06:00
Mateo de Mayo a8fc75cb4a u/space: Fix non-void function not returning 2024-02-01 10:51:01 -06:00
Weijie Wang e1f02b4629 os/threading: fix assert in debug build 2024-01-26 02:36:23 +00:00
Christoph Haag 67e61811b5 d/survive: Fall back to default ipd if 0 reported 2024-01-25 13:49:36 +01:00
Mateo de Mayo 93ad858d18 t/slam: Fix uninitialized pointer
Closes #317
2024-01-22 16:25:39 -03:00
Simon Zeni 0cb96a1643 aux/tracking: remove MatFrame class from t_tracker_slam 2024-01-17 15:15:03 -05:00
Simon Zeni 1264f385b0 external: remove old slam_tracker interface 2024-01-17 15:15:03 -05:00
Simon Zeni b14612e48a d/*: pose correction for VIT system 2024-01-17 15:15:03 -05:00
Simon Zeni 170d38978e cmake: remove XRT_HAVE_BASALT & XRT_HAVE_KIMERA 2024-01-17 15:15:03 -05:00
Simon Zeni 2f9d3b2e47 aux/tracking: use VIT interface in slam tracker 2024-01-17 15:15:03 -05:00
Simon Zeni 66027fc989 aux/tracking: introduce VIT loader 2024-01-17 15:15:03 -05:00
Simon Zeni c6e629b4e7 external: introduce visual-inertial tracking interface header
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2024-01-17 15:15:03 -05:00
Bailey Morgan 20cb556f6d cmake: Remove unused ffmpeg dependency 2024-01-16 16:43:35 -05:00
Jakob Bornecrantz 57e9373839 c/main: Refactor how surface formats are handled 2024-01-16 11:43:41 -05:00
Jakob Bornecrantz a6e9893f99 c/main: Refactor arguments to comp_target::create_images 2024-01-16 11:43:41 -05:00
Christoph Haag a0f3fa2c4f d/remote,steamvr_lh,survive_driver: Add stage_supported implementation 2024-01-16 03:11:42 +01:00
Christoph Haag 05db9e9b99 u/space_overseer: Create STAGE as pose space when stage_supported on head 2024-01-16 03:10:35 +01:00
Christoph Haag 22314ca14b xrt: Add stage_supported to xrt_device 2024-01-16 03:10:35 +01:00
Sefa Eyeoglu 0df6f9606b
xrt: prevent systemd from starting Monado quickly
If an OpenXR client starts Monado using socket activation, but Monado
crashes during its startup, systemd will try to start the service for
each subsequent IPC message, which causes both units to enter a failed
state.

By enabling
[`FlushPending`](https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html#FlushPending=),
systemd will flush pending messages and close the connection to the IPC
client, preventing restarts in quick succession.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-12 11:39:31 +01:00
Christoph Haag ceae41a7bd d/steamvr_lh: Add vive and index bindings 2024-01-10 13:55:20 +01:00
Christoph Haag bdb390b497 d/steamvr_lh: Choose the first tracking universe that is found
lighthousedb.json may contain many more tracking universes than are
actually configured in chaperone_info.vrchap.
2024-01-10 12:50:49 +01:00
Jakob Bornecrantz 4156ea07a5 st/gui: Add infinitely fast trigger finger in remote UI
Makes it easier to pass interactive action CTS test.
2024-01-08 18:56:58 +00:00
Jakob Bornecrantz cb1b20871f c/main: Let sub-classed targets override compositor extents 2024-01-08 16:59:51 +00:00
Jakob Bornecrantz 141046585d c/main: Don't use list of display if we fail to allocate it 2024-01-08 16:59:51 +00:00
Jakob Bornecrantz 4a2eebdc69 c/main: Tidy target code [NFC] 2024-01-08 16:59:51 +00:00
Jakob Bornecrantz 2dfb2986fc st/oxr: Switch to use new loader header 2024-01-07 18:00:11 +00:00
utzcoz 98cb76a644 ext/openxr: Bump OpenXR headers to 1.0.33
1. Download and unzip from
   https://github.com/KhronosGroup/OpenXR-SDK/releases/tag/release-1.0.33.
2. Copy all header files in include directory to
   src/external/openxr_includes/openxr.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2024-01-07 14:21:04 +00:00
Jakob Bornecrantz 80d733c869 d/vive: Document conversion value 2024-01-06 14:07:49 +00:00
Christoph Haag ea65f00198 d/vive: Refactor how acceleration and gyro is scaled and biased
Results are the same.
2024-01-06 14:07:49 +00:00
Christoph Haag 638666100d d/vive: Use double for imu ranges 2024-01-06 13:42:25 +00:00
Christoph Haag 0f34fea864 d/vive: Clarify variant from config comment 2024-01-06 13:42:25 +00:00
Christoph Haag 721897f59d d/vive: Remove old print 2024-01-06 12:21:02 +00:00
rcelyte 4e1a3e1afa d/steamvr_lh: Simplify coordinate space conversion
This is mathematically equivalent, but should be easier to reason about.
2024-01-05 00:44:06 +00:00
meng.jiao 7e22fa5744 u/frame_times_widget: Optimize FPS calculation
Do so using precomputed frame timings.
2024-01-04 23:54:09 +00:00
Christoph Haag 18d863c179 d/wmr: Add WMR_[LEFT|RIGHT]_DISPLAY_VIEW_Y_OFFSET env variables 2024-01-04 23:37:26 +00:00
huanchen 774b3d23a5 st/oxr: Implement XR_EXT_performance_settings 2024-01-04 23:03:20 +00:00
huanchen 1f658ba2be ipc: Implement performance settings interface
Used to implement XR_EXT_performance_settings.
2024-01-04 23:03:20 +00:00
huanchen 3d5c16fdba xrt: Add performance settings interface
Used to implement XR_EXT_performance_settings.
2024-01-04 23:03:13 +00:00
Jakob Bornecrantz 63f7e3c84f st/oxr: Up max bindings per action
The CTS has more then 16. The limit is just during binding, not actually after.
2024-01-04 21:24:41 +00:00
Jakob Bornecrantz ef6e07508a st/oxr: Change num to binding_count [NFC] 2024-01-04 21:21:28 +00:00
Jakob Bornecrantz 0f9147c6de st/oxr: Do not crash on too many bindings to an action 2024-01-04 21:19:59 +00:00
Jakob Bornecrantz 03457a8c40 u/pacing: Do live stats tracking in fake pacer 2024-01-04 19:54:05 +00:00
Jakob Bornecrantz f1c8843b7d u/pacing: Keep track of frame times in fake pacer 2024-01-04 19:54:05 +00:00
Jakob Bornecrantz 479973e68f u/pacing: Split submit timing into begin and end 2024-01-04 19:54:05 +00:00
Jakob Bornecrantz abe783d2a4 c/main: Split submit timing into begin and end 2024-01-04 19:51:30 +00:00
Jakob Bornecrantz 40534011e8 u/live_stats: Add helper to do live statistics on nano-seconds durations 2024-01-04 19:49:32 +00:00
Jan Schmidt 3d534bcc1d a/math: Refactor m_clock_offset_a2b
Avoid limited precision float operations on large 64-bit
integers. The clock averaging was basically not working
once the clock values got large
2024-01-04 16:32:15 +00:00
Jakob Bornecrantz 03c8a1a14e c/main: Use new debuggable scratch images 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz e7d8cc0310 c/util: Add scratch buffer helpers 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz 45a9ef295a c/render: Tweak alpha blending 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz 1de99e4ce7 st/gui: Integrate new preview views into end-user UI 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz dbd8a5b323 st/gui: Integrate gui_widget_native_images into debug gui 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz f586a5ae6a st/gui: Add gui_widget_native_images 2024-01-04 16:23:28 +00:00
Jakob Bornecrantz 92f5b0c1a6 u/var: Add u_native_images_debug 2024-01-04 16:04:40 +00:00
Jakob Bornecrantz 3e76d43c30 u/native_images_debug: Add helper struct to debug xrt_image_native content 2024-01-04 16:04:40 +00:00
Jakob Bornecrantz b743efe0bb a/vk: Return flag for XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS 2024-01-04 16:04:40 +00:00
Jakob Bornecrantz dbd6504beb c/main: Improve swapchain creation 2024-01-04 15:49:55 +00:00
Jakob Bornecrantz b3dc8ca17e c/main: Use vk_enumerate_swapchain_images helper 2024-01-04 15:49:55 +00:00
Jakob Bornecrantz 07be73afbc a/vk: Tidy surface info function 2024-01-04 15:49:55 +00:00
Jakob Bornecrantz ca43f81322 a/vk: Add vk_enumerate_swapchain_images 2024-01-04 15:49:55 +00:00
Jakob Bornecrantz 9a7056fafe a/vk: Add enumerators for two surface properties 2024-01-04 15:49:55 +00:00
Jakob Bornecrantz f7356d7d7b d/sample: Improve helper message in update_inputs [NFC] 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz 9149352c55 d/all: Standardize use of get_view_poses helper 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz 1254e5041c d/all: Use u_device_noop_update_inputs helper 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz 45f1a2d230 u/device: Improve comment on u_device_get_view_poses 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz 5d49486a8b u/device: Add default, no-op and not implemented function helpers 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz c24bb53dbf xrt: Add XRT_ERROR_DEVICE_FUNCTION_NOT_IMPLEMENTED error 2024-01-04 12:47:49 +00:00
Jakob Bornecrantz e051549668 c/util: Refactor how arguments are given 2024-01-04 11:39:39 +00:00
Jakob Bornecrantz df69c9da50 c/main: Tidy and make dispatch code more uniform 2024-01-04 11:39:39 +00:00
Jakob Bornecrantz 83297c9ce5 c/main: Add enum to select FoV source 2024-01-04 11:39:35 +00:00
Niharika Challapalli 428c511924 u/space_overseer: Make it possible set root as unbounded 2024-01-03 20:43:15 +00:00
Niharika Challapalli 613d08ebbc xrt: Document using unbounded pose 2024-01-03 20:43:15 +00:00
Jakob Bornecrantz 18d21fab70 t/libmonado: Update Python example
* Use new device properties.
* Remove device ID it's deprecated because it's not stable.
2024-01-02 23:10:09 +00:00
Jakob Bornecrantz 00f68ea8c4 t/libmonado: Add property enum and getters for devices 2024-01-02 23:10:09 +00:00
Jakob Bornecrantz 1f60853d6e t/libmonado: Tidy mnd_root_get_device_from_role [NFC]
Tidy both documentation and code.
2024-01-02 23:10:09 +00:00
Jakob Bornecrantz a462afb767 c/render: Remove old code from removed layers 2024-01-02 22:35:29 +00:00
Niharika Challapalli 6588c345ae st/oxr: Fix typo 2024-01-02 22:00:00 +00:00
Niharika Challapalli fb01dce94a ipc: Fix typo 2024-01-02 21:57:14 +00:00
Jakob Bornecrantz 38b7f28205 d/simulated: Support reference space usage printing 2024-01-02 21:34:29 +00:00
Jakob Bornecrantz b30f41bd2d u/space_overseer: Notify the device about reference space usage 2024-01-02 21:34:29 +00:00
Jakob Bornecrantz b7e7aa5d4c xrt: Add xrt_device::ref_space_usage function 2024-01-02 21:34:29 +00:00
Jakob Bornecrantz 6a1788c941 a/vk: Pass create mutable format bit if usage flag is set 2024-01-02 21:31:23 +00:00
Jakob Bornecrantz d2f5103db7 a/vk: Improve format list handling
This fixes scope error on struct and combines the format list on Android.
2024-01-02 21:31:23 +00:00
Jakob Bornecrantz a6ec2c1aa8 a/vk: Helper function static [NFC] 2024-01-02 21:31:06 +00:00
Jakob Bornecrantz f644be460d ipc: Make service a little bit more chatty
Set default logging level to INFO.
2024-01-02 12:19:43 +00:00
Jakob Bornecrantz 94a619bf1b ipc: Print end-user information on Linux
Including how to gathering logs on Linux, and that the service has started.
2024-01-02 12:19:43 +00:00
Jakob Bornecrantz 774c3177c7 ipc: Log shutdown return code with IPC log level 2024-01-02 12:19:43 +00:00