Commit graph

6102 commits

Author SHA1 Message Date
Rylie Pavlik e68339e331 st/oxr: Fix typo
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2242>
2024-06-07 16:50:30 -05:00
Rylie Pavlik de9b9f79ea gradle: Use our own groovy code to compute a version from git
git worktree is not supported by androidgitversion

This makes it work with git worktrees and submodules, unlike the
plugin we used before. Unlike some other gradle plugins,
this allows us to set our own filter for tags that get included in
the version.

Thanks to Tao Pei for noticing the problem and proposing an initial fix.

Co-authored-by: tao.pei <tao.pei@xjmz.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2204>
2024-06-07 15:22:47 -05:00
Rylie Pavlik 5a64069d42 st/oxr: Remove TODO mentioning non-existent path.
Removed from an early 1.0 version as not implementable errata.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2241>
2024-06-07 14:26:06 +00:00
Christoph Haag 6d71c083ea m/space: Restore upgrading of 3dof relations with valid positions
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2239>
2024-06-07 14:13:44 +00:00
Rylie Pavlik 9da09d4de6 c/shaders: One file of restored credit missed earlier.
This is what I get for not making sure I save before staging/committing.

d0617c04d5 accidentally removed credit.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2240>
2024-06-06 21:32:04 -05:00
Rylie Pavlik 53bcd6ebed a/vk: Comments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2238>
2024-06-06 15:10:22 +00:00
Rylie Pavlik 7ce4e8f66c c/main: Fix typos
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2238>
2024-06-06 15:10:22 +00:00
Rylie Pavlik 9f707c3536 comp: Fix doc warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik b17fbfc4ba ipc: Fix doc warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik bc916e0f36 xrt: Fix documentation warnings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2237>
2024-06-06 14:54:03 +00:00
Rylie Pavlik 23115015fc c/shaders: Add back credit accidentally removed during shader overhaul
The updated versions of these shaders was added before
the originals were removed, so rename detection didn't trigger,
and d0617c04d5 accidentally
removed credit.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2236>
2024-06-06 09:38:11 -05:00
Hui Xu cdb9c38ee0 external/jnipp: Check and re-assign JNIEnv
Fixes a crash when resumed from launcher.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2226>
2024-06-06 01:46:01 +00:00
Rylie Pavlik 5b8edfbb30 c/main: Default to compute compositor on Android to work around issue #381
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2235>
2024-06-05 16:10:02 -05:00
Rylie Pavlik fc830bc5b4 a/util: Prepend "monado" to function name on android logcat
For easier searching.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2232>
2024-06-05 19:55:58 +00:00
Alicja Michalska 69907679fc d/wmr: Add definitions for Acer AH101 HMD
This patch adds VID/PID for Acer AH101 (WMR) headset.

Signed-off-by: Alicja Michalska <ahplka19@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2222>
2024-06-05 18:57:11 +00:00
Mario Kleiner be55dec119 d/twrap: Correct axis assignments for poses provided by basalt slam.
Testing with a Luxonis Oak-D Pro with basalt slam tracking on a simulated
Northstar suggests the returned axis from basalt vit are wrong wrt. to
the OpenXR reference frame.

Invert assigned y and z axis, similar to what is done for poses returned
by basalt slam for other HMD drivers, e.g., the drivers for Rift-S, Valve
Index / Vive, WMR and Realsense, in various *_correct_pose_from_basalt()
functions.

While we are at it, also make sure the dx->pre_rotate enable flag and
debug UI checkbox actually has an effect on operation.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Mario Kleiner 09273292c2 d/dai: Swap x and -y axis to account for orientation of IMU in the camera.
We need a different axis assignment before submitting samples from the
DepthAI driven Luxonis Oak cameras IMU to the imu sinks, to account for
the orientation of the IMU in those cameras. On those cameras, the IMU
y axis points to the right, the x axis points downwards, the z axis
backwards. See following official Luxonis answer for reference:

https://discuss.luxonis.com/d/1044-about-oak-d-pro-w-imu-coordinate-system/8

One way to confirm the current wrong assignment and this fix is to select
"Use 3DOF tracking instead of SLAM" checkbox in the "Generic inside out
head tracker" debug UI.

