Commit graph

4709 commits

Author SHA1 Message Date
Moses Turner f580271291 d/wmr: Guess camera orientation for Reverb G2 based on HT0 twist value 2022-11-23 13:02:35 -06: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 9af195fea3 h/mercury: Add faster SwingTwistToQuaternion 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 6fe06068e8 c/main: Make XCB window deferred 2022-11-23 16:03:15 +00:00
Jakob Bornecrantz 3e1760fd04 c/main: Introduce comp_target_factory 2022-11-23 16:03:15 +00:00
Jakob Bornecrantz 93fdf0bd74 a/vk: Expose vk_select_physical_device function 2022-11-23 14:53:26 +00:00
Jakob Bornecrantz d8eb6865da c/render: Don't include comp_compositor.h 2022-11-23 14:53:26 +00:00
Maxim Kizub f5a06f9c46 c/main: Add code to defer render target initialization 2022-11-23 14:44:51 +00:00
Jakob Bornecrantz 8efb55403c d/psvr: Switch to reading sensors from its own thread
Tested-by: number-g <g@imagination.eu.org>
2022-11-22 17:58:07 +00:00
Jakob Bornecrantz 58596a5830 u/pacing: Add Tracy plots 2022-11-21 16:46:12 +00:00
Jakob Bornecrantz 7bc145d184 cmake: Add XRT_HAVE_TRACY variable 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 4cecb768b1 external: Add Tracy client code 2022-11-21 16:46:12 +00:00
Jakob Bornecrantz b1b63a9397 d/vive: Do more tracing during packet handling 2022-11-21 13:47:58 +00:00
Jakob Bornecrantz 60099fdd71 t/common: Do more tracing during init and fini 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 8637617833 c/main: Do more tracing during init 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 44599a7de7 c/main: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 432bf03981 c/multi: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 3a2dfd850c t/hand: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz c9bbeac70a d/v4l2: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 36d1734377 d/vive: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 5142fa7e88 d/psmv: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 0691ed9b89 d/wmr: Use U_TRACE_SET_THREAD_NAME 2022-11-20 14:36:37 +00:00
Jakob Bornecrantz 386aa510bd ipc: Use U_TRACE_SET_THREAD_NAME 2022-11-20 13:52:38 +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
Simon Zeni 278aa4cd41 c/main: use swapchain semaphores for peek window rendering 2022-11-18 11:14:41 -05:00
Jakob Bornecrantz 98b7f7d1c6 xrt: Remove xrt_gfx_native 2022-11-15 23:24:20 +00:00
Jakob Bornecrantz 8d6b794878 c/main: Add own interface for creating the main compositor 2022-11-15 23:24:20 +00:00
Moses Turner cb2c355ba6 t/hand: fix 90 degree rotation for hand detection 2022-11-15 01:58:41 +00:00
Moses Turner a9d04045e6 c/main: Add Reverb G2's display to nvidia direct allowlist 2022-11-14 19:50:03 -06:00
Jakob Bornecrantz 89aee1892b d/remote: Update protocol to allow per view data 2022-11-14 16:07:15 +00:00
Patrick Nicolas a8dc902468 a/vk Add extentions for DMA-buf 2022-11-13 22:56:06 +00:00
Ryan Pavlik 58e4cb6e15 st/steamvr: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik eac703a106 st/prober: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik aa01868d0f xrt: can not -> cannot (comments) 2022-11-09 14:52:03 -06:00
Ryan Pavlik 678b27145a ipc/client: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik 11bdba7e64 drivers: can not -> cannot 2022-11-09 14:52:03 -06:00
Ryan Pavlik 73f48d12ec comp/util: can not -> cannot 2022-11-09 14:51:58 -06:00
Ryan Pavlik 2eb259f26a aux: can not -> cannot 2022-11-09 14:48:38 -06:00
Ryan Pavlik 724b2288f9 st/oxr: can not -> cannot 2022-11-09 14:48:17 -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
Ryan Pavlik a072af398c t/hand: Fix doxygen warnings 2022-11-09 03:47:44 +00:00
LeGrandToto 987d4ebecb ext: Updated Catch to v2.13.10 2022-11-08 23:54:05 +00:00
Moses Turner 00bf669e61 t/common: Disable SLAM by default for Valve Index 2022-11-08 12:32:23 -06: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
Mateo de Mayo 0ebc7e042f d/vive: Improve readability of precompute_sensor_transforms (NFC) 2022-11-08 17:41:43 +00:00
Jakob Bornecrantz ca83275671 ipc: Move struct declaration into same place 2022-11-07 23:48:59 +00:00
Jakob Bornecrantz f9cd474156 ipc: Use XRT_MAX_IPC_HANDLES and also validate input from client 2022-11-07 23:48:59 +00:00
Jakob Bornecrantz 26c4771bfb ipc: Make _sync struct have the right indentation 2022-11-07 23:48:59 +00:00
Jakob Bornecrantz 86a6b4b3e3 ipc: Generated code doesn't need to care about line length 2022-11-07 23:48:59 +00:00
Jakob Bornecrantz 8601499a5a xrt: Add XRT_MAX_IPC_HANDLES 2022-11-07 23:48:59 +00:00
Jakob Bornecrantz 736f1fd671 c/util: Slightly improve device and queue creation 2022-11-04 10:46:42 +00:00
Jakob Bornecrantz 3f3e19299f c/null: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +00:00
Jakob Bornecrantz 04f930d99a c/main: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +00:00
Jakob Bornecrantz 1253d58717 t/sdl: Use VK_KHR_global_priority if available 2022-11-04 10:46:42 +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
Jakob Bornecrantz 04ab47ef3b st/oxr: Use xrt limits for number of swapchain images max 2022-11-03 17:43:06 +00:00
Jakob Bornecrantz cf2dbb9334 ipc: Use xrt limits for number of swapchain handles max 2022-11-03 17:43:06 +00:00
Jakob Bornecrantz 589a898c74 xrt: Start collection of limits in one place 2022-11-03 17:43:06 +00:00
Moses Turner f41596f176 h/mercury: Replace old detection model, and discard overlapping hands 2022-11-03 16:46:33 +00:00
Moses Turner b8a586175d a/util: Add header for box intersection over union 2022-11-03 16:46:33 +00:00
Mateo de Mayo 8f14c572ee d/vive: Apply IMU pose correction for SLAM tracking
The offset between IMU and middle-of-eyes for the Index is quite noticeable and
tracking felt very off before this.
2022-11-03 13:08:02 +00:00
Gustavo Alvarez 21788f8650 t/cli: Link with aux_os_ble
Fixes build on certain configurations.
2022-11-03 10:03:25 +00:00
Moses Turner 0cd2f4f081 h/mercury: Fix data home 2022-11-02 22:35:27 +00:00
Moses Turner 32da562bc5 h/mercury: Remove really old keypoint estimator and NCNN stuff 2022-11-02 22:35:27 +00:00
Jakob Bornecrantz ede2292690 d/psvr: Paranoia 2022-11-02 17:55:58 +00:00
Jakob Bornecrantz 200bbc9da0 d/psvr: Protect sensore reads with device_mutex
Fixes asserts by the fusion code where samples where pushed in the wrong
order to the fusion code.
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz fdac0b5137 d/psvr: Make sure to init the device_mutex before teardown can be called 2022-11-02 17:55:58 +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 f32eb0d662 c/main: Refactor comp_renderer init/fini slightly 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz f6d7bfbe0a c/main: Init render shaders and resources earlier 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz e76b382bc9 c/main: Destroy target before render resources 2022-11-02 15:24:26 +00:00
Jakob Bornecrantz f6fb9f715e c/main: Reorder fields to make dependency slightly clearer (NFC) 2022-11-02 15:24:26 +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 a5f10e7aa2 c/multi: Rework logging with session transition a bit 2022-11-02 00:21:31 +00:00
Jakob Bornecrantz 01d195808d st/oxr: Use snprintf to safely write strings to app 2022-10-31 12:12:35 +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
Boris-Chengbiao Zhou cd2f204414 st/oxr: Check if user has already enabled timeline semaphores
We aren't allowed to add a second struct of the same type to the pNext
chain during Vulkan device creation.
2022-10-28 23:19:50 +02:00
Jakob Bornecrantz 35b941812a c/client: Merge have EGL conditional file adding 2022-10-27 17:19:57 +00: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
Jakob Bornecrantz c9ef44dd28 t/common: Remove stale comment 2022-10-27 17:19:57 +00:00
Bailey Morgan 67c47fbcb3 st/oxr: Change result code for invalid OpenGL context to match spec 2022-10-25 18:18:15 +00:00
Christoph Haag 9054dc01ca d/ht_ctrl_emu: Stub set_output 2022-10-24 17:20:59 +00:00
Christoph Haag 7dd0a6e473 st/oxr: Disable XR_KHR_convert_timespec_time on windows
This avoids a current CTS issue.
2022-10-20 12:33:02 +02: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
Julian Petrov fb28f940b5 Fix an IPC protocol issue on windows when receiving zero HANDLEs 2022-10-14 10:49:50 -04:00
Julian Petrov d0f713c4c4 ipc: Add Windows support 2022-10-13 17:07:27 +00:00
Julian Petrov 7669d2c545 t/ctl: Don't build on Windows 2022-10-13 17:07:27 +00:00
Julian Petrov 5f4f7530d4 xrt: Introduce a new xrt_ipc_handle_t for IPC connections 2022-10-13 17:07:27 +00:00
Ryan Pavlik 6bb976e47f external: Add some headers from my util-headers project. 2022-10-13 11:43:31 +01: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
Jan Schmidt fc3fbd6093 d/ht: Fix rotation/flipping of right hands
When dealing with rotated cameras, rotate them backward
to vertical, and then flip the right hand image in
the affine transform to get correct orientation of hands
for the keypoint estimator. Before, the left hand images
were being fed in upside down.
2022-10-10 23:50:58 +00:00
Jakob Bornecrantz 9077261ada d/dai: Set fields after nullptr check 2022-10-10 22:39:38 +00:00
Jakob Bornecrantz 00c3cc4c2f d/dai: With the latest depthai-core we can support color OV9782 sensors 2022-10-10 22:39:38 +00:00
Jakob Bornecrantz 4814f627c6 d/dai: Fix conversion warnings 2022-10-10 22:39:38 +00:00
Jakob Bornecrantz 504a2a288e d/dai: Fix typo 2022-10-10 22:39:38 +00:00
Jakob Bornecrantz 52d225ae3b t/north_star: Fix build when we have depthai but no hand-tracking 2022-10-10 22:39:38 +00:00
Christoph Haag 751c8034bc c/main: Remove useless base_space from get_view_poses
The compositor doesn't know the concept of requesting view poses in
respect to a "space", so remove this vestigial code.
2022-10-10 15:47:19 +02: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
Robbie Bridgewater cc2e7b6da3 ipc: Allow IPC path to be set dynamically
Uses cache for XRT_IPC_MSG_SOCK_FILE
2022-10-09 15:21:11 +01:00
Christoph Haag 74d82ff37f d/ht_ctrl_emu: Set xdev serial 2022-10-03 19:23:24 +02:00
Jan Schmidt e409264ba7 d/wmr: Fix Reverb G2 detection
196bf24276 broke Reverb G2
detection. Use the right PID to match the Reverb G2 headset
again.
2022-10-02 03:57:19 +11:00
Jakob Bornecrantz 5fc30a4e22 c/multi: Make sure to retire delivered frames once the session goes invisible or non-active
Launching two instances of hello_xr will cause an assert in the app pacer.
2022-10-01 13:10:42 +01:00
Jakob Bornecrantz 88ce42dbf9 c/multi: Paranioa 2022-10-01 13:10:42 +01:00
Christoph Haag f6821402fd c/main: Hook up layer squasher in main compositor
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-10-01 13:10:42 +01:00
Christoph Haag 95fb034b92 c/render: Implement layer squashing for compute shader
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-09-30 22:43:58 +01:00
Christoph Haag fa71462d86 c/render: Move COMP_MAX_LAYERS to render_interfaces.h 2022-09-30 22:38:54 +01:00
Jakob Bornecrantz 13124f019e d/opengloves: Fix left/right typos 2022-09-29 21:12:44 +00:00
Jakob Bornecrantz 2673787429 d/opengloves: Fix leak of config JSON 2022-09-29 21:12:44 +00:00
Jakob Bornecrantz 1e639fc2f3 d/opengloves: Fix leaks of udev objects 2022-09-29 21:12:44 +00:00
Moses Turner 034099211f d/dai: Initialize mutex and thread helper 2022-09-28 18:37:49 -05:00
Jakob Bornecrantz 127a467efc h/mercury: Add missing break statement 2022-09-28 22:56:01 +00:00
Jakob Bornecrantz da571275c2 st/oxr: Fix enum comparison warning 2022-09-28 22:56:01 +00:00
Jakob Bornecrantz 676e071aca c/main: Pass GPU info to pacer 2022-09-28 21:46:56 +00: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
Ryan Pavlik 109e373e0c c/main: Move ownership of present/render semaphores to comp_target
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-28 21:34:06 +00:00
Jan Schmidt 3b7f95b39e d/rift_s: Rework hw2mono clock tracking
Use the common hw2mono/a2b clock code from vive_source
2022-09-26 00:32:28 +10:00
Jan Schmidt 942df72c26 d/rift_s: Reduce camera frame delay to 2 2022-09-26 00:32:28 +10:00
Jan Schmidt 32cc6e05da d/rift_s: Move builder to targets/common
Move the builder into the common area.
2022-09-26 00:32:28 +10:00
Jan Schmidt 5c573152a8 d/rift_s: Set camera orientation in calibration
Put the right rotation of the front cameras
into the camera calibration struct
2022-09-26 00:32:28 +10:00
Jan Schmidt 495eecb65f d/rift_s: Add 6DOF SLAM tracking and hand tracking
Find and capture input from cameras, and split according to
frame type. Send long exposure tracking frames through
the AEG module, and SLAM and hand tracking trackers.

