Commit graph

5102 commits

Author SHA1 Message Date
Jakob Bornecrantz ce3c5d59fb d/wmr: Add a slider to adjust all tracked pose timestamps 2023-04-26 22:17:36 +01:00
Jakob Bornecrantz 9d8668a0a6 cmake: Remove _SLAM suffixes on KIMERA and BASALT have defines 2023-04-26 21:39:16 +01:00
Jakob Bornecrantz 99c1742c82 ext/slam: Use LDFLAGS instead of libraries
This lets us avoid LIBRARY_PATH in order to build Monado.
2023-04-26 21:39:16 +01:00
Ryan Pavlik c924157c59 a/android: Only look up the standardized intent to find our own package.
Should allow a constrained query manifest in client apps.
2023-04-25 10:40:58 -05:00
Ryan Pavlik f57bc4a849 android-jni-wrap: Update to add more things 2023-04-24 11:43:30 -05:00
Christoph Haag aa052046a8 cmake: Delete active_runtime.json if it already exists 2023-04-24 13:57:00 +00:00
Jakob Bornecrantz c0d242e1ed a/vk: Fix doccomment style [NFC] 2023-04-21 14:28:18 +01:00
Jakob Bornecrantz 17ea4a73eb a/vk: Mark unexported function as static [NFC] 2023-04-21 14:28:18 +01:00
Jakob Bornecrantz c7fa7fe701 a/vk: Loop over all optional extensions, not just the first
This caused the event thread to not start
because the needed extensions where not enabled.
2023-04-21 14:27:33 +01:00
Jakob Bornecrantz 05792ff150 st/oxr: Refactor OXR_NO_PRINTING env vars 2023-04-18 22:28:53 +01:00
Jakob Bornecrantz fa0b3ad73c st/oxr: Refactor logging functions and use OutputDebugStringA on Windows
The OXR logging functions are not called during normal opperation so it's okay
to always copy into a full buffer.
2023-04-18 22:28:53 +01:00
Jarvis Huang 0d31791092 comp/android: Refine surface creation flow
Reuse MonadoView when "Display over other apps" is enabled. Move surface
creation logic to compositor for consistency. With this approach, compositor
implementer controls the way surface is created.
2023-04-18 16:24:35 -05:00
Jarvis Huang cf7e44b710 aux/android: Refactor MonadoView 2023-04-18 16:22:42 -05:00
Jarvis Huang 7c02d466e2 externl: Update android-jni-wrap 2023-04-18 16:22:42 -05:00
Jarvis Huang d60db29295 aux/android: Refactor SystemUiController 2023-04-18 16:22:42 -05:00
Jakob Bornecrantz 7147e47508 c/client: Implement excplicit transitions in Vulkan and D3D12 2023-04-18 14:31:55 +01:00
Jakob Bornecrantz 45fe1d6ed0 st/oxr: Refactor swapchains to use explicit transitions 2023-04-18 14:31:55 +01:00
Jakob Bornecrantz 6415480f1c st/oxr: Tidy includes [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz b49cd74114 st/oxr: Rename and document common swapchain creation function [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 9055b9d2ec st/oxr: Remove unneeded prefixes on functions [NFC] 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 52f790289d st/oxr: Swapchain destroy was the same for all APIs 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz a56caf762e st/oxr: Refactor swapchain functions a bit 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 505e4e8c2f c/client: Refactor image barrier submission into a helper function 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz 0d21b73b05 c/client: Implement transition image stubs 2023-04-18 14:21:10 +01:00
Jakob Bornecrantz b7362f27e6 xrt: Add image transition inteface 2023-04-18 14:21:10 +01:00
Ryan Pavlik 9840730169 ipc/android: Run spotlessApply to format Java and Kotlin code 2023-04-17 10:58:38 -05:00
Ryan Pavlik fc3af6f711 a/android: Run spotlessApply to format Java and Kotlin code 2023-04-17 10:58:38 -05:00
utzcoz b5b0c30936 t/android: Run spotlessApply to format Java and Kotlin code
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-17 10:58:38 -05:00
utzcoz 8e93bbde4b gradle: Integrate spotless to format Java and Kotlin code
See https://github.com/diffplug/spotless.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-17 10:58:38 -05:00
utzcoz c8c5d6444e gradle: Remove redundant dependency of lifecycle-viewmodel
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-15 16:20:50 +00:00
Mario Kleiner ff9ad4016f c/multi: Refine some logging messages a bit.
Add some timestamps and extra logging to the frame scheduling code.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:43:20 +00:00
Mario Kleiner ae2e7405dd c/multi: Move log_frame_time_diff() to avoid false late frame reports.
In its original call location, this diagnostic/warning function gets
called for each composition cycle even for client frames which have
not yet been delivered for display, because the frames target display
time "XrFrameEndInfo frameEndInfo.displayTime" (as provided by the
OpenXR client) has not been reached yet. Iow. if a OpenXR client
specifies a target frameEndInfo.displayTime in the future, to request
frame presentation in the future, this will cause a flood of false
"Frame late ..." messages by the compositor, despite nothing being
wrong with the timing, until the frame is actually delivered.

E.g., if frameEndInfo.displayTime is 1 second in the future, we'll
get this for each client xrEndFrame() invocation:

WARN [log_frame_time_diff] Frame late by 11.11ms!
WARN [log_frame_time_diff] Frame late by 22.22ms!
... another 87 like these ...
WARN [log_frame_time_diff] Frame late by 988.43ms!

I think what we want is to only check client frames that are actually
delivered the first time by multi_compositor_deliver_any_frames() for
initial display in the current compositor work cycle, and then report
if this first frame display onset was not on or close to the OpenXR
client requested frameEndInfo.displayTime, but too early or too late,
in violation of the clients wishes.

Moving the call check and call of log_frame_time_diff() achieves this
and gives meaningful debug output.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:43:20 +00:00
Mario Kleiner 1c96ee619d u/metrics: Add option to fflush after writing each metrics record.
This allows to use the metrics logging in "streaming mode" where
records are written out with low delay, e.g., into a Unix fifo
file / pipe for live consumption by some tracing or recording
application.

XRT_METRICS_EARLY_FLUSH=true enables this "streaming mode".

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:32:22 +00:00
Mario Kleiner 9e647f9a46 d/vive: Parse/Recognize HTC Vive Pro Eye HMD headphone audio buttons.
Does not do anything yet within Monado, but documents how to parse
button state of left headphone volume up/down buttons and right
headphone microphone mute button.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-14 10:48:39 +00:00
Mario Kleiner 0116a76db5 d/vive: Add Vive Wand controller name string for the HTC Vive Pro Eye.
Behave like other Wands, just a different name string.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-14 10:48:39 +00:00
Jakob Bornecrantz 86262e8b4e a/vk: Remove global command pool 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz e9475b1313 c/main: Use cmd helpers for main submission 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 231a743896 c/main: Use cmd pool helpers in peek code 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 185bc2bc3c c/main: Use cmd pool helpers in mirror window code 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 5ef2b647f1 c/main: Use cmd pool helpers in layer render 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 1ddfcaa5ab c/client: Use cmd pool helpers 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz d1906d1cf8 c/util: Use cmd pool helpers in swapchain code 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 197461b4cd c/render: Refactor close loops [NFC] 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 6598760522 c/render: Put distortion image functions in own file 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz f536ec2009 c/render: Use cmd pool helpers in init code 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz e5fed9c3be c/render: Improve error handling 2023-04-14 02:34:49 +01:00
Jakob Bornecrantz 68b8a2f371 a/vk: Add command pool helpers 2023-04-14 02:34:49 +01:00
Moshi Turner 4d3c1cf7c5 t/common: Parse upside-down DepthAI device in North Star builder 2023-04-13 11:50:38 +00:00
Moshi Turner bdc33510a1 h/mercury: Dump camera calibration if debugging 2023-04-13 11:50:38 +00:00
utzcoz 667a0404c2 a/util: Remove unused headers for u_var.cpp 2023-04-13 06:41:06 +00:00
Moshi Turner ec59e97bda st/gui: Use IMU in EuRoC recorder scene 2023-04-12 16:43:20 -05:00
Moshi Turner c05c5d5c2e st/gui: Add EuRoC recorder for DepthAI cameras 2023-04-12 12:19:13 +00:00
Moshi Turner 53e738a093 d/dai: Add manual exposure controls 2023-04-12 12:11:06 +00:00
Jakob Bornecrantz ee0dad22d5 c/main: Tidy readback code [NFC] 2023-04-12 12:49:24 +01:00
Moshi Turner f2bea2c7c6 d/ns; a/util: Remove old name from Moshi's distortion correction method
I don't hate my old name that much, but this is my last chance to change it before there's some "moshi-style" North Stars floating around.
2023-04-11 23:45:23 -05:00
Moshi Turner 19e0af55d2 c/main: Bounce readback images off temporary image
Most NVidia graphics cards don't support blitting straight from device memory to host memory, but all GPUs support doing it this way.
2023-04-11 22:27:36 -05:00
Moshi Turner 51ff80e802 st/gui: Lazily create debug sinks so that they can be created at any time
Useful for deferred-creation compositors, and for repositories submoduling Monado.
2023-04-11 19:50:41 -05:00
utzcoz 39d701a30c t/common: Fix small typo for target_builder_simulated.c's comment [NFC] 2023-04-11 12:00:01 +00:00
utzcoz 5565564e70 gradle: Fix building with JDK11+
1. Bump Kotlin version to 1.7.10.
2. Bump Hilt version to 2.45.
3. Add implementation of lifecycle-viewmodel-ktx dependency explicitly
   to fix duplicate class error.

Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-11 11:43:57 +00:00
utzcoz 08831237f5 gradle: Migrate compileSdkVersion to compileSdk
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-11 11:43:57 +00:00
Christoph Haag c248670f2f d/survive: Add vive ipd range 2023-04-11 11:42:21 +00:00
Ryan Pavlik af29da2545 gradle: Use static C++ runtime library by default when building Monado, for compatibility.
We do not export any C++ symbols.

Added property to allow selection of shared C++ standard lib.
2023-04-10 14:11:41 -05:00
Ryan Pavlik 788973926a gradle: Fix warning related to dagger 2023-04-10 14:11:41 -05:00
Ryan Pavlik 8bc8abe904 gradle: Fix parsing OpenXR version 2023-04-10 14:11:41 -05:00
Ryan Pavlik 048552f914 gradle: Adjust where we generate files to 2023-04-10 14:11:41 -05:00
Ryan Pavlik 8b50c5cb9e gradle: Do not need the CDDL anymore because Dagger changed its deps 2023-04-10 14:11:41 -05:00
Ryan Pavlik 4369640ecc android: Clean up manifest and silence warnings 2023-04-10 14:11:41 -05:00
Ryan Pavlik 35b1bc063d gradle: Update dependencies further and fix conflicts 2023-04-10 14:11:41 -05:00
Jakob Bornecrantz 5f1b54bcd5 a/vk: Add blit and copy helpers 2023-04-09 14:04:53 +01:00
Jakob Bornecrantz c0287b690b a/vk: Add command helpers 2023-04-09 12:01:27 +01:00
Jakob Bornecrantz 14f15284a1 a/vk: Update comments for command buffer writers 2023-04-08 00:03:20 +01:00
Jakob Bornecrantz 585e23054d a/vk: Use helper define in vk_csci_get_image_usage_flags 2023-04-07 21:44:22 +01:00
Jakob Bornecrantz 732c4a23ae a/vk: Don't unconditionally set colour attachment usage bit for swapchains 2023-04-07 21:44:22 +01:00
Jakob Bornecrantz 748ec59ddf a/vk: Don't hardcode sampled bit anymore 2023-04-07 21:44:22 +01:00
Jakob Bornecrantz 9f06b1a25e c/util: Always request sampled in extra bits 2023-04-07 21:44:22 +01:00
Jakob Bornecrantz a03d1421b8 c/client: Respect native compositor's extra usage bits 2023-04-07 21:44:22 +01:00
Jakob Bornecrantz 1adf46b02a c/client: Use correct format in get_swapchain_create_properties funtions 2023-04-07 21:44:20 +01:00
Jakob Bornecrantz 94c9c8a253 xrt: Allow compositor to request extra usage bits
Some compositors might need extra usage bits set beyond just the constant
sampled bit, make it all generic and extend the xrt interface to allow it.
2023-04-07 21:33:52 +01:00
Jakob Bornecrantz b193c3bdd2 t/sdl_test: Make sure to init devices before system devices 2023-04-07 16:11:16 +01:00
Jakob Bornecrantz bab4a126ae xrt: Remove product_name from xrt_prober_device struct
And move it to an internal struct instead. Better to keep it internal to the
prober as it was only used for the bluetooth probing. And there was a function
that applications should use to get strings from xrt_prober_device.
2023-04-07 15:37:22 +01:00
Jakob Bornecrantz d40805e777 c/client: Silence VK_FORMAT_R32_SFLOAT warning in OpenGL code 2023-04-07 14:27:08 +00:00
Jakob Bornecrantz 8e087ac5ac d/vive: Use vive_poses helpers for offsets of poses 2023-04-07 13:37:05 +00:00
Jakob Bornecrantz ea97960b9e d/vive: Change how the pose GUI variable is updated 2023-04-07 13:37:05 +00:00
utzcoz 990ce39fa1 c/main: Remove unused headers for comp_renderer.c 2023-04-07 11:23:43 +00:00
Mateo de Mayo c0f7a5ed01 d/vive: Improve handling of controller pose 2023-04-06 16:46:11 +00:00
Jakob Bornecrantz e9c43a7ca6 d/wmr: Remove legacy found functions 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 2ddf868735 d/wmr: Do device creation via builder interface 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 56dd75c14d d/wmr: Add stub WinMR builder 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 05b83d5102 d/wmr: Move wmr_headset_type to wmr_common.h 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 3819a21e44 d/wmr: Tidy interface and common headers 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 6ee235ac3b d/wmr: Tidy camera destroy function 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 1410afc330 d/wmr: Reject timestamps that are older then the last sample received 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz a5d3fff573 t/common: Add NorthStar to doxygen 2023-04-05 16:53:24 +01:00
Jakob Bornecrantz 85886e53e1 c/client: Make it clear where we break the OpenXR spec 2023-04-04 13:56:55 +01:00
Jakob Bornecrantz a6764b751a c/client: Don't use vkDeviceWaitIdle
As per the documentation for vkDeviceWaitIdle, it requires that the VkQueue
host access is externally synchronized. And the application may have other
VkQueue's in use that we do not know about.

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkDeviceWaitIdle.html
2023-04-04 13:56:55 +01:00
Jakob Bornecrantz 50838f5801 xrt: Introduce xrt_layer_frame_data 2023-04-04 13:38:21 +01:00
Jakob Bornecrantz bec9a30bfe xrt: Re-order compositor header for better grouping [NFC] 2023-04-04 13:30:22 +01:00
Mateo de Mayo 3a11afa846 d/wmr: Fix null dereference 2023-04-03 17:55:08 -03:00
Mateo de Mayo 3ecee6d0ca d/wmr: Support head tracking with more than two cameras 2023-04-03 12:17:11 -03:00
utzcoz 629c4b67f1 ipc/android: Remove unnecessary toString for log
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
utzcoz d30b015b39 aux/android: Remove unnecessary toString for log
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
utzcoz a4cea7c0e3 t/android: Remove unnecessary toString for log
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
Jakob Bornecrantz a2081db38a st/oxr: Fix typo in OXR_CHECK_XRET define usages [NFC]
Fix typo that I introduced in !1727 (95512594a0).
2023-04-01 16:32:03 +01:00
Mateo de Mayo 24de185b6c t/openvr: Add openvr tracker for recording lighthouse groundtruth
With the SLAM_OPENVR_GROUNDTRUTH_DEVICE we can select a device (HMD, right/left
controller, vive tracker) to use as the groundtruth provider for a SLAM tracker.
This is useful to record euroc datasets with lighthouse groundtruth.
2023-04-01 14:56:39 +00:00
Jarvis Huang 95512594a0 st/oxr: Convert session IPC error to XR_ERROR_SESSION_LOST
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-04-01 15:44:32 +01:00
Jakob Bornecrantz c006ac138f st/oxr: Add helper for xrt_result_t checking 2023-04-01 15:44:32 +01:00
Jarvis Huang c560ff5592 st/oxr: xrPollEvent should not return XR_SESSION_LOSS_PENDING 2023-04-01 14:43:40 +01:00
Jarvis Huang 7cd1d4886f st/oxr: Support session lost error in session related APIs 2023-04-01 14:43:40 +01:00
Jarvis Huang f9d83c8b1f st/oxr: Handle XR_SESSION_STATE_LOSS_PENDING 2023-04-01 14:43:40 +01:00
Jarvis Huang 971947f722 c/multi: Implement xrt_multi_compositor_control::notify_surface_lost 2023-04-01 14:43:40 +01:00
Jarvis Huang aa9c559f96 xrt: Add new API in xrt_multi_compositor_control interface 2023-04-01 14:43:40 +01:00
utzcoz 982932158c c/main: Remove unused comp_renderer including for comp_window_peek 2023-04-01 10:37:09 +00:00
Ryan Pavlik c1ba8ff74f t/oxr_android: Fix manifest by specifying the full classname of the activity
Needed in order to fix the move of the default namespace.
2023-03-29 14:10:17 -05:00
utzcoz 62d1510458 c/main: Remove unused header files from comp_target_swapchain.c 2023-03-29 17:36:56 +00:00
utzcoz 7676fa0a93 gradle: Bump AGP to 7.1.2
1. Bump AGP to 7.1.2.
2. Bump hiltVersion to 2.38.1.
3. Migrate lintOptions to lint.
4. Move package from AndroidManifest to Gradle.
5. Fully qualify application class name.
6. Fix packagingOptions usage with resources wrapper.

Signed-off-by: utzcoz <utzcoz@outlook.com>
Signed-off-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2023-03-29 16:48:16 +00:00
Jakob Bornecrantz 92f7e36083 st/oxr: Validate view array types 2023-03-28 19:30:57 +01:00
utzcoz c1f4f41dd7 xrt/comp: Clean up comp_client's cmake conditions with D3D 2023-03-27 12:12:19 +00:00
Jakob Bornecrantz 3000028512 d/pssense: Link with aux_util
Fixes build with tracing, and should be linked since utilities are used.
2023-03-22 15:07:04 +00:00
utzcoz 2d6db97ea0 sdl_test: Fix building on Windows platform 2023-03-22 14:18:25 +00:00
Jarett Millard b975545764 d/pssense: Add PlayStation Sense controller driver
The driver probes the Sense controller devices and interprets the button presses from HID packets
2023-03-20 23:20:34 -04:00
Jakob Bornecrantz 191ca7dbfd u/hand: Remove unused field
When we need this enum we can add it back in the xrt headers.
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz 531b10fa4c xrt: Tidy various header includes 2023-03-16 14:19:38 +00:00
Jakob Bornecrantz 0c83cd350b xrt: Do not include util headers in xrt headers
This lead to some files getting u_misc for free, and also
other things being pulled in when they shouldn't have been.
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz 7ce5a729b1 d/survive: Add SURVIVE_TIMECODE_OFFSET_MS to set timecode offset at launch 2023-03-16 13:07:22 +00:00
Jakob Bornecrantz ea7fbd4444 d/survive: Use u_var_draggable_f32 for timecode offset 2023-03-16 13:07:22 +00:00
Jakob Bornecrantz 0be1a3c512 u/debug_gui: Fix assert if window has been closed before exiting service 2023-03-16 12:27:43 +00:00
Moshi Turner 749d034a14 d/vive, d/survive, aux/vive: Fix hand offsets 2023-03-15 23:57:27 +00:00
Moshi Turner 570a5513be d/opengloves: Remove left-over code 2023-03-15 23:42:46 +00:00
Jakob Bornecrantz 6b45e22164 d/survive: Make it possible to add offset to timecode calculation 2023-03-13 23:55:00 +00:00
Jakob Bornecrantz b4e901f674 t/common: Print what driver is being used in Lighthouse driver 2023-03-13 23:49:50 +00:00
Mateo de Mayo 5503d75c43 d/vive: Fallback to v4l2 camera timestamps when lighthouse is on
The pulse 0xFD of the report 0x25 comes at 54hz and thus we are assuming its
timestamp are the camera frame timestamps. However, it seems that this report
stops coming when the lighthouses are enabled and instead we get a 0x28 report.
This commit silently handles the 0x28 instead of throwing errors and fallbacks
to using v4l2 timestamps instead of the previous timestamps from pulse 0xFD.
2023-03-13 17:58:24 +00:00
Mateo de Mayo 642549b5a0 t/euroc: Fix race condition in imu and gt csv writers
Multiple cameras were flushing the imu/gt queues but only one should do so.
2023-03-13 17:58:24 +00:00
Fernando Velazquez Innella 4b78b4c58e aux/d3d: Add missing cubemap support 2023-03-13 17:29:56 +00:00
Jakob Bornecrantz fc6fb265ff t/file: Only read matrix sizes that are with in reasonable limits 2023-03-13 16:50:01 +00:00
Christoph Haag be093c4e06 a/tracking: Fix psvr tracker OpenCV parameters
Fixes OpenCV exception on startup with Playstation Move controller:
 what():  OpenCV(4.7.0) /usr/src/debug/opencv/opencv-4.7.0/modules/features2d/src/blobdetector.cpp:93: error: (-5:Bad argument) 0<minArea<=maxArea in function 'validateParameters'
2023-03-13 01:36:26 +00:00
Christoph Haag 9dbfdf97ce d/ohmd,svr: Fix build
fixes d601f893da
2023-03-13 01:32:34 +00:00
Jakob Bornecrantz 63a180cb97 h/mercury: Remove unused variable to fix warning 2023-03-11 14:06:59 +00:00
Jakob Bornecrantz 5da159ce8f ext/tracy: Silence warnings 2023-03-11 13:00:38 +00:00
Jakob Bornecrantz be7d5c0c2a ext/tracy: Update to v0.9.1 2023-03-11 12:54:50 +00:00
Jakob Bornecrantz 7c024b3994 st/oxr: Use xrt_space 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz c70bc60084 xrt: Also create a space overseer when creating system devices 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz 4aaefc7588 ipc: Add xrt_space support 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz ad2542124b u/builders: Add helper function to create space overseer 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz 4d782620d1 u/space: Add default Space Overseer 2023-03-10 00:03:46 +00:00
Jakob Bornecrantz 1c00a596af xrt: Add xrt_space interface 2023-03-09 20:42:58 +00:00
Jakob Bornecrantz bff220b6f8 ipc: Implement xrt_device::compute_distortion 2023-03-09 15:51:29 +00:00
Jakob Bornecrantz d601f893da xrt: Tidy compute_distortion function 2023-03-09 15:51:12 +00:00
Christoph Haag b0e164db19 d/survive: Fix warning 2023-03-08 22:12:18 +01:00
Christoph Haag 8cc5db3a6c d/survive: Add some debug gui entries 2023-03-08 21:46:42 +01:00
Christoph Haag 24b53c0f1a d/survive: Apply device IPD to view poses 2023-03-08 21:46:19 +01:00
Jakob Bornecrantz 062dec59b7 cmake: Sort print list and general tidy [NFC]
* Sort lists
* Add all entries to exposed cmakedefines list
* Remove duplicate hand-tracking entry
* Move SLAM entry to feature list as it's called feature
2023-03-08 01:03:21 +00:00
Moshi Turner 03546e0b99 h/mercury: Add wrist pose initialization guesser 2023-03-07 17:41:49 -06:00
Moshi Turner 3f2b71a9d5 h/mercury: Use post-rotation residual that'll handle big rotations
Fixes a long-standing bug
2023-03-07 17:41:49 -06:00
Moshi Turner cdd0a6df67 h/mercury: Have a post-translation as well as post-rotation
For better numerical stability. Shouldn't significantly affect tracking besides slight jitter reduction and very slightly higher accuracy.
2023-03-07 17:41:49 -06:00
Moshi Turner 7c93b1ccfd h/mercury: Move all defines to lm_defines.hpp 2023-03-07 17:40:45 -06:00
Moshi Turner 4ccc133ac5 h/mercury: Split lm_rotations into two files to make copyright ownership clear 2023-03-07 17:40:45 -06:00
Moshi Turner 7485afbeaa xrt: Refactor oxr_sdl2_hack to u_debug_gui
And OXR_DEBUG_GUI to XRT_DEBUG_GUI

Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-03-06 16:39:52 -06:00
Jakob Bornecrantz e338d57945 st/gui: Remove unused pointer [NFC] 2023-03-06 14:38:36 +00:00
Moshi Turner c0af2327fd h/mercury: Push frame timestamp back before predicting next frame ROIs
Fixes minor logic error and stops crash if hands are detected on the very first frame
2023-03-05 22:41:10 -06:00
Moshi Turner bc152f6983 h/mercury: Dynamically allocate arrays for stereographic projection
Also factor out stereographic_unprojection into its own file because we're gonna need it elsewhere
2023-03-04 17:52:15 -06:00
Moshi Turner 0931cbaf0f h/mercury: Add option to run hand detection model in all views 2023-03-03 20:27:39 -06:00
Moshi Turner 7f5562c765 h/mercury: Don't show hands until tracked for 10 frames 2023-03-03 20:27:39 -06:00
Moshi Turner 84bae0b8ca h/mercury: Add debug instrumentation header
So that we can run automated tests on our hand tracking
2023-03-03 20:27:39 -06:00
Moses Turner a934bf4ae3 h/mercury: Bump the hand detection threshold up 2023-03-03 20:27:39 -06:00
Jakob Bornecrantz 006bdbc400 u/pp: Add new xrt input enums to printing function 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz 3ab34071be st/oxr: Extract space type conversions 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz a980392b9e st/oxr: Refactor out conversion helper to own header 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz b15ac35e76 st/oxr: Refactor some things into oxr_defines.h 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz d84a679eb9 u/builders: Move setup tracking origin function here 2023-03-03 21:38:54 +00:00
Jakob Bornecrantz 05de788168 d/multi: Remove all uses of tracking_origin offsets 2023-03-03 21:38:54 +00:00
Moshi Turner 5519aecd2c cmake: Don't build t_euroc_recorder on Windows 2023-03-03 15:13:23 -06:00
Moshi Turner 8d2d90432a cmake: Add XRT_MODULE_MONADO_GUI 2023-03-03 15:13:23 -06:00
Moshi Turner ed086ea423 cmake: Add XRT_MODULE_MONADO_CLI 2023-03-03 15:13:23 -06:00
Moshi Turner ae7167dbab cmake: Add XRT_MODULE_AUX_VIVE 2023-03-03 15:13:23 -06:00
Moshi Turner 85a701a4a0 cmake: Add XRT_MODULE_MERCURY_HANDTRACKING 2023-03-03 15:13:23 -06:00
Moses Turner 58399cd993 h/mercury: Remove duplicate include 2023-03-03 15:13:23 -06:00
Moshi Turner 54bd4b844f a/math: Fix m_filter_f32_run -> m_filter_euro_f32_run
This is currently used in the delay filter in the Mercury SteamVR driver
2023-03-03 15:13:23 -06:00
Moses Turner c596b31327 h/mercury: Add interface header define 2023-03-03 15:07:45 -06:00
Moshi Turner c750d714a9 d/ht_ctrl_emu: Fix pinch detection 2023-03-03 15:07:45 -06:00
Jakob Bornecrantz 4b6491aa16 cmake: Introduce a new module category 2023-03-03 20:56:59 +00:00
Ryan Pavlik 2a3157b087 cmake: Do not install a test binary 2023-03-03 01:06:11 +00:00
Ryan Pavlik fd77b84938 st/oxr: Suppress clang-tidy removing a forward declaration. 2023-03-03 01:05:14 +00:00
Ryan Pavlik ae61287f4c a/vk: Enlarge buffer to fix warning 2023-03-03 01:05:14 +00:00
Ryan Pavlik 124c9ecf3f st/oxr: Suppress a warning.
It looks more serious than it actually is, this is normal usage.
2023-03-03 01:05:14 +00:00
Ryan Pavlik 9348130fe7 a/util: Fix bitwise operation on signed integer warnings 2023-03-03 01:05:14 +00:00
Ryan Pavlik bdc526b77d xrt: Fix bitwise operation on signed integer warnings 2023-03-03 01:05:14 +00:00
Ryan Pavlik cff131da36 st/oxr: Fix bitwise operation on signed int warnings. 2023-03-03 01:05:14 +00:00
Ryan Pavlik f43ac4841b d/wmr: Fix warnings/issues, mostly related to 32-bit builds 2023-03-03 01:05:14 +00:00
Ryan Pavlik f230446cec c/util: Fix printf on 32-bit 2023-03-03 01:05:14 +00:00
Ryan Pavlik 06b91dabc8 c/main: Fix printf formatting on 32bit 2023-03-03 01:05:14 +00:00
Ryan Pavlik 43ac5d44cf d/euroc: Fix printf formatting on 32bit 2023-03-03 01:05:14 +00:00
Ryan Pavlik fd2c7c6a98 a/util: Fix printf formatting on 32-bit 2023-03-03 01:05:14 +00:00
Ryan Pavlik 44d6755814 external: Fix typo in DearImGui demo. 2023-03-02 17:49:26 -06:00
Ryan Pavlik 172a5baf23 st/oxr: Add missing calling convention macros for entry points.
Fixes 32-bit Windows build.
2023-03-02 13:48:25 -06:00
Moshi Turner 3c1880448e a/vive: Remove unused zlib linkage 2023-03-02 04:35:44 +00:00
Moshi Turner e26a272c17 d/dai, st/gui, t/common: Make DepthAI frameserver work with multicam sinks 2023-03-01 14:37:26 -06:00
Ryan Pavlik 9cf124254e c/main: Constify target factories 2023-03-01 19:54:36 +00:00
Ryan Pavlik 3058f1c149 c/main: Fix typo 2023-03-01 19:54:11 +00:00
Mateo de Mayo 59c3c911e6 d/rift_s: Add initial multicamera support
Tested-by: Nova <technobaboo@gmail.com>
2023-03-01 19:47:10 +00:00
Mateo de Mayo 813cb31cc6 t/euroc: Support euroc recording for multiple cameras 2023-03-01 19:43:06 +00:00
Mateo de Mayo c39dc977c4 d/euroc: Support datasets with more than two cameras 2023-03-01 19:43:06 +00:00
Mateo de Mayo 186ca8258e t/slam: Adapt camera calibration data for multiple cameras 2023-03-01 19:43:06 +00:00
Mateo de Mayo d8e1b7d921 t/slam: Handle multiple camera sinks 2023-03-01 19:43:06 +00:00
Mateo de Mayo 09d7aac89e external/slam: Update interface to support multiple cameras 2023-03-01 19:43:06 +00:00
Mateo de Mayo 52cac31d3a xrt: Support more than two cameras in a SLAM sink 2023-03-01 19:43:06 +00:00
Mateo de Mayo a93dc650a1 u/debug: Export debug_to_num function 2023-03-01 19:43:06 +00:00
Jakob Bornecrantz 84ccf3a78e a/math: Tidy m_filter_one_euro.[h|c] 2023-03-01 19:34:50 +00:00
Ryan Pavlik 534d2e9f66 a/math: Improve comments for one euro filter 2023-03-01 19:33:48 +00:00
Ryan Pavlik 8f02541c27 a/math: Add a zeroing in the generic init for one euro 2023-03-01 19:31:59 +00:00
Ryan Pavlik 0c8d78fe49 a/bindings: JSON schema for bindings 2023-03-01 17:10:48 +00:00
Ryan Pavlik 2d056e6606 a/math: Add comment for searching in the lever arm math. 2023-03-01 17:08:39 +00:00
Ryan Pavlik 66a303f809 st/oxr: Internal docs 2023-03-01 17:08:39 +00:00
Jan Schmidt 699a92d9f8 rift_s: Ignore the first 100 samples for the clock
After turning on the display, the Rift S
sends a burst of stale data and it can lead to
wildly incorrect clock estimates that then
recover really slowly and cause SLAM tracking to
lag horribly.

Throw away the first 100 samples, which seems to be
enough (only the first 20 or so seem to be bad).

Also reduce the clock a2b cutoff frequency, for
faster adaptation to changes.

Tested-By: Nova <technobaboo@gmail.com>
2023-03-01 17:08:09 +00:00
Ryan Pavlik f6ab734b2e a/math: Add floating point conversion methods to Rational 2023-03-01 10:53:18 -06:00
Jakob Bornecrantz 9a19a91f2d ipc: Refactor out common ipc_client_xdev 2023-02-28 21:27:56 +00:00
Jakob Bornecrantz a86cb86c80 st/oxr: Remove unused out_xdev argument 2023-02-28 21:27:53 +00:00
Jakob Bornecrantz 78f069a10d a/math: Make argument const 2023-02-28 21:27:19 +00:00
Ryan Pavlik f66d60cb2c aux/android: The Android XINA already always adds "sampled" 2023-02-28 13:56:58 -06:00
Jarvis Huang 9b2384f1fb t/android: Fix unable to connet to runtime if process is still alive 2023-02-28 19:38:41 +00:00
Jakob Bornecrantz 494e17e173 c/util: Filter Vulkan formats for AHardwareBuffer formats
Some drivers says that they can export/import Vulkan formats that doesn't
have a direct mapping to a AHardwareBuffer format. Our import/export code
doesn't handle that case so make sure to filter out those formats.
2023-02-28 16:05:39 +00:00
Jarvis Huang 5380b6c149 st/oxr: Use xrt_device_is_form_factor_available 2023-02-22 23:52:21 +00:00
Jarvis Huang 693641b70b ipc: Add support for xrt_device::is_form_factor_available 2023-02-22 23:52:21 +00:00
Jarvis Huang b93d1ea8b8 xrt: Add xrt_device::is_form_factor_available 2023-02-22 23:52:21 +00:00
Simon Zeni fdec80cd99 d/survive: add hand tracking pose offsets to controller 2023-02-22 23:51:50 +00:00
Simon Zeni 0402a1e1a0 aux/vive: add hand tracking values to vive_poses transforms 2023-02-22 23:51:50 +00:00
Fernando Innella 80a8048c39 c/render: Fix handling of alpha channel in compute layer renderer 2023-02-21 11:10:10 -05:00
Mateo de Mayo e9e0cf9f2c t/slam: Recover fallback measurements for systems without timing extension
Fixes #235
2023-02-18 13:49:56 +00:00
Mateo de Mayo b666b8b017 t/slam: Use accel for prediction by default
Before we were not doing this because we have a hardcoded gravity vector.
Due to this, if the IMU gravity is too different, it causes the prediction to
bounce around slightly.
In practice the difference seems to be sufficiently small so as to be almost
not noticeable and we get the latency improvements we get are probably worth it.
2023-02-17 15:31:59 -06:00
Mateo de Mayo 4ac9d985e5 st/steamvr_drv: Silence warning 2023-02-17 15:31:53 -06:00
Mateo de Mayo 5ba9efd522 t/euroc: Implement trajectory recording 2023-02-17 21:03:08 +00:00
Connor Smith 8b8358f0c9 Fix typo in Magic Leap 2 controller shoulder button path. 2023-02-17 15:05:41 -05:00
Moses Turner 3bfc87f76d (NFC) h/mercury: Fix typo 2023-02-16 17:03:17 -06:00
Moses Turner 8621acd899 d/ht, h/mercury: Use u_file_get_hand_tracking_models_dir
Needed for Windows SteamVR driver
2023-02-16 17:03:17 -06:00
Moses Turner 8b2d62cf57 a/util: Add u_file_get_hand_tracking_models_dir
Needed for Windows SteamVR driver
2023-02-16 17:03:15 -06:00
Moses Turner 266aec20e1 (NFC) h/mercury: Random nit in if case 2023-02-16 17:01:12 -06:00
Moses Turner 79701d8567 h/mercury: Remove __builtin_expect on MSVC 2023-02-16 17:01:12 -06:00
Moses Turner 3155765aed h/mercury: IWYU hg_image_distorter 2023-02-16 17:00:48 -06:00
Moses Turner b32ee5bbfb a/vive: Add extern "C" so we can use from C++
Needed for Windows SteamVR driver
2023-02-16 17:00:48 -06:00
Moses Turner 2835b597be a/tracking: Support JPEG output in euroc recorder 2023-02-16 16:53:13 -06:00
Moshi Turner 73416db7ba a/tracking: Remove break statement that broke OPENCV_RADTAN promotion/demotion 2023-02-13 11:30:44 -06:00
Ryan Pavlik 0b7c822007 a/bindings: Fix typos 2023-02-08 17:35:58 -06:00
Ryan Pavlik f32ed406d8 a/android,ipc/android: Fix typos 2023-02-08 17:35:49 -06:00
Ryan Pavlik a87fb2be93 a/tracking: Fix typo 2023-02-08 17:35:33 -06:00
Ryan Pavlik a51c2bcb1a d/rift_s: Fix typo 2023-02-08 17:35:22 -06:00
Ryan Pavlik 992066ea7e c/shaders: Fix typos 2023-02-08 17:35:14 -06:00
Christoph Haag 60b8b6e8fc a/binding: reverb g2 input/menu/click is on both hands
Spec:

On both hands
    …/input/menu/click
2023-02-07 11:27:39 +00:00
Ryan Pavlik 999c67975a st/oxr: Fix inconsistent naming related to subaction paths 2023-02-06 17:58:00 -06:00
Ryan Pavlik b2e65ed08c st/oxr: Add some const correctness 2023-02-06 17:58:00 -06:00
Ryan Pavlik 573cbb12ee st/oxr: Fix typo 2023-02-06 17:58:00 -06:00
Daniel Willmott 795de613c1 d/survive: Add aim pose offset to index controllers 2023-02-05 20:19:52 +00:00