Tested with a Luxonis Oak-D Pro camera.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Mario Kleiner e7cbcefac6 t/north_star: Add slam device after HMD device.
The HMD display device apparently needs to be the first one in
the xdevs list. Comments in xrt_prober.h seem to confirm this.

Order hmd and slam device acccordingly in the north_star target
builder.

Otherwise XR client calls to xrEndFrame(), at least with projection
layers, will cause monado-service to crash, as it chooses the
"slam device" xdev as "HMD", instead of the actual hmd device,
and therefore dereferences a xdev->hmd which is NULL inside
_update_projection_layer() and thereby segfaults.

gdb backtrace after SIGSEGV:

_update_projection_layer (xc=0x7ffe60000bf0, ics=0x5555560a5208, layer=0x7fff0a5ed620, i=0) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:749
749		uint32_t view_count = xdev->hmd->view_count;
(gdb) bt
0  _update_projection_layer (xc=0x7ffe60000bf0, ics=0x5555560a5208, layer=0x7fff0a5ed620, i=0) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:749
1  0x00005555555abd30 in _update_layers (ics=0x5555560a5208, xc=0x7ffe60000bf0, slot=0x7fff0a5ed600) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:973
2  0x00005555555ac060 in ipc_handle_compositor_layer_sync (ics=0x5555560a5208, slot_id=0, out_free_slot_id=0x7fff0a5ef134, handles=0x7fff0a5ef170, handle_count=0)
   at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_handler.c:1058
3  0x00005555555a7167 in ipc_dispatch (ics=0x5555560a5208, ipc_command=0x7fff0a5ef840) at /home/dragon/projects/monado/build/src/xrt/ipc/ipc_server_generated.c:518
4  0x00005555555a56cc in client_loop (ics=0x5555560a5208) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_per_client_thread.c:191
5  0x00005555555a593d in ipc_server_client_thread (_ics=0x5555560a5208) at /home/dragon/projects/monado/src/xrt/ipc/server/ipc_server_per_client_thread.c:332

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2228>
2024-06-04 19:54:02 +00:00
Christoph Haag ccfac98d36 st/oxr: Ignore primaryViewConfigurationType in headless
Spec:
"In a headless session, the XrSessionBeginInfo::primaryViewConfigurationType must be ignored and may be 0."
2024-06-01 01:39:59 +02:00
Rylie Pavlik 5980804535 c/util: Comments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2220>
2024-05-31 16:52:38 +00:00
Rylie Pavlik 569419de07 c/render: Internal comments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2220>
2024-05-31 16:52:38 +00:00
Rylie Pavlik a07bfba370 c/main: Internal comments
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2220>
2024-05-31 16:52:38 +00:00
Rylie Pavlik 342fab6b02 c/util: comp_scratch doc improvements
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2220>
2024-05-31 16:52:38 +00:00
Korcan Hussein 1e047b5b6d gradle,ci: Sign CI APKs for Android release builds
Co-authored-by: Rylie Pavlik <rylie.pavlik@collabora.com>
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2209>
2024-05-30 17:25:23 -05:00
Korcan Hussein 2639d830b6 st/oxr: Fixes crash bug in xrGetVisibilityMaskKHR for in-process builds
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2210>
2024-05-30 20:30:25 +00:00
Christoph Haag 8dd24bf28a xrt: Move OpenXR defines to header
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 8b2571b6ac st/oxr: Check for compile definitions after includes
If the defines are set in a header instead of with the compiler, they need
to be checked after includes.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag cddf578092 st/oxr: Simplify path_cache pointers
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 13b5792a30 d/remote: Add palm pose
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag d8a151ced9 d/remote: Default to stereo
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 0d11937ae2 a/bindings: Mark grip_surface as available in KHR_maintenance1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag bb2008ebf2 st/oxr: Add KHR_maintenance1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 2371d68bbe a/bindings: Add meta/touch_controller_* profiles
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag b101db3705 a/bindings,xrt: Add Touch Plus controller
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 73686b340b a/bindings,xrt: Add touch pro controller
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag ab2e89affd a/bindings,xrt: Add FB_touch_controller_proximity
Adding virtual profiles is a bit of a hack that we may want to unify in the
future.

