Ryan Pavlik
2c382734ca
a/bindings: Clean up formatting of script
2021-04-27 16:43:38 -05:00
Ryan Pavlik
d8cf72f6d9
a/bindings: Simplify as suggested by IDE
2021-04-27 16:43:38 -05:00
Ryan Pavlik
5a7412e86d
a/bindings: Fix typos
2021-04-27 16:43:38 -05:00
Jakob Bornecrantz
b81d3138af
d/remote: Assert if st/oxr calls the wrong thing (NFC)
2021-04-27 17:34:28 +01:00
Jakob Bornecrantz
385af79e82
d/survive: Add comment and assert to get_view_pose (NFC)
2021-04-27 17:19:18 +01:00
Jakob Bornecrantz
a6b908f3ce
d/vive: Add comment and assert to get_view_pose (NFC)
2021-04-27 16:51:56 +01:00
Jakob Bornecrantz
4e572af96a
st/oxr: Rename oxr_session_views to oxr_session_locate_views (NFC)
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
4da87635d1
st/oxr: Tidy xrLocateViews function
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
78f7d5ce91
ipc: Assert if st/oxr calls the wrong thing
2021-04-27 01:44:16 +01:00
Jakob Bornecrantz
8277df418d
xrt: Make eye_relation argument to xrt_device_get_view_pose const (NFC)
2021-04-27 01:44:13 +01:00
Ryan Pavlik
4dd96a666b
u/ht: Const-correctness
2021-04-26 22:38:42 +00:00
Ryan Pavlik
bc279076b8
u/ht: Port to new unit-vector defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
334b59f9fa
d/qwerty: Port to new unit-vector defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
a80d159b07
t/ht: Port to using unit-vector defines.
2021-04-26 22:38:42 +00:00
Ryan Pavlik
19a1228bd2
xrt: Add unit vector defines for xrt_vec3
2021-04-26 22:38:42 +00:00
Ryan Pavlik
3cfaa2ea9f
st/oxr: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
48d043796c
d/vive: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
c3ce7f33a0
d/ht: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
06eab724ec
d/remote: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
fde3e631cf
d/qwerty: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
85ea0f8f78
d/oh: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
71fabf50c5
d/north_star: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2dd81f53e3
comp: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
6f46fcc251
aux/vive: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
20053252aa
m/space: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
cb8925ae04
u/ht: Port to using new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
edc6490d74
a/math: Port to using the new zero/identity defines
2021-04-26 22:38:42 +00:00
Ryan Pavlik
8c0aabfc0d
xrt: Add definitions for zero/identity initializers for pose-related structs.
2021-04-26 22:38:42 +00:00
Ryan Pavlik
e44c6d56c7
d/wmr: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
3b0a6a558c
d/vive: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2d47c496e6
d/survive: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
6682bb0291
d/hdk: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
52c00436c7
d/remote: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
89895be83b
d/psvr: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
7c5342efe2
d/oh: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2774b3375f
d/north_star: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
d45e13642e
d/dummy: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
f4a1c5344b
d/android_sensors: Port to u_device_get_view_pose
2021-04-26 22:38:42 +00:00
Ryan Pavlik
2adbde4673
a/util: Add u_device_get_view_pose helper function.
...
I saw many, many exact copies of this function in the code: good to de-duplicate them.
2021-04-26 22:38:42 +00:00
Jakob Bornecrantz
41ad1dcf99
c/main: Better Vulkan error printing
2021-04-26 22:56:08 +01:00
Jakob Bornecrantz
8c26be37ae
u/ft: Warn when missing frames
2021-04-26 22:55:41 +01:00
Jakob Bornecrantz
159eeb81a7
c/main: Pass in preferred dimensions to create images
...
Fixes #120
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
9c4b41f58e
c/main: Assert that preferred dimensions are somewhat valid
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
2efd2f543f
c/main: Tidy code in comp_target_swapchain (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
5915318654
c/main: Clarify in code that it is preferred dimensions (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
ceb6c8b3fe
c/main: Remove trailing newline in error message (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
846a663942
c/main: Make instance extension list more readable (NFC)
2021-04-26 20:28:32 +00:00
Jakob Bornecrantz
64093dfaaf
c/main: Expose more formats
2021-04-26 20:26:30 +01:00
Jakob Bornecrantz
a377fb135f
c/client: Vulkan formats are listed as numbers not hex
2021-04-26 18:52:31 +00:00
Jakob Bornecrantz
c1d18f9b25
c/client: Add support for more formats in GL
2021-04-26 18:52:31 +00:00
Ryan Pavlik
0868a90a1f
gradle: Only forward EIGEN3_INCLUDE_DIR definition if we actually have it set.
2021-04-26 14:27:21 +00:00
Ryan Pavlik
3df2708a5d
st/gui: Add missing copyright header to file
2021-04-26 14:08:57 +00:00
Ryan Pavlik
6d4b098e65
t/steamvr_drv: Add license sidecar files
2021-04-26 14:08:57 +00:00
Christoph Haag
08c91d4136
st/oxr: Fix printing of the format in error message
2021-04-26 14:54:30 +02:00
Boris-Chengbiao Zhou
d05aa9a458
aux/vk: Extend the correct structure for VK_EXT_global_priority
2021-04-24 17:50:18 +02:00
Jakob Bornecrantz
1ef79820e6
d/wmr: Clarify struct layout (NFC)
2021-04-23 22:48:56 +01:00
Jakob Bornecrantz
0807ce6ddd
d/wmr: Only take the lock once per received packet
2021-04-23 22:47:40 +01:00
Jakob Bornecrantz
13d127035b
d/wmr: Remove raw_accel and raw_gyro fields (NFC)
2021-04-23 19:06:05 +01:00
Jakob Bornecrantz
1b4b180e61
d/wmr: Do prediction when returning poses
2021-04-23 18:24:13 +01:00
Jakob Bornecrantz
a41a869c71
d/wmr: Rename variables and tidy code (NFC)
2021-04-23 14:50:58 +01:00
Christoph Haag
2b70189b45
d/wmr: log at least one space in trace log
...
Fixes warnings
../src/xrt/drivers/wmr/wmr_hmd.c:83:16: warning: zero-length gnu_printf format string [-Wformat-zero-length]
83 | WMR_TRACE(wh, "");
| ^~
2021-04-22 02:41:48 +02:00
Jakob Bornecrantz
741dcbdf40
ipc: Return XRT_ERROR_IPC_SESSION_NOT_CREATED if so is the case
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
5627849135
ipc: More trace_marker functions
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
3953321129
ipc: Return error from ipc_call_session_create in create_native_compositor
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
c49abf9103
ipc: Print out all error messages, and values
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
576ff7d252
xrt: Add new IPC session not created error
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
5105148c45
xrt: Correct error number
2021-04-21 18:03:10 +00:00
Jakob Bornecrantz
7af531a6c5
c/main: Refactor so we can do an early acquire
2021-04-21 17:56:29 +00:00
Jan Schmidt
bc4661aa48
wmr: Don't start reading thread until setup is complete.
...
Make sure the headset struct is fully configured before
starting the reading thread, otherwise we can get a crash if an
IMU update arrives for processing before the 3dof fusion is
ready.
2021-04-22 03:39:16 +10:00
Ryan Pavlik
4488699e55
d/ultraleap_v2: Add missing copyright/license header, reflow, and fix markdownlint warnings.
2021-04-21 11:14:49 -05:00
Christoph Haag
341fa45eda
ipc: Print socket filename and errno in error message
2021-04-20 16:04:26 +02:00
Christoph Haag
885a668a03
d/oh: Fix number of inputs for generic controller
...
fixes memory corruption
2021-04-20 12:43:56 +02:00
nima01
027ce21bd5
d/wmr: Initial 3DoF WinMR driver
...
Only supports HP Reverb G1 and G2 for now.
Squash of the following commits:
Initial boilerplate code for HP Reverb G1 driver implementation
Detect and open MS HoloLens Sensors interface
Power up HMD display when headset is detected, and som general code cleanup
Add Reverb G2 PID
reverb_g1: Fix defines
reverb_g1: Run clang format
wmr: Rename Reverb G1 driver to WMR driver
d/wmr: Code style
d/wmr: Flesh out driver a bit more
d/wmr: Code style
Add basic 3dof rotational tracking
d/wmr: Code style
d/wmr: More tidy
xrt: Remove XRT_DEVICE_REVERB_G1
d/wmr: Even more tidy
d/wmr: Changes for Reverb G2
d/wmr: Fixes since last commit
wmr: Fix the meson build and auto-enable the driver
d/wmr: Sleep for compositor to get modes
d/wmr: Use os_hid for control device
d/wmr: Remove hidapi as a dependancy
d/wmr: Move sensor reading to own thread and fix locking
d/wmr: Read from control device and handle more unknown messages
d/wmr: Decode IPD value from control device
d/wmr: Remove all left over dummy driver fields
Co-author: nima01 <nima_zero_one@protonmail.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
Co-author: Jan Schmidt <jan@centricular.com>
2021-04-19 13:33:01 +00:00
Jakob Bornecrantz
0058525457
util: Depend on bindings
2021-04-19 14:26:51 +01:00
Christoph Haag
c47775a95d
comp: Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change
...
../src/xrt/compositor/main/comp_layer_renderer.c:317:17: warning: initialization of 'unsigned int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
317 | .subpass = VK_NULL_HANDLE,
| ^~~~~~~~~~~~~~
2021-04-19 13:04:59 +02:00
Christoph Haag
686d12d66f
p/prober: Print info for applied tracking override
2021-04-19 12:53:47 +02:00
Christoph Haag
26d93c52df
d/multi: Use supplied pose input name enum
2021-04-19 12:53:47 +02:00
Christoph Haag
471b876725
u_config_json: Load tracking override pose input name
2021-04-19 12:53:47 +02:00
Christoph Haag
664c103a3e
u_config_json: Store tracking override pose input name
2021-04-19 12:53:47 +02:00
Christoph Haag
fa79451858
build/cmake: link generated bindings to aux_util
2021-04-19 12:53:47 +02:00
Christoph Haag
cffd009fe9
st/gui: Add tracker pose input name selection
2021-04-19 12:53:46 +02:00
Christoph Haag
e9eba9a2b4
aux/bindings: Generate char* <-> enum for all used inputs
2021-04-19 12:53:14 +02:00
Jakob Bornecrantz
daff92a275
c/main: None functional refactor of renderer.
...
Not ment to change the functionallity of the code only reflow the code.
2021-04-17 00:12:22 +01:00
Christoph Haag
598c1a3b56
d/ohmd: Only set output name if there is an output
...
This needs to be revisited after OpenHMD gets a proper API for haptic feedback.
closes #119
2021-04-16 16:41:44 +02:00
Jakob Bornecrantz
5d605c7b3f
c/main: Do not create images when initing swapchain.
2021-04-16 02:27:22 +01:00
Ryan Pavlik
1521953813
c/main: Re-arrange comp_renderer to allow late init.
...
Co-author: Jakob Bornecrantz <jakob@collabora.com>
2021-04-16 02:27:22 +01:00
Ryan Pavlik
1cf39ec2c0
c/main: Add comp_target::has_images, and implement in comp_target_swapchain.
2021-04-16 01:51:05 +01:00
Ryan Pavlik
90192118d0
c/main: Add comp_target::check_ready, and implement in comp_target_swapchain.
2021-04-16 01:45:38 +01:00
Jakob Bornecrantz
780ec4fac9
c/main: Turn debug into spew
2021-04-16 01:45:38 +01:00
Ryan Pavlik
7c2ea1369f
c/main: Normalize destroy pattern for comp_renderer.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
70982e9c39
c/main: Remove unimplemented comp_renderer function.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
04c9a7d892
c/main: Normalize comp_layer_renderer_destroy convention.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
ffe458fdba
c/main: Add comp_layer_renderer docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
80da6fe3b8
c/main: Add comp_renderer docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
ab5f9ae9d8
c/main: Add comp_target docs.
2021-04-15 23:28:47 +01:00
Ryan Pavlik
969c78efbd
c/client: Fix comment.
2021-04-15 23:28:47 +01:00
Christoph Haag
fd6bd0f592
ipc: Use xdg runtime directory for socket
...
u_file_get_runtime_dir falls back to /tmp if $XDG_RUNTIME_DIR is not set.
ipc: %t/monado_comp_ipc socket for systemd socket activation
2021-04-15 21:42:06 +00:00
Christoph Haag
4ea68b89a4
xrt: Add u_process, backed by libbsd's pidfile
...
Delete stale ipc files in ipc server when not already running.
If built without libbsd, fall back to previous behavior of complaining about existing ipc files and exit.
2021-04-15 21:42:06 +00:00
Christoph Haag
c92bc0a704
xrt: Add u_file_get_runtime_dir() and u_file_get_path_in_runtime_dir()
...
Analog to u_file_get_path_in_config_dir.
2021-04-15 21:42:06 +00:00
Jakob Bornecrantz
0e18e1f8b0
d/qwerty: Add SDL include dirs
2021-04-15 21:27:13 +00:00
Jakob Bornecrantz
cabaece344
st/oxr: Print value on bad layer type
2021-04-15 21:27:13 +00:00
Jakob Bornecrantz
c24a20ce18
t/cli: Fix warnings
2021-04-15 17:38:08 +01:00
Jakob Bornecrantz
74c9531d4f
st/oxr: Use right enum for ret check
2021-04-15 17:38:06 +01:00
Jakob Bornecrantz
f434de27bd
st/gui: Fix warning (false positive)
2021-04-15 17:38:05 +01:00
Jakob Bornecrantz
26756cc52d
aux/vk: Fix use free of stack variable and use correct return
2021-04-15 17:38:03 +01:00
Jakob Bornecrantz
05f14461a3
t/psvr: Fix warning
2021-04-15 17:38:01 +01:00
Jakob Bornecrantz
898bf15a08
u/tf: Use new trace marker helpers
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
c750447add
u/trace_marker: Add render timing support
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
52d1c4d834
u/trace_marker: Add json writing helpers
2021-04-14 01:55:59 +00:00
Jakob Bornecrantz
654043ede5
ipc: Remove stale todo
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
c8cde9c447
ipc: Set correct reference count on swapchain
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
7dc132a207
c/client: Set correct reference on swapchain
2021-04-13 23:21:14 +01:00
Jakob Bornecrantz
7c77625da9
st/oxr: Set visibility and z_order if multi compositor controls are available
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
f82f289907
u/rt: Also print what kind of point we are marking when tracing
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
b48cdfed44
c/main: Fix xrt_compositor::wait_frame
2021-04-13 16:56:17 +00:00
Jakob Bornecrantz
4507804819
c/multi: Implement xrt_compositor::wait_frame
2021-04-13 16:56:17 +00:00
Ryan Pavlik
cb2710db87
comp: Improve docs on comp_target_swapchain
2021-04-13 11:46:53 -05:00
Ryan Pavlik
1e1fe01374
comp: Doc improvements.
2021-04-13 11:46:53 -05:00
Ryan Pavlik
701ea290d0
os: Fix comment typo.
2021-04-13 11:46:53 -05:00
Ryan Pavlik
64c56ef8d0
editorconfig: Update
2021-04-13 11:46:53 -05:00
Ryan Pavlik
65a7b490a8
android: Add support for casting Context to Activity
2021-04-13 11:46:53 -05:00
Ryan Pavlik
43e0206abc
st/oxr: Implement loader init extension.
2021-04-13 11:33:50 -05:00
Ryan Pavlik
142a9b4cb5
st/oxr: Add XR_KHR_loader_init and ..._android extension
2021-04-13 11:33:50 -05:00
Jakob Bornecrantz
1b51cbd1a7
aux/vk: Add support for VK_EXT_global_priority
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
796f3cf792
c/main: Set default logging level to INFO
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
c9c362e16a
c/multi: Overwrite stale scheduled frames
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
b0c9f2a1d9
c/multi: Break potential long running tasks into functions for better trace_marker logging
2021-04-12 22:16:31 +00:00
Jakob Bornecrantz
95e95ba9b5
c/render: Tidy mesh shader
2021-04-12 22:16:31 +00:00
iVRy VR
0064989e8b
t/psvr: Various fixes and changes
...
- Fix out of array bounds crash, curr_y can be out of bounds.
- Set tracked bits appropriately.
- Use m_imu_3dof for orientation.
2021-04-12 15:02:16 +00:00
Moses Turner
7cd2a33737
drivers: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
36a48bd62b
aux/util: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
c53eba34d0
ipc: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
1062ef35fc
st/oxr: switch blend mode to array
2021-04-11 04:08:49 -05:00
Moses Turner
6f93b4c718
inc/xrt: switch blend mode to array
...
In order of how preferred they are.
2021-04-11 04:08:49 -05:00
Ryan Pavlik
c906151fb1
util: Fix doxygen warnings
2021-04-09 18:22:42 -05:00
Ryan Pavlik
d6d933f20d
xrt: Fix doxygen warnings.
2021-04-09 18:16:54 -05:00
Ryan Pavlik
0450e317e1
cmake: prober requires drv_multi now.
2021-04-09 18:16:39 -05:00
Ryan Pavlik
1ce306cb55
cmake: Fix include dir scope for comp_multi
2021-04-09 18:11:46 -05:00
Ryan Pavlik
cf08cbba78
aux/vk: Docs for Vulkan native import helpers.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
dde274b13e
comp: Fix typo.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
322f6d473a
util: Don't try to use $HOME or $XDG_CONFIG_HOME on Android.
2021-04-09 18:11:52 +01:00
Ryan Pavlik
b56441702c
st/oxr: Clean up Android message.
2021-04-09 18:11:52 +01:00
zhibinw
d7f0380f53
ipc/android: Dup the socket fd in native side, close the fd on java side.
2021-04-09 16:42:00 +00:00
Christoph Haag
e7f82c297a
st/oxr: Fix running when only one hand suports hand tracking
2021-04-08 20:32:55 +02:00
Christoph Haag
08e39a1a0e
d/survive: Increase device detection timeout
...
With libsurvive 20127ef1bbb9206c9b429de47b891fc71d9df355 it can take a bit longer for devices to appear.
2021-04-08 19:37:09 +02:00
Jakob Bornecrantz
aca09bdebf
c/multi: Do not display frames before they are to be displayed
...
This follows the OpenXR spec that says that a frame might not be
displayed before XrFrameEndInfo::displayTime value.
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
736b9abdbe
u/rt: Print frame period and tidy
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
b68041fb93
u/rt: Tweak IIR alpha numbers
2021-04-07 15:41:47 +01:00
Jakob Bornecrantz
8606eb9d11
u/rt: Adjust app period depending on app time
2021-04-07 01:05:38 +01:00
Jakob Bornecrantz
1b0a9acb56
u/rt: Adjust app time during runtime
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
8215af5e5c
u/rt: Refactor render timing
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
670906ea0e
u/ft: Spelling
2021-04-07 01:04:20 +01:00
Jakob Bornecrantz
971f88f34f
u/ft: Rename frame timing functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
5dbcca65c5
u/tr: Refactor rendering timing code
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
d745396396
u/ft: Tweak frame timing numbers
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
bcf9b62fc0
ipc: Adopt to new multi client interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
f14958f2b0
c/main: Explicitly wait for GPU work to finish
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
bf2a90fec5
c/main: Switch to multi client layer
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
205db10353
c/main: Implement new predict and mark frame functions
2021-04-07 00:50:10 +01:00
Ryan Pavlik
22df47f974
c/main: Port to using u_graphics_sync_unref
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
2035da1ec9
c/main: Implement fence functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
086bef8545
c/multi: Add new multi-client helper
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
efdba1602f
xrt: Pass along display_time_ns to layer begin
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
f3abddf224
xrt: Add multi session managment interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
353c7735bf
xrt: Add alternative functions to wait_frame
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
1f3896d729
xrt: Add new error code
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
2ab99b821b
xrt: Add compositor fence interface
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
07fb9941b3
aux/vk: Add fence import function
2021-04-07 00:50:10 +01:00
Ryan Pavlik
61c1044089
u/handles: Add graphics sync handle helpers.
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
c876087ee7
u/time: Add helper comparising functions
2021-04-07 00:50:10 +01:00
Jakob Bornecrantz
5c15b60cf2
st/oxr: Add more trace markers
2021-04-07 00:50:10 +01:00
Moses Turner
0ef8f55ef1
targets/oxr/sdl2_hack: only do Qwerty things if we are building qwerty driver
2021-04-04 22:38:24 +01:00
Moses Turner
b62b6eaef7
c/main: Follow OpenXR spec with blackground colour, tweek no layer colour.
...
Make background colour completely black if there are layers to display, to
follow OpenXR spec. Make the default background colour darker.
2021-04-04 20:34:35 +01:00
Christoph Haag
2b962a5bfb
u_config_json: Create root node on save if no config file loaded
...
If no config file is loaded, json->root can be uninitialized instead of NULL.
Fixes #117
2021-04-04 21:02:41 +02:00
Jakob Bornecrantz
1b0d67a895
st/gui: Add recording interface
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
fac93948b3
st/gui: Add STB image writing support
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
30573fb90f
a/gst: Add GStreamer helper code
...
Co-authored-by: Aaron Boxer <aaron.boxer@collabora.com>
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
2b63fd8078
xrt: Add helper push frame function
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
98f81734c8
d/vf: Add clock overlay to videotestsource
2021-04-03 03:07:21 +01:00
Jakob Bornecrantz
1155106dc1
d/v4l2: Be more tolorant for long pipelines
2021-04-03 03:07:21 +01:00
Ryan Pavlik
d34e1464fd
comp: Update file header.
2021-04-02 18:02:10 -05:00
Ryan Pavlik
c81ae4670b
comp: Properly service Windows message queue.
2021-04-02 17:47:40 -05:00
Ryan Pavlik
607eae4fdd
aux/vk: Fix creation of Windows external memory backed image.
2021-04-02 17:29:55 -05:00
Christoph Haag
3a60df33aa
d/openhmd: Add support for rift CV1 controllers
2021-04-02 15:48:10 +00:00
Christoph Haag
91a3d8b9cb
st/steamvr: Add rift controllers
2021-04-02 15:48:10 +00:00
Christoph Haag
7ce07aeedf
st/oxr: Support all known interaction profiles in selection
...
Remove the default case to generate a compiler warning when new profiles
are missing.
2021-04-02 15:48:10 +00:00
Christoph Haag
85ff0dc73c
xrt: Add msft_hand_interaction path to cache and check func
2021-04-02 15:48:10 +00:00
Jakob Bornecrantz
9695e90d95
d/vive: Setup the variable tracking for imu fusion
2021-04-02 16:00:42 +01:00
Jakob Bornecrantz
cebc8ebed5
st/oxr: No longer need to work around depth Swapchain on Unreal
2021-04-02 16:00:42 +01:00
Moses Turner
55b86fe815
d/ulv2: Create the driver.
...
Co-authored-by: Moses Turner <mosesturner@protonmail.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2021-04-01 02:10:33 +02:00
Moses Turner
b319371500
d/survive: for now always set xrt_hand_joint_set->is_active to true
2021-04-01 02:02:26 +02:00
Moses Turner
6a833b1131
st/oxr+xrt: add is_active to struct xrt_hand_joint_set to give drivers an easy way to deactivate hands
2021-04-01 02:02:26 +02:00
Moses Turner
a027852767
aux/math: implement math_pose_identity.
2021-04-01 02:02:26 +02:00
Moses Turner
c776a19e15
aux/math: Implement math_matrix_3x3_multiply.
2021-04-01 02:02:26 +02:00
Moses Turner
d54b653751
d/multi: correctly override hand pose for "attached" tracking
2021-04-01 02:02:26 +02:00
Christoph Haag
4061bf7707
d/multi: Add "attached" tracking override type
...
Example usage: Leap Motion attached to a Northstar headset.
2021-04-01 02:02:26 +02:00
Ryan Pavlik
0139aa1525
comp: Fix conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
d4c352ef69
comp: Improve Windows errors.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
942091c10d
comp: Enable VK_EXT_debug_report extension
2021-03-31 12:02:41 -05:00
Ryan Pavlik
061ae2f7b7
xrt: Fix more narrowing conversion warnings.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
592df37c0f
comp: Fix some narrowing conversion warnings
2021-03-31 12:02:41 -05:00
Ryan Pavlik
78301ae5eb
comp: Use precise sleeper.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
f65635f378
aux/vk: Fix doxygen warning
2021-03-31 12:02:41 -05:00
Ryan Pavlik
b3280c5bc1
os/time: Small cleanup.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
aa3d1c1f6a
os: Add os_precise_sleeper.
...
Mostly to be able to use a timer on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
47bf17a0cc
os: Improve comment and prototype for os_nanosleep
2021-03-31 12:02:41 -05:00
Ryan Pavlik
0717975853
os: Improve timestamp retrieval on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
00915cab0f
os: Add caveats to some timespec conversion functions.
2021-03-31 12:02:41 -05:00
Ryan Pavlik
ddc9b00d14
os: Adjust how we compute the timeout for a semaphore.
...
Preparation for overhaul of timing on Windows.
2021-03-31 12:02:36 -05:00
Ryan Pavlik
b3772e2710
cmake: Support multi-config generators
2021-03-30 20:46:00 +00:00
Ryan Pavlik
aefd8c0697
ipc/android: Be sure to init the mutexes.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
58ebd7ee20
xrt: Adjust how we define ssize_t on MSVC
2021-03-30 20:46:00 +00:00
Ryan Pavlik
4e11abc06b
aux/vk: Fix warning about narrowing conversion.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
ace8dc8c46
comp: clean up comment
2021-03-30 20:46:00 +00:00
Ryan Pavlik
8553b5f901
comp/vk_client: Be sure to init/de-init the mutexes in the vulkan bundle
2021-03-30 20:46:00 +00:00
Ryan Pavlik
3f2b09ae54
comp: Comment cleanup
2021-03-30 20:46:00 +00:00
Ryan Pavlik
be5a273659
comp/main: Use the new vk_bundle mutex functions.
2021-03-30 20:46:00 +00:00
Ryan Pavlik
adb5eefb86
aux/vk: Add functions to initialize and clean up mutexes in the vk_bundle
2021-03-30 20:46:00 +00:00
Jakob Bornecrantz
6ba27de305
m/mathinclude: Apperently _USE_MATH_DEFINES was not enough
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
6f10f474fa
t/psvr: Ensure that m_mathinclude.h is included
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
967c27060e
st/prober: Change log env variable and set default level to info
2021-03-30 21:27:29 +01:00
Jakob Bornecrantz
083e4f5108
u/logging: Fix first global log message not getting correct level, add comments
2021-03-30 19:23:41 +01:00
Mateo de Mayo
5c6158cc8b
d/qwerty: Implement controller pose reset
2021-03-29 15:42:01 -03:00
Mateo de Mayo
5e6c4b63a5
d/qwerty: Implement controller parenting to HMD
...
Although, it only works for the qwerty HMD.
2021-03-29 15:42:01 -03:00
Mateo de Mayo
7f00ca3da2
d/qwerty: Improve selection of default controller
2021-03-29 15:41:59 -03:00
Mateo de Mayo
8b81afeb59
d/qwerty: Implement haptic output
2021-03-29 15:41:25 -03:00
Mateo de Mayo
4ea696bfdd
d/qwerty: Implement select and menu click inputs
2021-03-29 15:41:25 -03:00
Mateo de Mayo
582a287dd4
d/qwerty: Use u_logging.h with QWERTY_LOG env var
2021-03-29 15:41:25 -03:00
Mateo de Mayo
ef74e24abe
d/qwerty: Add variable tracking widget to UI
2021-03-29 15:41:25 -03:00
Mateo de Mayo
a1b70c746b
d/qwerty: Add qwerty_system for driver management
2021-03-29 15:41:25 -03:00
Mateo de Mayo
f8f14a1d9e
d/qwerty: Move left/right controllers with CTRL/ALT
...
In qwerty_sdl.c the u_device_assign_xdev_roles function is used for
knowing which devices are being used by the user. These could
be other physical devices. And as such the idea of a default focused
device is introduced and depends upon which devices the user already
has. With this change qwerty devices should be properly introduced
to fill any device the user may not have.
2021-03-29 15:41:25 -03:00
Mateo de Mayo
62e05f267a
d/qwerty: Add still qwerty controllers
...
By making an initial inheritance hierarchy, thus separating qwerty_hmd
from qwerty_controller, both inheriting from qwerty_device
2021-03-29 15:41:25 -03:00
Mateo de Mayo
e13a6fc2fd
d/qwerty: Add QWERTY_ENABLE environment variable
2021-03-29 15:41:25 -03:00
Mateo de Mayo
183ee4f4ee
d/qwerty: Implement mouse input and sprinting
2021-03-29 15:41:25 -03:00
Mateo de Mayo
ec340fabe2
d/qwerty: Implement WASDQE and arrow keys HMD movement
2021-03-29 15:41:25 -03:00
Mateo de Mayo
12d52193da
d/qwerty: Connect the debug UI to the Qwerty driver
...
It was necessary to add a list of xdevs to oxr_sdl2_hack_start and to
populate such list from its callees.
That includes sdl2_program.gui_program->xdevs which was not being filled
for the monado-service target.
2021-03-29 15:41:25 -03:00
Mateo de Mayo
e6db1fae74
d/qwerty: Implement still HMD creation
2021-03-29 15:41:25 -03:00
Mateo de Mayo
0340ae3cc8
d/qwerty: Add Qwerty driver initial boilerplate
...
The Qwerty driver will emulate an HMD and controllers through the use
of mouse and keyboard, and in particular, using the SDL key events
generated from the debug GUI.
2021-03-29 15:41:25 -03:00
Ryan Pavlik
98886d5317
d/multi: Fix contagious doxygen warning.
2021-03-26 17:10:53 -05:00
Ryan Pavlik
b93b082bd3
aux: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
f82d0f484f
ipc: Fix doxygen warning
2021-03-26 17:10:53 -05:00
Ryan Pavlik
08b0fd257f
st/oxr: Fix doxygen warning
2021-03-26 17:10:53 -05:00
Ryan Pavlik
6fc4cc0cc9
st/prober: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
7b92d212a2
comp: Fix doxygen warnings
2021-03-26 17:10:53 -05:00
Ryan Pavlik
4004402c40
aux/vk: Wrap statement defines in do {} while (0)
2021-03-26 17:10:53 -05:00
Ryan Pavlik
20468070fa
ipc: De-duplicate member for simplicity and to avoid Doxygen warning
2021-03-26 17:10:47 -05:00
Ryan Pavlik
3414f62ccf
aux: fix or silence warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
b57d52f373
comp/main: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
a830f46db0
st/prober: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
8ebd97330d
st/steamvr: Fix warnings
2021-03-26 17:06:17 -05:00
Ryan Pavlik
bd00c7ffd3
comp/main: Deal with MSVC not liking static array sizes being non-constant.
2021-03-26 17:06:17 -05:00
Ryan Pavlik
0140ea34b6
comp/main: Implement consumption of sync handle on Windows
2021-03-26 17:06:17 -05:00
Ryan Pavlik
b147f2ecd4
a/util: Non-linux implementation of u_file
2021-03-26 17:06:17 -05:00
Ryan Pavlik
c00884e827
cmake: aux/vk depends on aux/os
2021-03-26 17:06:17 -05:00
Ryan Pavlik
4ed3d21b09
a/util: Stub out trace marker on non-Linux for now.
2021-03-26 17:06:17 -05:00
Ryan Pavlik
e5c193bcd0
aux/util: Silence warnings on MSVC
2021-03-26 17:05:56 -05:00
Christoph Haag
a991e66b85
u_vive: Fix debug level of printing acc_bias
2021-03-24 18:45:00 +00:00
Christoph Haag
1f25acfa94
d/vive: remove duplicate range record error message
2021-03-24 18:45:00 +00:00
Christoph Haag
a2b49138e7
d/vive: change imu range report error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
e8999b06c8
st/p: Change tracking override target/tracker not found error->warning
2021-03-24 18:45:00 +00:00
Christoph Haag
08db19beca
u_config_json: Change node not found error->info
...
As our config grows it will happen more often that users won't have all possible nodes.
2021-03-24 18:45:00 +00:00
Christoph Haag
3ba9a9411a
d/vive: change config start report error->info
...
And clarify the message that it happens for example for powered off controllers.
2021-03-24 18:45:00 +00:00
Christoph Haag
de6d2a888a
ipc: Change server exiting error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
f6210be44a
d/survive: Change event for unknown object error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
f9c2ab7ed7
d/ht: Change hand tracking not set up error->debug
2021-03-24 18:45:00 +00:00
Christoph Haag
030230eba9
st/p: change PSVR/PSMV not set up error->info
2021-03-24 18:45:00 +00:00
Christoph Haag
8f16118020
u_config_json: Remove bogus "No tracking node" messages
...
* open_tracking_settings() already reports missing tracking nodes.
* open_tracking_settings() can also fail for other reasons
2021-03-24 18:45:00 +00:00
Christoph Haag
45d889e390
u_config_json: Make missing tracking node messages friendlier
2021-03-24 18:45:00 +00:00
Christoph Haag
054850de76
u_config_json: Remove duplicated is_json_ok code
2021-03-24 18:45:00 +00:00
Christoph Haag
2959747221
u_config_json: clarify json not parsed error message
2021-03-24 18:45:00 +00:00
Christoph Haag
f0132eb997
u_config_json: change no config file warning->info
...
Running without a config file is fully supported, no reason to warn users.
2021-03-24 18:45:00 +00:00
Jakob Bornecrantz
63f5c86257
xrt: Make xrt_swapchain be reference counted
2021-03-24 17:50:08 +00:00
Christoph Haag
aab94e7add
build/meson: Allow disabling tracking
...
The tracking code uses ifdefs with XRT_HAVE_OPENCV.
2021-03-24 18:05:51 +01:00
Christoph Haag
dad5c6d5d8
u_config_json: Fix saving when no config file exists
...
If json->root was null, it would write a config file containing only (null).
2021-03-24 17:33:46 +01:00
Jakob Bornecrantz
e066f6a828
st/gui: Fix warning
2021-03-24 14:09:13 +00:00
Jakob Bornecrantz
67339a4d7c
d/remote: Fix warning
2021-03-24 14:09:13 +00:00
Christoph Haag
2ac4ff84ec
aux/util: Fix comment for u_device_setup_tracking_origins
2021-03-23 19:05:35 +00:00
Christoph Haag
857b831e30
d/illixr: Add driver name
2021-03-22 01:25:44 +01:00
Jakob Bornecrantz
a71b3d35d1
m/3dof: Add assert for timestamp paranoia
2021-03-17 01:10:02 +00:00
Jakob Bornecrantz
c73146c6fd
d/psvr: Ensure that timestamps are always after each other
2021-03-17 01:10:02 +00:00
Jakob Bornecrantz
0452c69caa
c/main: Detect when config is needed but missing
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
6c3ab4151a
st/oxr: Handle XRT_ERROR_EGL_CONFIG_MISSING
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
0571e0337e
xrt: Add XRT_ERROR_EGL_CONFIG_MISSING error
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
8be59f73ec
xrt: Return xrt_result_t from xrt_gfx_provider_create_gl_egl
2021-03-12 00:06:36 +00:00
Jakob Bornecrantz
8992f79257
c/main: Be even more paranoid about display timing code
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
dac5bc0ea5
u/timing: Deal slightly better when timing info appears to time travel
2021-03-10 17:53:36 +00:00
Jakob Bornecrantz
d71ccc39ce
u/timing: Add when_predict_ns on first frame
2021-03-10 17:53:36 +00:00
Christoph Haag
7b95330bb5
ipc: Print information to delete socket file
2021-03-10 02:02:44 +01:00
Christoph Haag
2a02130301
build/meson: Install systemd service file with meson
2021-03-10 01:58:18 +01:00
Christoph Haag
851a600a6a
build/meson: Add systemd feature option for monado-service
2021-03-10 01:57:55 +01:00
Christoph Haag
0adcc179c0
xrt: Fix typo in u_file
2021-03-10 01:56:07 +01:00
Jakob Bornecrantz
a6da40de50
c/main: Remove unused fields
...
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:16:01 +00:00
Jakob Bornecrantz
003b70d05e
c/main: Use correct predicted display time for rendering
...
Closes #114
Reported-by: Boris-Chengbiao Zhou <bobo1239@web.de>
Tested-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2021-03-09 18:15:52 +00:00
Christoph Haag
eb594409dd
xrt: Increase number of autoprobers to 16
...
We actually have a total of 11 auto probers.
2021-03-09 14:16:28 +01:00
Christoph Haag
a887ddcc3c
d/hdk: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
5c014193f7
d/vive_controller: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
aa65480607
d/vive: Use a mutex for get_tracked_pose
2021-03-09 12:39:12 +00:00
Christoph Haag
484d63a4eb
d/survive: Use thread for processing events
...
Due to an oversight libsurvive events were only processed when inputs were updated.
If only triggering event processing when an event is needed, we would need to process
a random number of events, causing random overhead.
Rather, follow the model of other drivers and process events in a thread.
This required creating a local copy of the xrt_input arrays.
Fixes #113
Fixes !679
v2: Use a mutex for get_tracked_pose and update_inputs
2021-03-09 12:39:12 +00:00
Christoph Haag
1e24602ca0
st/prober: fix off by one in reallocating list of disabled drivers
2021-03-09 13:22:41 +01:00
Jakob Bornecrantz
966b4b7048
t/service: Enable tracing
2021-03-08 11:20:52 +00:00