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
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
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
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
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
Jakob Bornecrantz
c70bc60084
xrt: Also create a space overseer when creating system devices
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
d601f893da
xrt: Tidy compute_distortion function
2023-03-09 15:51:12 +00: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
006bdbc400
u/pp: Add new xrt input enums to printing function
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
Moshi Turner
5519aecd2c
cmake: Don't build t_euroc_recorder on Windows
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
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
Ryan Pavlik
ae61287f4c
a/vk: Enlarge buffer to fix warning
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
fd2c7c6a98
a/util: Fix printf formatting on 32-bit
2023-03-03 01:05:14 +00:00
Moshi Turner
3c1880448e
a/vive: Remove unused zlib linkage
2023-03-02 04:35:44 +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
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
f6ab734b2e
a/math: Add floating point conversion methods to Rational
2023-03-01 10:53:18 -06: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
Simon Zeni
0402a1e1a0
aux/vive: add hand tracking values to vive_poses transforms
2023-02-22 23:51:50 +00: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
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
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
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
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
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
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
Jakob Bornecrantz
a8c4d1299e
a/vk: Fix crash caused by different signedness comparisons
...
Closes #234 .
All credit for debugging and figuring out what the problem is goes to Mateo, I
made a different fix for it.
Co-authored-by: Mateo de Mayo <mateo.demayo@collabora.com>
2023-02-04 18:52:35 +00:00
Jakob Bornecrantz
3a143cadd1
a/vk: Print more color space formats
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
7576ce0960
a/vk: Track VK_EXT_swapchain_colorspace
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
b7addee249
a/vk: Track VK_KHR_format_feature_flags2
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
0938a1a02b
xrt: Fix missing function declaration without a prototype warnings
...
Found by clang-15.
src/xrt/auxiliary/math/m_permutation.c:133:15: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
m_do_the_thing()
^
void
2023-02-02 13:03:08 +00:00
Guillaume Meunier
76dff0b42f
ipc: make the pid filename, the socket filename, and the client library suffix customizable
2023-01-31 09:30:47 +00:00
Moses Turner
86e31f54f3
xrt: Refactor t_camera_calibration to use a tagged union instead of a bare array
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-30 17:09:27 -06:00
Moses
10cdde859a
a/math, comp/main, comp/render: Change math_matrix_2x2_* to m_mat2x2_*
2023-01-27 12:37:22 -06:00
Moses Turner
7d8d1ad8e7
a/math: Add m_matrix_2x2_invert
2023-01-27 12:37:22 -06:00
Moses Turner
da16e64982
a/math: Move m_matrix_2x2 functions into their own header
2023-01-27 12:37:22 -06:00
Mateo de Mayo
da50a2499f
d/wmr: Adjust exposure and gain individually for each camera
2023-01-26 18:07:10 +00:00
Mateo de Mayo
60b996239c
u/aeg: Add optional prefix for having multiple aeg UIs
2023-01-26 18:07:10 +00:00
Mateo de Mayo
d22f58bee4
u/var: Add nested headers
2023-01-26 18:07:10 +00:00
Christoph Haag
6f263dbda4
a/vk: allow VkImageViewUsageCreateInfo in Vulkan 1.1
...
Some drivers do not advertise support for VK_KHR_maintenance2 in
Vulkan 1.1, because it has been promoted to core.
This caused a validation error on compositors that use Vulkan 1.1
because the scratch image is allocated with unorm format and STORAGE
usage: an image view with srgb format can not be created with STORAGE
usage on many GPUs.
2023-01-26 12:30:13 +00:00
Christoph Haag
a188ef219c
a/vk: Store vulkan version in vk_bundle
...
Also adds code in c/util's Vulkan code to store it.
2023-01-26 12:30:13 +00:00
Jakob Bornecrantz
6ce2978648
xrt: Add ML2 controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
d231850771
xrt: Add Samsung Odyssey Controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
958911fd0b
xrt: Add HP Reverb G2 Controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
da5323642d
m/space: Correct comments
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
c7fdaacd02
m/space: Make sure to use valid poses in linear and angular calculations
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
f7118d7a93
m/space: Refactor pose part first
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
02aad19c78
m/space: Make pose validity upgrading clearer
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
2c1d413bf0
m/space: Add missing extern "C"
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
1c046dc523
m/space: Move functions to correct section
2023-01-24 16:11:56 +00:00
Robbie Bridgewater
17560d0618
a/util,st/gui: Add i64 as a debug GUI type
2023-01-24 15:35:39 +00:00
Ryan Pavlik
85a897a0b5
a/d3d,a/vk,c/client,ipc: D3D Depth texture / DXGI handle support
...
a/d3d: Improve allocation
Enable D3D11 and D3D112 depth images using DXGI handles
Allow D3D depth by default
D3D: only use DXGI handles
NT handles don't support depth formats and may fail to properly interop with Vulkan with some image dimensions.
Removed D3D_COMPOSITOR_ALLOW_DEPTH env.
D3D now always imports depth.
Added authorship.
Format pass
Fix D3D compositor tests
ipc: Fix HANDLE bit twiddling code
Merge into commits related to D3D depth changes. Makes the code compile
as C++, useful for Windows traceing
Co-authored-by: Robbie Bridgewater <ebridgewater@magicleap.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-24 15:35:22 +00:00
Robbie Bridgewater
3802e737bb
a/d3d,a/vk: Add R32_SFLOAT formats
...
Co-authored-by: Catalin Slobodeanu <cslobodeanu@magicleap.com>
2023-01-24 15:35:01 +00:00
Mario Kleiner
887b770f9e
aux/binding: Implement optional "steamvr_controllertypes" for SteamVR input bindings
...
Add an optional switch -s or --steamvr to steamvr_profiles.py, which enables
a different naming scheme for the "controller_type" field in the generated
SteamVR profile json files.
If the switch is provided and an interaction profile in bindings.json
provides the optional new property "steamvr_controllertype", that property
will be used for the "controller_type" field of the written out .json,
instead of the regular auto-generated name.
This allows to generate json files which use controller_type names normally
used by SteamVR, so Monado provided controllers are mapped to the same
OpenXR interaction profiles that SteamVR would normally map them to.
E.g., the standard controller_type for Oculus touch controllers used by
SteamVR is "oculus_touch" instead of Monado's "monado_oculus_touch_controller".
That in turn allows OpenXR clients to use the SteamVR/OpenXR runtime to
access controllers provided by Monado's SteamVR driver plugin. Without such
compatible json files, only standard OpenVR clients can use controllers
exposed by Monado's SteamVR driver by default, but not OpenXR clients.
Tested with an Oculus Rift CV-1, and shown to now enable OpenXR clients
to make full use of the Oculus touch controllers.
The mappings for controllers other than Oculus Touch are derived from
SteamVR log output, but not actually tested due to lack of suitable hw.
Per discussion for the merge request, we enable this '-s' flag by
default in the make file for SteamVR style naming scheme.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Mario Kleiner
d3893c229f
aux/binding: Implement optional "steamvr_path" for SteamVR input bindings
...
When using the Monado SteamVR driver plugin together with an Oculus
Rift CV-1 and Oculus touch controllers, the grip / squeeze sensors
(e.g., /user/hand/left/input/squeeze/value) and the thumbsticks did not
work.
This because SteamVR expects those controls to be exposed under a
different path than what one would use for OpenXR, e.g.,
OpenXR /input/squeeze --> SteamVR /input/grip and
OpenXR /input/thumbstick --> SteamVR /input/joystick
The same is true for some other controller types.
To fix this, add some new code for input subpath substitution, to perform
this remapping, depending on binding type:
For type "trigger": Substitute squeeze with grip
For type "joystick": Substitute thumbstick with joystick
For rare controller types where this would be the wrong thing to do,
e.g., Valve Index (for type "joystick", needs the path to remain
"thumbstick" as before), and for special cases not covered, we add
a new optional parameter 'steamvr_path' which can be used in bindings.json
to handle such mismatches in path flexibly to allow a dedicated path
name for SteamVR, overriding the regular "OpenXR style" input path or
auto-substituted path is if the parameter is omitted.
This makes the Oculus Rift CV-1 touch controllers fully work under SteamVR.
I haven't tested this with other controllers, as I only have Oculus
controllers for testing atm. But after reading about the HTC Vive controllers,
i did add a "steamvr_path" override for /input/menu -> /input/application_menu.
Cfe. https://github.com/ValveSoftware/openvr/wiki/IVRDriverInput-Overview
Also, a minor typo fix in steamvr_profiles.py as a bonus.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Moses Turner
dcbdcede5a
a/util: Fix edge cases in Moses's distortion method
...
Before this, we read out of bounds at the bottom of the display. Unsure why nothing but Valgrind caught it.
2023-01-21 03:50:20 +00:00
Moses Turner
8d8b0d03b0
a/util: Constify u_box_iou's Box constructor
2023-01-17 23:46:46 -06:00
Malek
5c013bcecd
a/math: Add stdbool include to m_lowpass_integer.h
2022-12-12 00:45:05 -08:00
SeungHoon Han
a594d6d86e
a/android: fixed forced applied alpha=0.8 window after Android S
2022-12-08 21:41:16 +00:00
SeungHoon Han
a2f5e5f1b9
a/android: hide display cutout to use full screen
2022-12-08 20:24:53 +00:00
Jakob Bornecrantz
50783a4c35
u/trace_marker: Add U_TRACE_[BEGIN|END] for greater control of zones/tracks
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
f8d2c095ee
u/trace_marker: Ensure ENABLE_TRACE is set before including Tracy headers
2022-12-08 00:24:42 +00:00
Mateo de Mayo
dad7957fb2
a/math: Add clock_offset.h
...
For now it only has our simple exponential smoothing clock offset estimator.
But more advanced ones can go here too.
2022-12-02 16:10:09 +00:00
Bailey Morgan
35061c1d80
a/vk: Select graphics device based on prefered device type
2022-12-02 14:05:34 +00:00
Maxim Kizub
950f6cc506
a/android: Improve waiting for surface holder
2022-11-30 09:26:38 -06:00
Moses Turner
85c0c78ac6
a/math: Fix m_vec3_angle function
...
Dot product is equivalent to a.length*b.length*cos(theta), not a.length_squared*b.length_squared*cos(theta)
2022-11-29 03:11:53 -06:00
Jakob Bornecrantz
2a12f7d661
os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper
...
One alternative to this is to use the CreateWaitableTimerExW function
with the CREATE_WAITABLE_TIMER_HIGH_RESOLUTION flag. On my systems the
function/flag was either as good or worse then timePeriod[Begin|End].
Setting the state globally or just just around the wait didn't seem to
have an impact on the precision.
2022-11-25 17:02:00 +00:00
Jakob Bornecrantz
c195608602
a/tracing: Do more tracing in PSMV tracking code
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
f552aacb87
a/tracking: Fix data waiting logic in PSMV tracking
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
3b465b4241
u/windows: Add helper for trying priority or privilege from args
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
9e57a745b2
u/windows: Add function to raise CPU priority
2022-11-25 16:00:49 +00:00
Jakob Bornecrantz
ef77cb08d0
u/windows: Add function to enable privileges on processes
...
Also add a small helper to add the privilege
SeIncreaseBasePriorityPrivilege, which is needed on
NVIDIA for HIGH and REALTIME priority Vulkan queues.
2022-11-25 15:54:45 +00:00
Jakob Bornecrantz
57820394f4
u/windows: Add files and u_winerror string format helper
2022-11-24 16:17:26 +00:00
Jakob Bornecrantz
ad4c6a7215
u/pacing: More Tracy plots
2022-11-24 15:34:59 +00:00
Jakob Bornecrantz
d1db1dabfd
u/pacing: Work around asserts on slow compositors
...
This isn't the most ideal solution but a proper fix will take longer.
2022-11-24 12:03:53 +00:00
Jakob Bornecrantz
37da46b709
u/pacing: Add metrics output
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
87fdedeb68
u/pacing: Track more variables in app pacer
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
7fa20a8b46
u/metrics: Add functions to write a metrics file
2022-11-24 00:34:50 +00:00
Moses Turner
f5d4d49607
a/math: Add math_quat_to_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
b3c277196e
a/math: Add faster (and correct!) math_quat_from_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
e06dc0dda1
a/math: Correct documentation for math_quat_ln and math_quat_exp
2022-11-23 13:02:35 -06:00
Jakob Bornecrantz
93fdf0bd74
a/vk: Expose vk_select_physical_device function
2022-11-23 14:53:26 +00:00
Jakob Bornecrantz
58596a5830
u/pacing: Add Tracy plots
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
65e76e1277
u/trace_marker: Tracy support
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
d48de0d832
u/worker: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
8b0e7675e4
u/sink: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
b49dc593b8
u/pacing: Use U_TRACE_PERFETTO define
2022-11-20 13:52:37 +00:00
Jakob Bornecrantz
469a79493c
u/trace_marker: Add U_TRACE_SET_THREAD_NAME
2022-11-20 11:24:27 +00:00
Jakob Bornecrantz
d1e116cb58
u/trace_marker: Check for both tracing and percetto
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
f4a5e599ef
u/trace_marker: Add convenience U_TRACE_PERCETTO define
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
648f91d35c
u/trace_marker: Refactor define names and split idents from func
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
4ee8aa4054
u/trace_marker: Reorg file (NFC)
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
7d2bd5b3e0
u/trace_marker: Fix copy paste error (NFC)
...
Define was unused till now.
2022-11-19 17:38:48 +00:00
Simon Zeni
9293c628d7
a/vk: add VK_FENCE_IMPORT_TEMPORARY_BIT to vk_create_fence_sync_from_native
2022-11-18 16:43:07 -05:00
Patrick Nicolas
a8dc902468
a/vk Add extentions for DMA-buf
2022-11-13 22:56:06 +00:00
Ryan Pavlik
2eb259f26a
aux: can not -> cannot
2022-11-09 14:48:38 -06:00
Ryan Pavlik
1fb6270194
a/util: Resolve a bothersome clang-tidy complaint in iterators.
2022-11-09 08:26:16 -05:00
Ryan Pavlik
290fafa4f7
a/util: Fix missing pragma once
2022-11-09 08:26:16 -05:00
Mateo de Mayo
77f8972f36
d/vive: Add hardcoded quaternions for SLAM extrinsics
...
These come from my own calibration and are hopefully better than the wrong ones
reported by the factory data.
2022-11-08 12:02:34 -06:00
Mateo de Mayo
c3757792d7
d/vive: Generate SLAM calibration automatically from factory data
...
Use factory data for SLAM calibration. Sensor rotations are off in most calib
files we saw (or at least we can't figure something better) so this won't work
very well. It's still necessary to properly calibrate the headset for good
results but at least now something works without that step.
2022-11-08 17:41:43 +00:00
Jakob Bornecrantz
6ba07d564c
a/vk: If global priority is not available, only allow medium queues
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
379bf36860
a/vk: Also try to use VK_KHR_global_priority when creating device
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
b6803b4bf8
a/vk: Add VK_KHR_global_priority
2022-11-04 10:46:42 +00:00
Mateo de Mayo
9d6c29397f
misc: Fix multiple compile warnings in gcc and clang
2022-11-03 20:08:52 +00:00
Jakob Bornecrantz
45937312bd
a/vk: Print out error on too many images to allocate
2022-11-03 17:43:06 +00:00
Jakob Bornecrantz
a41ccb0467
a/vk: Use xrt limits for number of collection images max
2022-11-03 17:43:06 +00:00
Moses Turner
b8a586175d
a/util: Add header for box intersection over union
2022-11-03 16:46:33 +00:00
Jakob Bornecrantz
c4a734e546
a/tracking: Do not push empty frames to debug sink
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
0f17fa0f5f
a/tracking: Fix data waiting logic in PSVR tracking
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
7b1c18255a
u/pacing: Work around issues with frame reuse
...
The code creates a frame with the timing information, and keeps track of the
times the applications does various things during the frame loop. Like
starting to render and finished rendering and so on. It keeps track of that
frame until it has determined that the application or the system compositor
will never do anything thing with that frame.
Now the allocation side of thing is very simple, just a long array of
FRAME_COUNT size that is reused with frame_id % FRAME_COUNT. So if the
application or the compositor keeps a frame along for too long it will try to
reuse that frame. The code has asserts to catch this. Making FRAME_COUNT makes
that re-use more unlikely.
2022-11-02 00:22:19 +00:00
Jakob Bornecrantz
51730d2db1
a/vk: Improve the VkResult to string printing (NFC)
2022-10-30 20:17:09 +00:00
Mateo de Mayo
bf66a9595c
build: Fix undefined reference to u_sink_create_queue
...
When XRT_FEATURE_SLAM is on, t_euroc_recorder.cpp is linked.
This depends on u_sink_queue.c.
2022-10-30 11:34:57 -03:00
Jakob Bornecrantz
f9c6c0d016
a/ogl: Only link to EGL on Android
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
d33b2b136f
a/os: Add comments about DSOs
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
637c49c1ea
a/os: Refactor out BLE functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
96eabd1347
a/os: Add BLE stub functions
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
d4a77da827
a/util: Add comments about DSOs
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
e629bbbe2b
a/util: Split out process functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
8ca60f4304
a/util: Split out sink functions into own library
2022-10-27 17:19:57 +00:00
Mateo de Mayo
80fdf7317f
t/slam: Add SLAM_UI option to enable the external system UI
2022-10-17 21:33:17 +00:00
Jakob Bornecrantz
12bb18a34c
u/file: Fix define checks being erroneous
2022-10-12 13:05:39 +01:00
Jakob Bornecrantz
1cafa92c3b
u/pacing: Refactor out tracing writing to own function
2022-10-11 20:33:56 +01:00
Jakob Bornecrantz
5ed13c6cc2
u/pacing: Account for present slop in assert
2022-10-11 20:33:56 +01:00
Julian Petrov
2e4c857a5a
u/process: Make u_process work on non-linux systems
2022-10-09 15:21:37 +01:00
Julian Petrov
c7a5a0bc1b
u/file: Make more functions work on Windows
2022-10-09 15:21:37 +01:00
Jakob Bornecrantz
08f6440aa4
u/pacing: Trace GPU info
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
f63c786ac9
u/pacing: Add gpu_info to u_pacing_compositor
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
da542e3f5e
u/pacing: Introduce latched and retired calls on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
7eacf6bd7a
u/pacing: Refactor out tracing writing to own function
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
4ec3512641
u/pacing: Track session_id on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
b6b9004fb2
u/pacing: Tidy
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
d1d845e430
u/pacing: Make sure to set predicted_display_time_ns
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
b5b832f612
u/trace_marker: Silence deprecation from percetto defines
2022-09-22 22:00:32 +01:00
Moses Turner
d5dd9a264e
a/util: Remove C++ guards and pragma once from C source file
2022-09-22 01:11:33 -05:00
Moses Turner
833787c492
u/tracked: Add u_tracked_imu_3dof
2022-09-21 01:52:15 +01:00
Moses Turner
d48792d9a9
u/sink: Ensure that image frames have monotonic timestamps
2022-09-21 01:52:15 +01:00
Moses Turner
17e0c39df2
u/sink: Add u_imu_sink_force_monotonic and u_imu_sink_split
2022-09-21 01:52:15 +01:00
Moses Turner
48e8894b74
u/json: Add u_json_get_pose_permissive
...
To parse poses from non-Monado configs with non-standard member names.
2022-09-21 01:52:15 +01:00
Moses Turner
b31eb76718
u/json: Add u_json_get_pose
2022-09-21 01:52:15 +01:00
Moses Turner
d91975299d
u/config: Use cJSON_Delete instead of cJSON_Free for gui scene parsing
2022-09-21 01:52:15 +01:00
Moses Turner
d2e2c3a988
cmake: Run cmake-format.sh
2022-09-19 21:57:37 +01:00
Mateo de Mayo
3d366b9243
gui: Fix layout file not being created for the first time on Windows
...
By ensuring imgui.ini exists.
Also enabled u_config_json_open_or_create_file for Windows as this OS has an
implementation of u_file_get_path_in_config_dir available now.
2022-09-19 17:19:12 +00:00
Moses Turner
bd265c611d
d/ns: update Moses's distortion method
2022-09-19 11:20:04 -05:00
Moses Turner
d04139bedd
u/file: Add u_file_read_content_from_path
...
Useful for Simula builder and North Star builder which both read straight from a path
2022-09-19 11:17:34 -05:00
Moses Turner
17acb376f9
xrt: Fix some typos that codespell caught
2022-09-11 23:32:28 -05:00
Jakob Bornecrantz
11a4f776e5
a/vk: Add vk_cmd_buffer_create helper
2022-09-09 10:46:21 +01:00
Jakob Bornecrantz
500d5b9954
a/vk: Rename command buffer helpers
2022-09-09 10:43:49 +01:00
Jakob Bornecrantz
eeaaaf398b
a/vk: Add helper to get buffer handle types
...
The image version of it was used for buffers as well.
2022-09-07 20:42:27 +01:00
Jakob Bornecrantz
a0d63d2f9c
u/wait: Add wait helper
2022-09-07 15:06:57 +00:00
Mateo de Mayo
d47d0ce2d9
u/logging: Log to stderr in Windows
2022-09-02 22:43:24 +00:00
Jarvis Huang
7be4163b91
d/android: Fix errors while getting display metrics
2022-09-02 16:25:12 +00:00
Jarvis Huang
52c790d1a9
t/android: Store jvm/context in service-lib
2022-09-02 16:25:12 +00:00
Jarvis Huang
25e96a508c
aux/android: Using DexClassLoader to load class
2022-09-02 16:25:12 +00:00
Jakob Bornecrantz
767637abb8
a/vk: Add image view with usage creation helper
2022-08-25 16:57:56 +01:00
Jakob Bornecrantz
fa02407726
a/vk: Add mutable R8G8B8A8_[UNORM|SRGB] image creation helper
2022-08-25 16:57:54 +01:00
Jakob Bornecrantz
a5efaceba5
a/vk: Add small chain helper
2022-08-25 16:57:36 +01:00
Jakob Bornecrantz
e79b23275b
a/vk: Remove unused vk_get_access_flags function
2022-08-25 15:06:09 +01:00
Jakob Bornecrantz
90f3adcdd1
a/vk: Group code
2022-08-25 15:06:09 +01:00
Jakob Bornecrantz
e7c217cea5
a/vk: Track various limits
2022-08-25 15:06:09 +01:00
Jakob Bornecrantz
b0f51acf77
a/vk: Track maintenance extensions
2022-08-25 15:05:44 +01:00
Christoph Haag
3c9ef82060
a/math: Add math_matrix_4x4_transform_vec3
2022-08-25 12:41:07 +01:00
Ryan Pavlik
fc0f390a87
aux/ogl: Add WGL wrapper to the build.
2022-08-22 19:53:50 +00:00
Moses Turner
4de631285b
u/hand: Fix finger ordering
2022-08-22 13:19:48 +01:00
Jakob Bornecrantz
7e24b1dfe7
u/hand: Move common init into init helper function
2022-08-14 16:16:27 +01:00
Jakob Bornecrantz
e6efcd7a02
u/hand: Take xrt_hand enum instead of bool
2022-08-14 16:16:27 +01:00
Jakob Bornecrantz
2b05bfc709
u/hand: Constify arguments
2022-08-14 16:16:27 +01:00
Moses Turner
386117c5ee
NFC: a/math: Make math_quat_from_swing prettier
2022-08-13 19:31:58 +00:00
Jan Schmidt
f8a486884b
u/u_json: Implement u_json_get_int_array()
2022-08-10 18:30:08 +01:00
Jan Schmidt
ce13de9484
aux/math: Add math_matrix_3x3_from_quat()
...
Add a function to get a 3x3 rotation matrix
from a quaternion.
2022-08-10 18:30:08 +01:00
Mateo de Mayo
dabf592d59
t/euroc: Add lock for IMU recording queue
2022-08-10 14:28:59 +00:00