It also adds some redundant verification for paths like
"/user/hand/left/input/trigger"

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag d0a6fc2c3c a/bindings,xrt: Add vive focus 3 profile
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 397295274e a/bindings,xrt: Add vive cosmos controller profile
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag f2e1fdb26c a/bindings,xrt: Add pico neo3, 4, g3 controllers
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag cfd3a709ae a/bindings: Add curl, slide, proximity to schema
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 9eaa4d4921 a/bindings: Mark odyssey controller as promoted in 1.1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 74111e68fd a/bindings: Mark magic leap 2 profile as promoted in 1.1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag cf9ccb6993 a/bindings: Mark hp mr profile as promoted in 1.1
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 0f07f5fc0e a/bindings: add grip_surface virtual profile
Aliasing XRT_INPUT_GENERIC_GRIP_SURFACE_POSE to XRT_INPUT_GENERIC_PALM_POSE
would be complicated because it is implemented as an enum.
Therefore, just reuse XRT_INPUT_GENERIC_PALM_POSE for now.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag bbe33da56e st/oxr: Enable core local floor space in OpenXR 1.1
v2: st/oxr: Handle local floor in OpenXR 1.1 when extension is not available

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag eaf747eca2 u/space_overseer: skip actually locating spaces in themselves
It is always going to be identity. Keep calculating the offsets though.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 5ba58a5711 xrt,st/oxr,u/space_overseer: Implement advanced xrLocateSpaces
v2:

xrt: Allow NULL space in locate_spaces

For action spaces, an xrt_space is found if
get_xrt_space -> get_xrt_space_action -> oxr_action_get_pose_input
finds an active input. If no input is active, the xrt_space will be NULL.

ipc: Check allocation of space_ids for locate_spaces

st/oxr: Fix memory leak in xrLocateSpaces with invalid spaces

v3: ipc: Return error when locate_spaces allocation fails

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 0bd463c2af st/oxr: Add naive xrLocateSpaces[KHR,]
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag bff72f6c23 st/oxr: Add OXR_VERIFY_API_VERSION_AT_LEAST verification macro
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag ae7facbdc7 st/oxr: Add ENTRY_IF_VERSION_AT_LEAST to negotiate
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag cdbf4ef26a a/bindings: Generate code to verify paths for promoted core paths
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 7cf457d894 st/oxr,a/bindings: Move more verification logic to generated bindings
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag a35d7bd255 a/bindings: Remove XR_ prefix from extension names
They are removed in the generator script anyway.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 0a6209f153 a/binding: Link oxr-interfaces
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag a9d55c1cc8 st/oxr: Add oxr-interfaces INTERFACE for oxr st include path
Add vulkan and external-renderdoc to oxr-interfaces, needed on windows.

Also add compile definitions to oxr-interfaces

This is necessary for OXR_EXTENSION_SUPPORT_GENERATE to generate the same
list of extensions when including oxr_objects.h.

