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
Daniel Willmott
ab857e8f74
aux/vive: Add vive_poses
2023-02-05 20:19:52 +00:00
Daniel Willmott
e383609cbc
aux/math: Add math_quat_from_euler_angles()
2023-02-05 20:19:52 +00:00
Moses Turner
e9f79c45bf
h/mercury: Update hand tracking with new half-artificial model
2023-02-04 15:23:04 -06:00
Moses Turner
bfdeaa7d8f
a/tracking: Introduce t_camera_models.h
2023-02-04 15:23:04 -06:00
Mateo de Mayo
3cdc02c1bb
a/vk: Small improvements
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-02-04 18:52:59 +00:00