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
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
Mateo de Mayo
5b431152e1
t/common: Remove invalid parameter
2023-02-03 10:13:41 -03:00
Jakob Bornecrantz
c7e3a358b3
c/main: Prettier print of VkSurfaceFormats
2023-02-02 20:50:42 +00:00
Jakob Bornecrantz
e5b28c491a
c/main: Refactor instance extension selection
...
Add also add VK_EXT_swapchain_colorspace
2023-02-02 20:50:42 +00:00
Jakob Bornecrantz
a7f7023570
c/main: Add optional VK_KHR_format_feature_flags2
2023-02-02 20:40:20 +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
3dc0415374
ipc: Tidy client includes (NFC)
...
Fixes some clang-tidy warnings about duplicated includes.
2023-02-02 20:05:06 +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
Patrick Nicolas
559e145934
c/main: Record pose used in compositor
2023-01-31 09:30:47 +00:00
Patrick Nicolas
7a0d87db25
c/main: Allow providing comp_target_factory in constructor
2023-01-31 09:30:47 +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
Jakob Bornecrantz
3b0f938028
d/simulated: Add builder
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
d1b7e3e557
d/simulated: Add controllers
...
Supports simulating Simple, WinMR and ML2 controllers
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
c562930cdc
d/simulated: Export logging level
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
0494777d1a
d/simulated: Make hmd center be pose and make it possible to pass it in at start
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
121bcf028a
d/simulated: Make it possible to pass in movement mode
...
And a little bit of tidy.
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
06806cc6ef
t/common: Tidy builder list
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
9b8de2f155
t/common: Sort builder definitions alphabetically
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
84ebd4d687
t/common: Add comment to NorthStar builder create function
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
17a14d5b10
t/cli: Add calib-dump command
2023-01-29 01:38:01 +00:00
Moses Turner
7d72b74a68
c/main: Make peek window struct private, and fix build with old SDL2
2023-01-28 12:47:57 -06:00
Jakob Bornecrantz
9bd63cb37d
d/dai: It's using aux_util so depend on it
2023-01-27 20:17:27 +00:00
Moses Turner
1bba34e944
xrt: Remove old_rgb hand tracking
2023-01-27 12:37:33 -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
Moses Turner
2c73485ecd
d/ht: Tidy header
2023-01-26 19:10:57 -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
Christoph Haag
e7fff3e435
d/hdk: handle 0 bytes read
2023-01-26 00:23:18 +01:00
Christoph Haag
bc1d355e26
d/hdk: Zero initialize buffer
2023-01-26 00:17:37 +01:00
Christoph Haag
4030b474ad
d/hdk: Use 100 ms hid read timeout
...
Avoids burning cpu cycles with busy looping
2023-01-26 00:17:37 +01:00
Moses Turner
c9405e946f
t/common: Add environment variable for replacing RiftS controllers with hand tracking
2023-01-25 22:24:53 +00:00
Jakob Bornecrantz
c21a8ef0cc
st/oxr: Add controller extensions
...
Extensions enabled:
* XR_EXT_hp_mixed_reality_controller
* XR_EXT_samsung_odyssey_controller
* XR_ML_ml2_controller_interaction
2023-01-24 22:40:53 +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
ed1f18bb74
xrt: More space in xrt_input_name enum list
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
213cc271f6
xrt: Sort xrt_device_name enums
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
Fernando Velazquez Innella
e035d060d1
c/render: implement render_resources_get_duration
...
Useful for systems that don't support calibrated timestamps and caseas where only execution time measuring is needed.
2023-01-24 15:35:31 +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
SJakab
e4a40a6e4e
st/oxr: Skip oxr_session_end if connected to Unreal 4.
2023-01-24 11:42:46 +00:00
Moses Turner
4709ab85ca
d/wmr: Fix grammar
2023-01-23 14:24:28 -06:00
Christoph Haag
87680c69d4
d/ohmd: Get rid of enum alias
...
The last enum index was used to determine the size of the inputs array.
The "clever" solution of aliasing enum values saved a minor amount of space
when allocating the xrt_device, while still allowing to dynamically assign
any input profile.
It also has drawbacks of being confusing and making it impossible to
validate that inputs from the correct xrt_input_name is requested.
Therefore just get rid of it, the minor space savings is not worth it.
fixes 2be4cbf4c3
2023-01-23 17:46:33 +01: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
Mario Kleiner
50f7b5ba5f
d/ohmd: Fix input from controls_mapping[0].
...
Use INPUT_INDICES_LAST instead of 0 for checking if control_mapping[i]
is unassigned for index i, ie. for skipping input.
As 0 is a valid mapping assignment defined in "enum input_indices", this
lead to dead input for SIMPLE_SELECT_CLICK and OCULUS_TOUCH_X_CLICK, both
assigned to 0.
This commit makes the Oculus Rift CV-1 left touch controllers X-Button
work in Monado OpenXR native and SteamVR via. Monado driver plugin.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Jakob Bornecrantz
cb94bc2df0
t/common: Fix warning in lighthouse builder (NFC)
2023-01-23 13:42:20 +00:00
Christoph Haag
694baebd07
d/ohmd: Fix build
...
fixes 2be4cbf4c3
2023-01-22 22:04:47 +01:00
Christoph Haag
2be4cbf4c3
d/ohmd: Support generic trackers and clean up
2023-01-21 19:21:59 +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
Jarvis Huang
503dae2883
ipc/android: Early reject if server failed to start
2023-01-19 19:50:28 +00:00
Moses Turner
8d8b0d03b0
a/util: Constify u_box_iou's Box constructor
2023-01-17 23:46:46 -06:00
Moses Turner
1ef49b92f2
d/dai: Control floodlight brightness with an env var
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-15 09:54:54 -05:00
Jakob Bornecrantz
4643d4f089
st/gui: Add small hand-tracking demo scene
2023-01-14 20:11:49 -05:00
Christoph Haag
01dd02dc83
d/hdk: initialized thread helper
...
Fixes assert in debug mode.
2023-01-08 23:42:31 +01:00
Mateo de Mayo
6bd921b390
d/wmr: Fix unused corrected IMU timestamp
2023-01-02 16:21:08 -03:00
Jarvis Huang
aa6b8cd88d
ipc: Change init order to avoid assertion
2023-01-01 17:00:43 +00:00
Moses Turner
cd163e366b
c/main: Add another string for Reverb G2 to the nvidia direct mode allowlist
2022-12-31 03:11:41 -06:00
Moses Turner
946141ce40
h/mercury: Remove kine_ccdik optimizer
...
Goodbye, sweet prince.
This was my first attempt at the "optimizer" piece of our optical hand tracking, and it *did work* dammit! It just wasn't anywhere near as flexible or efficient as Levenberg-Marquardt.
It's worse in every way to the `kine_lm` optimizer, and getting hard to maintain, so we're getting rid of it. Gone, but never forgotten.
2022-12-29 20:03:05 +00:00
Jakob Bornecrantz
966878b1db
t/sdl_test: Make sure to include inttypes.h for PRIu64 define
2022-12-21 00:49:06 +00:00
Jakob Bornecrantz
814170469a
t/sdl_test: Include m_mathinclude to fix compile on Windows
2022-12-20 16:02:18 +00:00
Jakob Bornecrantz
1472bdf6b6
c/client: Create a share context instead of using context directly
2022-12-19 16:38:51 +00:00
Jakob Bornecrantz
0cf18ae044
c/client: Refactor context mutex locking to helper function
2022-12-19 16:38:51 +00:00
Jakob Bornecrantz
b87239e7d8
d/wmr: Increase display init sleep and also add debug variable to control it
2022-12-14 12:20:10 +00:00
Malek
5c013bcecd
a/math: Add stdbool include to m_lowpass_integer.h
2022-12-12 00:45:05 -08:00
Christoph Haag
2abcc17178
c/main: Add XRT_COMPOSITOR_DISABLE_DEFERRED env var
2022-12-09 16:38:06 +00: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
040764c4f1
ipc: Trace around ipc_dispatch
2022-12-08 00:24:42 +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
Jakob Bornecrantz
87f7b3426a
t/sdl_test: Fix build on Windows
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
a29a3c5ef3
c/mutli: Error log on failing semaphore wait
2022-12-06 15:26:40 +00:00
Jakob Bornecrantz
ebb7c3cac2
d/wmr: Tidy prober code
2022-12-05 15:21:20 +00:00
zhibin wang
828dacc10b
c/client: Fix eglDestroyImageKHR error and add AHB buffer release
2022-12-05 14:44:53 +00:00
Jakob Bornecrantz
9b3f9baff3
ipc: Properly cast assignment
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
6450cba854
ipc: Clarify code around xrt_comp_begin_session call
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
bc83130354
ipc: Use correct cast
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
2ffaf7fd46
ipc: Add C++ guards to generated headers
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
09975b0d24
ipc: Use XRT_STRUCT_INIT
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
4a8448fcc3
c/multi: Clarify code around xrt_comp_layer_begin call
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
840febfb57
c/multi: Do not declare variable in switch statement
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f343bb709c
c/multi: Use XRT_STRUCT_INIT
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f0021c359f
xrt: Add XRT_STRUCT_INIT define
...
This helps with code that needs to be compiled with both C and C++.
2022-12-04 18:07:53 +00:00
Moses Turner
8c0735feec
d/rift_s: Link to hand tracking driver if necessary
2022-12-04 18:05:02 +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
e600cdaabf
c/main,ipc/android: Deferred render target initialization for Android.
2022-11-30 09:32:18 -06:00
Maxim Kizub
f6e1ea7aa9
t/oxr_android: fixed libmonado-service.so not found UnsatisfiedLinkError in inProcess build variant
...
Co-authored-by: SeungHoon Han <senicy.han@samsung.com>
2022-11-30 09:30:02 -06:00
Maxim Kizub
950f6cc506
a/android: Improve waiting for surface holder
2022-11-30 09:26:38 -06:00
Maxim Kizub
0ee891e7d6
c/main: Deferred render target initialization for windows
2022-11-30 09:25:43 -06:00
Jakob Bornecrantz
f28f3a27e6
c/main: Fix crash on debug print
2022-11-30 13:31:36 +00: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
69238be306
ext/openxr: Update XR_MNDX_force_feedback_curl
2022-11-26 14:26:58 +00: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
96552a6caa
t/common: Fix leak of calibration data in RGB-Tracker builder
2022-11-25 16:44:24 +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
fb15e8aa50
ipc: Tidy Windows mainloop code
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
8271d213f5
ipc: Use u_winerror helper
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
6fc6968387
t/service: Try to raise priority and privilege on Windows
2022-11-25 16:04:20 +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
8d817b773e
st/prober: Print the deviecs we got when looping throught the builders
2022-11-24 12:08:17 +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
ad045fd271
t/sdl: Increase FPS
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
f0cbb8a7aa
t/service: Add metrics support
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
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
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
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
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
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