(e.g. XR_USE_OPENGL will not be set, causing struct oxr_extension_status
to not have a KHR_opengl_enable menmber.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 747665f2b0 ext/openxr: Update to OpenXR 1.1 headers
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag a2fae359e1 st/oxr: Debug print applicationInfo.apiVersion
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag b47eaaa266 st/oxr: Record OpenXR major.minor version on oxr_instance
This is needed to differentiate e.g. OpenXR 1.1 functionality from
OpenXR 1.0.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Christoph Haag 5ffe3c89a4 st/oxr: Fix applicationInfo apiVersion version check
st/oxr: Add OXR_IGNORE_OPENXR_VERSION debug var

This enables applications to run that require an OpenXR version that monado
does not support.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2194>
2024-05-28 22:09:13 +00:00
Jan Schmidt edb418aa1a d/ohmd: Reject WMR and Rift S drivers 2024-05-27 22:28:26 +00:00
Rylie Pavlik f5804e473a t/oxr_android: Remove unused resource. 2024-05-24 12:37:19 -05:00
Rylie Pavlik 4ef23ea747 t/oxr_android: Update Android logos
Also adjust branding so the out-of-process build looks more official,
since we cannot assert some privacy details when running in process.
2024-05-24 12:37:19 -05:00
Rylie Pavlik 3d0b984faf gradle: Improve build 2024-05-24 12:37:19 -05:00
Korcan Hussein bc6783c0a9 d/android: Set both orientation and position valid/tracked flags
hello_xr, unity and possibly other apps check the view pose flags
for both pos & orientation flags to be valid otherwise they invoke
`xrEndFrame` with no layers set.
2024-05-22 17:45:54 +01:00
Yuxuan Shui 7e7e23df7a d/steamvr_lh: Allow overriding steamvr path with environment variable
To support use case such as:

* Non-standard steamvr install path.
* Using older steamvr versions to workaround breakage.
* Using steamvr driver with local modifications.
2024-05-22 13:48:25 +00:00
Korcan Hussein 06eebfb06f c/util: Fixes crash bug when zero layers are committed
Fixes crash in `render_gfx_end_target` with non-compute pipeline path
on android (possibly any platform) when zero layers are committed.
2024-05-22 11:40:36 +01:00
Simon Zeni f17bb81620 cmake: add VERSION and SOVERSION properties to monado shared library 2024-05-21 22:39:32 +00:00
Meng Jiao 48f63f7f60 comp: Fix vk_deinit_mutex asserts when vk_create_device fails. 2024-05-21 16:07:46 +00:00
Korcan Hussein ecb0ae2254 st/oxr: XR_HTC_facial_tracking state-tracker clean-up
Moves the XR_HTC_facial_tracking state-tracker implementation
out of oxr_api_session.c into dedicated files, following
api/monado conventions.
2024-05-21 15:43:19 +01:00
Christoph Haag 2e6315b115 st/oxr: Fix warning for missing xdev space case handling 2024-05-21 14:20:11 +00:00
Qichang Sun 7fd2a8cce8 st/oxr: support XrEventDataVisibilityMaskChangedKHR for visibility mask 2024-05-21 17:24:56 +08:00
Christoph Haag 9387a09746 d/steamvr_lh: Fix xrt_space_relation_flags |= operator again 2024-05-20 01:44:44 +02:00
Jakob Bornecrantz 717c3e2a0e st/oxr: Add XR_MNDX_xdev_space support 2024-05-20 00:49:36 +02:00
Jakob Bornecrantz 18fc473735 st/oxr: Add special xdev pose space 2024-05-20 00:49:36 +02:00
Jakob Bornecrantz 158f420748 st/oxr: Add XR_MNDX_xdev_space extension header 2024-05-20 00:49:36 +02:00
Christoph Haag 889dc32f67 scripts: Sort XR_HTC_facial_tracking and XR_FB_body_tracking alphabetically 2024-05-20 00:49:33 +02:00
Christoph Haag 7707c71bd5 st/oxr: Format oxr_extension_support.h 2024-05-19 22:45:38 +00:00
Bones 793e8a3df4 d/steamvr_lh: new steamvr_lh driver interface 2024-05-17 21:14:19 -04:00
babblebones ac89100f70 d/steamv_lh: properly track all relation bits 2024-05-18 01:39:13 +02:00
Korcan Hussein 085aae9505 xrt: Adds support for XR_FB_body_tracking xrt-devices 2024-05-16 15:04:51 +01:00
Korcan Hussein 4d8cc7dffd xrt: Adds framework for body-tracking xrt-devices 2024-05-16 15:04:51 +01:00
Fernando Velazquez Innella 158e246e7e a/vk: Extend command buffer wait timeout to ~10 seconds
This is necessary because in some platforms (such as Windows 10, NVidia
RTX 3080ti) the OpenXR CTS will trigger an issue when the GPU memory
fills, where the system hangs for over one second during a paging queue
operation.
2024-05-15 13:24:22 +00:00
Mateo de Mayo 1742fd8566 external/vit: Update to 2.0.1 2024-05-07 18:24:54 +00:00
Mateo de Mayo 5771ddd4f8 d/wmr: Turn commented-out code into if-guarded code. 2024-05-07 18:24:54 +00:00
Rylie Pavlik 25562c8ea8 t/hand: Improve comment 2024-05-03 15:40:45 -05:00
Rylie Pavlik 4913e91c01 st/oxr: Remove outdated comment 2024-05-03 15:40:45 -05:00
Rylie Pavlik b517be3bd0 st/gui: Clean up comment 2024-05-03 15:40:45 -05:00
Rylie Pavlik c51da5c584 t/common: Clean up comments and variable names 2024-05-03 15:40:45 -05:00
Rylie Pavlik f3a82dd868 d/wmr: Fix URL reference 2024-05-03 14:21:53 -05:00
Rylie Pavlik 753ec613fc d/ulv5: Rename internal variables/macros 2024-05-03 14:21:38 -05:00
Rylie Pavlik 2b4bf6c166 d/rift_s: Improve comment 2024-05-03 14:21:17 -05:00
Rylie Pavlik d36e0d78bc d/ht: Improve comment 2024-05-03 14:21:10 -05:00
Rylie Pavlik 97dd6ce590 c/{client,main,util}: Improve comments 2024-05-03 14:21:01 -05:00
Rylie Pavlik e6e9396844 c/client: Fix URL reference 2024-05-03 14:20:41 -05:00
Rylie Pavlik 89e15a96bb a/ogl: Fix URL reference 2024-05-03 14:20:30 -05:00
Rylie Pavlik 2a34c8abf9 a/{tracking,util}: Improve comments 2024-05-03 14:20:15 -05:00
Rylie Pavlik e6149902de t/cli: Fix typo 2024-05-03 14:02:42 -05:00
Rylie Pavlik 2453c1b2de jnipp: Catch and handle exception in object destructor 2024-04-18 16:54:25 -05:00
Fernando Velazquez Innella b29776fa1e c/util: Fix double free when failing to import non-Vulkan swapchain 2024-04-17 11:24:05 -04:00
Fernando Velazquez Innella 20ac197a6f c/util: Fix double free when failing to initialize Vulkan swapchain 2024-04-17 11:23:50 -04:00
Yu Li 6f35a3a51d st/oxr: Implement xrGetReferenceSpaceBoundsRect 2024-04-17 12:49:20 +00:00
Yu Li 143ff5a0ac ipc: Add support for get bounds rect function 2024-04-17 12:49:20 +00:00
Yu Li e8d3b875f0 xrt: Add get bounds rect function 2024-04-17 12:49:20 +00:00
zhz c5cf26f385 c/client: Replace glTextureStorageMem2DEXT with glTexStorageMem2DEXT 2024-04-16 13:44:39 +00:00
zhz d232e73587 xrt: Add a macro for Android platform to select vulkan memory to create swapchain.
Increases compatibility. AHardwareBuffer path left available and enabled
by default.
2024-04-16 13:44:39 +00:00
0y8w1x 0cc05bc300 d/ulv5: added joint orientation 2024-04-15 00:24:01 +02:00
Rylie Pavlik 19a8dfb8c8 st/oxr: Fix codespell error. 2024-04-12 14:08:37 +00:00
Rylie Pavlik 481ef3d7b3 st/gui: Fix codespell error. 2024-04-12 14:08:37 +00:00
Rylie Pavlik 3e744131c5 xrt: Fix codespell errors. 2024-04-12 14:08:37 +00:00
Rylie Pavlik 60996cd9de drivers: Fix codespell errors. 2024-04-12 14:08:37 +00:00
Rylie Pavlik c0be8f2478 comp: Fix codespell errors. 2024-04-12 14:08:37 +00:00
Rylie Pavlik dd82b04ab5 a/vk: Fix codespell errors. 2024-04-12 14:08:37 +00:00
Rylie Pavlik ae88c4c18f a/util: : Fix codespell errors. 2024-04-12 14:08:37 +00:00
Rylie Pavlik 80e0b4499e a/tracking: Fix codespell errors. 2024-04-12 14:08:37 +00:00
Christoph Haag cada51db56 u/space_overseer: skip actually locating space in itself
It is always going to be identity. Keep calculating the offsets though.
2024-04-12 14:07:19 +00:00
Christoph Haag 7a387e4087 u/space_overseer: Relation chain with 0 steps has valid velocities = 0 2024-04-12 14:07:19 +00:00
zhislv 0387e8f15c add getPackageName() for Context, add getSignature() for PackageInfo 2024-04-10 15:32:48 +00:00
Zhongwang Zhang 099df066c6 st/oxr: Avoid calling oxr_action_cache_stop_output every time when xrSyncActions is called 2024-04-08 05:43:25 +00:00
Christoph Haag 3fd69da828 st/oxr: Fix projection layer viewCount validation 2024-04-04 15:27:17 +00:00
Christoph Haag 9b0bf725bd oxr/st: Fix EPPO->OPPO typo in error message 2024-04-04 14:15:47 +00:00
Christoph Haag 60b6fb8eed a/bindings: Don't add dpad paths to all paths in script
They can not be distinguished from core paths there, but they need to be
gated by EXT_dpad_binding
2024-04-04 14:15:47 +00:00
Christoph Haag 7100faf868 a/bindings: Remove palm_pose and hand_interaction from eye gaze
The spec has a note for most interaction extension that these paths are
added, but the XR_EXT_eye_gaze_interaction does not.
It makes sense: Where do you render a hand model with eye gaze?
2024-04-04 14:15:47 +00:00
Christoph Haag 78c4a239b0 a/bindings: Add extension and palm_pose/hand_interaction to oppo 2024-04-04 14:15:47 +00:00
Christoph Haag 46e57b9d38 a/bindings: Add heartrate to bindings schema 2024-04-04 14:15:47 +00:00
Christoph Haag c622709411 a/windows: Fix warning 2024-04-04 14:15:47 +00:00
Christoph Haag 574b3c1d28 ipc: Fix no newline at end of file warning 2024-04-04 14:15:47 +00:00
Christoph Haag c477ec3304 u/pp: Generate u_pp_xrt_input_name from XRT_INPUT_LIST macro 2024-04-04 16:06:36 +02:00
Christoph Haag deddf40f7d xrt: Make enum xrt_input_name generated by a macro 2024-04-04 16:06:36 +02:00
Christoph Haag fc3bf65727 m/space: Refactor apply_relation
Before, apply_relation had unclear semantics and "upgraded" relation flags
to valid if either one of the relations had them. Most likely this was
because poses were considered to be not tracked and not having a velocity.

But OpenXR behavior says that something that is just an offset to something
else, for example local stage in stage space should have tracked flags, and
probably velocity valid flags.

The only time when something is not tracked in OpenXR is when the path
through the space graph passes through a space that actually tracks
something with a tracking system that currently can not track that something.
(Or when two spaces are in disjunct partitions of the space graph).

Therefore, insert poses as fully tracked relations with zero velocities
into the relation chain and remove all the "upgrade" behavior.
2024-03-29 20:15:38 +01:00
korejan 159f22e403 c/main: Fix incorrect surface format matching 2024-03-26 21:40:42 +00:00
Commenter c8ca7797a0
xrt: Fix compile error in t_imu.cpp 2024-03-25 09:28:08 -05:00
korejan d3e87d784b a/util: Fixes missing windows lib for mercury_streamvr_driver 2024-03-24 12:44:39 +00:00
Fernando Velazquez Innella a462235e2a a/vk: Fix build with Vulkan SDK's older than 1.3 2024-03-19 12:22:46 -04:00
Fernando Velazquez Innella 3984bf4d8d 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
2024-03-18 14:16:05 -04:00
Christoph Haag 795360a511 d/steamvr_lh: Set view_count = 2
Drivers that do not use u_device_allocate must set view_count themselves.
2024-03-18 00:00:32 +01:00
Christoph Haag f4c3e9ed2c st/prober: fix view_count printing in PH() macro 2024-03-18 00:00:32 +01:00
Christoph Haag b2c4134113 c/main: Check xdev view_count early and add error message 2024-03-17 22:36:55 +01:00
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