Add controller emulated hand devices.

The native "fisheye62" camera distortion model is
dynamically converted to OpenCV Kannala-Brandt
parameters using a TinyCeres solver.
2022-09-26 00:32:28 +10:00
Jan Schmidt 9fbe81e494 d/rift_s: Port OpenHMD Oculus Rift S driver
Port across the Oculus Rift S driver from OpenHMD as a native
Monado driver.

This is mostly the same as the OpenHMD 3DOF driver, with
slightly better HMD distortion correction, various small
fixes, some capsense touch detection support.

Controller poses are rotated 40° to match grip pose.
2022-09-25 02:17:44 +10:00
Jakob Bornecrantz b5b832f612 u/trace_marker: Silence deprecation from percetto defines 2022-09-22 22:00:32 +01:00
Moses Turner 47714ed650 h/mercury: Add 2D model input and output visualizers 2022-09-22 13:22:55 -05:00
Moses Turner 812cc01104 h/mercury: Fix for blackbar in 180 degree orientation 2022-09-22 14:02:21 +01:00
Jakob Bornecrantz 098bd5e773 st/gui: Add discrete steps in video preview scale 2022-09-22 14:02:21 +01:00
Moses Turner 9a9878a850 st/gui: Improve record window scaling and add 180 degree flipping 2022-09-22 12:09:25 +00: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 6ec9b73e1e d/wmr: Provide camera orientation to hand tracking 2022-09-21 23:11:58 -05:00
Jakob Bornecrantz 5c958d096d d/vive: Make sure to free the source 2022-09-22 00:41:10 +01:00
Moses Turner 45e52dee8f d/ns: Switch NS driver to builders 2022-09-21 07:57:03 -05:00
Moses Turner 6fdd790da0 d/dai: Update DepthAI driver
* Removed depthai_tracked_device - now you create a "SLAM" device, plug any frameserver into it and you're done
* Consolidated the grayscale frameservers into just one that gives you SLAM sinks
* Allows for different framerates and half-size for ov9282s
* Added debug frame sinks
* Added the ability to wait at startup for a number of frames for the streams to stabilize before submitting them to SLAM
2022-09-21 07:57:03 -05:00
Moses Turner 201708dee5 d/ht: Remove DepthAI hand tracking device
This was super crufty. Instead now you use a builder to create SLAM sinks with the DepthAI builder and plug them into a regular HT device
2022-09-21 07:57:03 -05:00
Moses Turner 074e18cac9 d/twrap: Add tracking wrapper driver 2022-09-21 07:57:03 -05:00
Moses Turner ef767af2ad cmake: Always build ht_ctrl_emu driver 2022-09-21 07:57:03 -05:00
Moses Turner 16dffc8d3b cmake: Link drv_ht and drv_cemu in t/common instead of vive/survive 2022-09-21 07:57:03 -05:00
Moses Turner 5c18f83e8d d/ulv2: Convert Ultraleap driver create function to helper 2022-09-21 01:54:40 +01: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 714925e1b8 t/common: Use cJSON_Delete instead of cJSON_Free in SimulaVR 2022-09-21 01:52:15 +01:00
Moses Turner e1fbb5b619 cmake: Improve seperation between categories (NFC) 2022-09-21 01:52:15 +01:00
Moses Turner a23bf9ab36 d/ns: Use math/m_mathinclude.h to fix Windows build 2022-09-21 01:45:24 +01:00
Moses Turner 956ee5ae9d d/ns: Allow for freeing the 3D optical system 2022-09-21 01:45:24 +01:00
Jakob Bornecrantz e06608533f c/multi: Pass in option to do warm start-ups 2022-09-19 22:31:35 +00:00
Jakob Bornecrantz 6faea9224e c/multi: Add warm start and invalid states 2022-09-19 22:31:35 +00:00
Jakob Bornecrantz 4b3f97c65d c/multi: State paranioa 2022-09-19 22:31:35 +00:00
Daniel Willmott c83c21ef90 d/opengloves: Clarify encoding constants 2022-09-19 22:08:28 +00:00
Daniel Willmott f953ed7846 d/opengloves: Clarify input enums 2022-09-19 22:08:28 +00:00
Daniel Willmott ddda9ec727 d/opengloves: Add force feedback extension support 2022-09-19 22:08:28 +00:00
Daniel Willmott 74f14f2414 d/opengloves: Communication api change 2022-09-19 22:08:28 +00:00
Daniel Willmott 0bed585018 st/oxr: Add force feedback extension implementation 2022-09-19 22:08:28 +00:00
Daniel Willmott b710127fad xrt/device: Add force feedback role 2022-09-19 22:08:28 +00:00
Daniel Willmott 903aced023 xrt/include: Update xrt defines for force feedback output 2022-09-19 22:08:28 +00:00
Daniel Willmott 3c8e738e77 st/oxr: Update openxr extension support 2022-09-19 22:08:28 +00:00
Daniel Willmott 331f41d22e ext/openxr: Update specification to xr_mndx_force_feedback_curl 2022-09-19 22:08:28 +00:00
Moses Turner d2e2c3a988 cmake: Run cmake-format.sh 2022-09-19 21:57:37 +01:00
Christoph Haag 196bf24276 d/wmr: Add HP VR1000 support 2022-09-19 18:16:21 +00: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 1836182e24 t/common: Remove superfluous PID/VIDs from SimulaVR builder
And remove outdated comments
2022-09-19 11:17:34 -05:00
Moses Turner 33226dd892 d/rs: Add PID/VIDs for T265 2022-09-19 11:17:34 -05:00
Moses Turner 34d158b299 d/dai: Use setXLinkChunkSize(0) to reduce latency 2022-09-19 11:17:34 -05:00
Moses Turner 81764273ca h/mercury: Use much faster quaternion change of basis 2022-09-19 11:17:34 -05:00
Moses Turner e8225b273c t/common: Switch SimulaVR builder to u_file_read_content_from_path 2022-09-19 11:17:34 -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 a285294d7f h/mercury: Fix crop calculation for 180 degree rotations 2022-09-19 11:01:04 -05:00
Moses Turner 0ddf3e0e19 t/c/builder_lighthouse: Set camera orientation correctly 2022-09-16 23:41:18 +01:00
Moses Turner b735d99569 t/c/builder_lighthouse: Move state out of static storage
Also reword/rework some stuff to make it more obvious
which parts are specific for Valve Index cameras
2022-09-16 23:41:09 +01:00
Moses Turner e95d21586f h/mercury: Use camera orientation for keypoint model input 2022-09-15 21:36:37 -05:00
Jakob Bornecrantz 0fedf6fe7d sdl_test: Add SDL test framework 2022-09-15 14:06:20 +01:00
Moses Turner bea3569016 d/dai: Enable IR floodlight code and allow the floodlight to be controlled with an env var
IR floodlight support has been merged into DepthAI core
2022-09-13 19:56:27 -05:00
Moses Turner 0f40a4be8f t/c/builder_lighthouse: Fail more clearly when cameras aren't available 2022-09-13 22:10:58 +00:00
Moses Turner 4c55364d95 d/vive: Always give a vive config 2022-09-13 22:10:58 +00:00
bjorn 8d9244af53 c/render: Avoid potentially-unsupported memory type; 2022-09-13 19:21:13 +00:00
Jakob Bornecrantz 43526f48b7 c/multi: Do not draw apps that are not visible
Closes #197
2022-09-13 14:31:24 +00:00
Jakob Bornecrantz c6aa252796 c/multi: Do not keep track of current and sent state 2022-09-13 14:31:24 +00:00
Jakob Bornecrantz b95481ebaa t/ctl: Ensure connection is initialized properly 2022-09-13 14:31:24 +00:00
zhibinw 0cec22e907 ipc/android:allow none activity context for overlay app 2022-09-13 14:21:21 +00:00
Moses Turner e8054cd682 t/common: Use correct condition for building SimulaVR builder 2022-09-13 02:45:19 -05:00
Ryan Pavlik a7d553d93e xrt,comp,ipc...: Clarifying docs about "system compositor" and "multi compositor" 2022-09-12 10:59:41 -05:00
Moses Turner 9d6ca80af3 xrt: Add SimulaVR driver 2022-09-12 12:20:51 +00:00
Moses Turner cc62600972 d/rs: Allow Realsense device to be created outside of normal target list 2022-09-12 12:20:51 +00:00
Moses Turner 17acb376f9 xrt: Fix some typos that codespell caught 2022-09-11 23:32:28 -05:00
Jakob Bornecrantz 93ab662682 c/main: Destroy peek semaphores 2022-09-09 10:47:31 +01:00
Jakob Bornecrantz c0a3d53c0a c/main: Only create not begin peek command buffer 2022-09-09 10:47:30 +01:00
Jakob Bornecrantz cfa99000a9 c/main: Add image usage to make silence image view creation warnings 2022-09-09 10:46:43 +01:00
Jakob Bornecrantz d152c1f9db c/main: The source image starts in SHADER_READ_ONLY_OPTIMAL 2022-09-09 10:46:43 +01:00
Jakob Bornecrantz dedfd022b8 c/main: Tidy peek code 2022-09-09 10:46:43 +01: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 115bf93487 st/oxr: Use precise sleeper for extra wait frame sleeps 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz 828246a5cd c/util: Use wait helper to implement wait frame 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz 0b2c7e207d c/multi: Use precise sleeper for scheduled frame waiting 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz e21b74059c c/multi: Use wait helper to do wait frame on main loop 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz 221aea883a c/multi: Use wait helper to implement wait frame 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz 1772baa90e ipc: Use wait helper to implement wait frame 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz a0d63d2f9c u/wait: Add wait helper 2022-09-07 15:06:57 +00:00
Jakob Bornecrantz b09aa79f4a c/multi: Improve frame timing printing a little bit 2022-09-06 18:08:10 +00:00
Jakob Bornecrantz f2b8855e51 st/oxr: Correct error message 2022-09-06 18:08:10 +00:00
Jan Schmidt 1811951dd6 t/ht: Add support for camera orientation
Add a way to pass in extra information about camera views, this new
struct is merged with the old image boundary information struct.

Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-09-06 18:36:53 +01:00
Simon Zeni a6c30b4083 c/main: stop allocating vkCommandBuffer each blit 2022-09-05 17:58:38 +00:00
Jakob Bornecrantz e931e0fed9 ext/openxr: Update headers to 1.0.25 2022-09-04 23:19:00 +01: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
Mateo de Mayo dfd37bba78 c/render: Fix forloop bounds innocuous typo 2022-08-31 09:50:17 -03:00
Jakob Bornecrantz 1d4c4cc4a0 c/render: Add scratch image 2022-08-25 16:58:03 +01:00
Christoph Haag 10e5e75a1d c/render: Default mock image to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
Since it's only used as a default/fallback read image it's
best to put it in that layout and keep it there.
2022-08-25 16:58:03 +01:00
Jakob Bornecrantz 4505bf09ff c/render: Rename scratch to mock
Can't use default as it's a keyword in C.
2022-08-25 16:58:03 +01:00