danwillm
9e7f814328
aux/util: Remove old hand tracking code
2022-08-01 17:33:40 +00:00
danwillm
9dc8632b0f
aux/util: Add u_hand_simulation
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-08-01 17:33:40 +00:00
Supreeeme
501d2c4fd5
Fix crash when no hand tracking or controllers
2022-07-31 17:09:19 -04:00
danwillm
72ff5cab80
st/steamvr_drv: add skeletal input from openxr hand tracking
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-28 12:19:20 +01:00
danwillm
9c9f4bb5c5
st/steamvr_drv: comment out "action binding reloaded" log message
2022-07-28 12:19:20 +01:00
danwillm
75995fede0
external, st/steamvr_drv: update OpenVR to 1.16.8
2022-07-28 12:19:20 +01:00
Christoph Haag
ee450e6f29
comp/main: Fix chosen vk display mode debug print
2022-07-27 15:04:31 +02:00
Moses Turner
2868348e8c
t/common: Make controllers work again with the Lighthouse builder
...
!1418 briefly broke controller setup.
2022-07-27 10:49:29 +00:00
Moses Turner
0c4b45c6c2
a/util: Add DEBUG_GET_ONCE_TRISTATE_OPTION
2022-07-27 10:49:29 +00:00
Moses Turner
c0eed827c5
xrt: Remove t_hand_tracking_output_space
...
LEFT_CAMERA is the only one that remained useful
2022-07-27 10:49:29 +00:00
Moses Turner
a5c0f0b426
h/mercury: Fix debug log
2022-07-27 10:49:29 +00:00
Jakob Bornecrantz
65d88f00aa
t/common: Fix warning
2022-07-26 18:15:04 +00:00
Jakob Bornecrantz
19302a5d21
c/util: Fix warning
2022-07-26 18:15:04 +00:00
Jakob Bornecrantz
086a702b79
c/main: Fix warning
2022-07-26 18:15:04 +00:00
Jakob Bornecrantz
86ae6a5bb1
d/wmr: Fix warning
2022-07-26 18:15:04 +00:00
Ryan Pavlik
3fb162ea3a
c/client: Turn off depth formats for D3D11, they are breaking Vulkan right now
2022-07-26 14:45:29 +00:00
Ryan Pavlik
980ad86008
a/vk: Get and show some external buffer data on startup, too.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
490559ee6c
st/oxr: Wire in D3D12 support
2022-07-26 14:45:29 +00:00
Ryan Pavlik
a4d2740b4b
c/client: D3D12 client compositor
2022-07-26 14:45:29 +00:00
Ryan Pavlik
a9facfe671
c/client: Extract some utilities usable by D3D11 and 12
2022-07-26 14:45:29 +00:00
Ryan Pavlik
576b158a83
a/d3d: Add some d3d12 features
2022-07-26 14:45:29 +00:00
Ryan Pavlik
f718ff151f
st/oxr: Add d3d12 support to the extension support header.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
5c24b8e637
xrt: Define D3D12 interface
2022-07-26 14:45:29 +00:00
Ryan Pavlik
189be3300c
st/oxr: Add helper to verify compatible usage flags.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
ee26b5f575
a/d3d: Split out some d3d11 stuff from generic
2022-07-26 14:45:29 +00:00
Ryan Pavlik
79f86ff0e3
c/client: Fix swapchain leak in D3D11.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
842c160c49
a/util: Guard against bad defs of "max"
2022-07-26 14:45:29 +00:00
Ryan Pavlik
8f55f87f3d
build: Let compositor util consumers get to the includes.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
a8bb821cf5
ipc: Fix typo
2022-07-26 14:45:29 +00:00
Ryan Pavlik
46ad907dac
ipc: Replace size_t usages.
...
Not safe to use any type whose size differs between 32 and 64 bit builds.
2022-07-26 14:45:29 +00:00
Ryan Pavlik
413c8230ff
a/d3d: Clean up formats
2022-07-26 14:45:29 +00:00
danwillm
53bbe0a293
t/common: add opengloves fixer-upper to lighthouse builder
2022-07-25 23:57:45 +01:00
danwillm
fd61dd08b2
drivers: add all of opengloves driver
2022-07-25 23:57:45 +01:00
danwillm
0943ce10be
a/util, xrt: u_hand_tracking interface change
2022-07-25 23:57:45 +01:00
Mateo de Mayo
36ca9260cf
d/vive: Update tracking status to fix segfault
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-07-25 19:08:46 +00:00
Mateo de Mayo
6e16959098
d/vive: Add vive_source to convert v4l2 timestamps into monotonic clock
...
Use a sink in the middle of the stream to correct for v4l2 timestamps with
hardware timestamps to monotonic clock.
This sink, together with other utilities related to data streaming, lives in a
new vive_source entity, with similar functionality to wmr_source or rs_source.
The vive_source lifetime is managed by the builder xfctx, which prevents
deallocation dependencies between vive_device and the v4l2_fs to cause segfaults.
2022-07-25 19:08:46 +00:00
Mateo de Mayo
13d90bff77
d/vive: Implement 3DoF/SLAM switching button and pose offset
2022-07-25 19:08:46 +00:00
Mateo de Mayo
f0ceb40f6a
d/vive: Prepare data streaming and SLAM tracker
2022-07-25 19:08:46 +00:00
Mateo de Mayo
3cbb7f6b9f
d/vive: Pass status of visual tracking into the driver
2022-07-25 19:08:46 +00:00
Mateo de Mayo
4f81967e8a
t/common: Refactor lighthouse builder to prepare for more visual trackers
...
The idea here is to follow a similar approach to how we are doing it in the
WMR driver with the setup_visual_trackers() function.
2022-07-25 19:08:46 +00:00
Mateo de Mayo
8d929fe2fa
d/v4l2: Split some definitions into a new header
2022-07-25 19:08:46 +00:00
Mateo de Mayo
ae8305f324
u/deque: Add generic wrapper for std::deque
2022-07-25 19:08:46 +00:00
danwillm
6d6ddc0b12
inc/xrt: add XRT_HAVE_BLUETOOTH
2022-07-25 16:20:07 +01:00
danwillm
de53e431ed
d/multi: fix untested codepath
2022-07-25 15:23:49 +01:00
Nova
0954bd0dd8
d/wmr: Clean up check_and_get_interface in wmr_prober.c
2022-07-25 12:19:48 +01:00
Nova
e141aa2d55
d/wmr: Add initial support for original Odyssey HMD
2022-07-25 12:19:48 +01:00
Christoph Haag
ffb0346ba4
d/survive: Fix compilation on clang
...
Fixes error
/home/haagch-collabora/monado/src/xrt/drivers/survive/survive_driver.c:384:53: error: passing 'const union xrt_output_value *' to parameter of type 'union xrt_output_value *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
int ret = survive_controller_haptic_pulse(survive, value);
^~~~~
/home/haagch-collabora/monado/src/xrt/drivers/survive/survive_driver.c:340:89: note: passing argument to parameter 'value' here
survive_controller_haptic_pulse(struct survive_device *survive, union xrt_output_value *value)
2022-07-24 23:48:57 +02:00
Mateo de Mayo
997f4451b8
st/gui: Make debug frame sinks a bit more compact
2022-07-22 16:19:49 +00:00
Mateo de Mayo
aaf5fe1b7b
d/vive: Improve ticks-to-nanoseconds conversion
2022-07-22 16:19:49 +00:00
Mateo de Mayo
aa617a9d8b
d/vive: Group 3dof IMU fusion fields and add a mutex
2022-07-22 16:19:49 +00:00
Mateo de Mayo
c181909b0d
t/slam: Add debug sinks
2022-07-22 16:19:49 +00:00
Moses Turner
f6ef1d8f28
d/dai: Add code to control IR floodlight and exposure behind ifdef
2022-07-21 00:23:32 +01:00
Moses Turner
4d0e46a5ac
d/dai: Remove depthai::opencv dependency
2022-07-21 00:23:32 +01:00
bjorn
6275c4de10
c/main: comp_renderer uses queue from vk bundle;
...
The vk bundle currently creates a single queue, calls vkGetDeviceQueue,
and stores it in the bundle. There's only ever 1 queue from 1 queue
family right now, even when using the compute compositor.
It doesn't really make sense for the renderer to re-request this queue
instead of using the one in the bundle. If we wanted to store a local
version to it, it should probably be assigned directly (i.e. r->queue =
vk->queue) to ensure that it's the same. If we decide we want multiple
queues later, that would be a good time to add this sort of thing back.
2022-07-19 16:26:18 +00:00
Ryan Pavlik
12fab0653c
xrt: Compositor doc improvement
2022-07-15 16:30:06 -05:00
Ryan Pavlik
de4bf3be0a
st/oxr: Doc improvment
2022-07-15 15:37:08 -05:00
Ryan Pavlik
4c5327fc65
xrt: Improve code docs
2022-07-15 12:50:04 -05:00
Ryan Pavlik
8f7eed3521
state_trackers: Remove obsolete documentation stub
2022-07-15 12:49:55 -05:00
bjorn
919936991c
ipc: make all IPC input aggregates const;
2022-07-14 20:31:38 +00:00
Ryan Pavlik
b08797a4a5
st/oxr: Fix missing return, resolve warnings
2022-07-14 14:17:35 +00:00
Ryan Pavlik
7e4c7d8407
c/client: Resolve warnings
2022-07-14 14:17:35 +00:00
Ryan Pavlik
f69b6d6320
a/vk: Annotate some must-check-return functions
2022-07-14 14:17:35 +00:00
Ryan Pavlik
b0405023b7
st/oxr: Resolve warning
2022-07-14 14:17:35 +00:00
Ryan Pavlik
593a277dd7
st/steamvr_drv: Resolve warnings
2022-07-14 14:17:35 +00:00
Ryan Pavlik
107f56b6d9
a/util: Resolve warnings
2022-07-14 14:17:35 +00:00
Ryan Pavlik
88389ae0ca
a/math: Resolve warnings.
2022-07-14 14:17:35 +00:00
bjorn
f703355761
c/main: rm unused wireframe setting;
2022-07-13 10:29:27 -07:00
Moses Turner
fa2554f289
st/oxr: Don't use the debug gui by default in out-of-process
2022-07-12 16:18:17 +00:00
Mateo de Mayo
f55ac05578
t/slam: Implement feature count metric UI and recording
2022-07-12 12:47:05 +00:00
Mateo de Mayo
789111daf8
u/var: Add u_var_curves
2022-07-12 12:47:05 +00:00
Mateo de Mayo
0324fbae6c
u/var: Add u_var_curve
...
Let's you draw any arbitrary curve from a getter function.
2022-07-12 12:47:05 +00:00
Mateo de Mayo
bf9e6fa370
u/var: Add u_var_ro_ftext
2022-07-12 12:47:05 +00:00
Mateo de Mayo
db3fe110ba
u/var: Auto width and match XYZ to RGB colors for ff_vec3
2022-07-12 12:47:05 +00:00
Mateo de Mayo
c2009b6acc
t/slam: Allow timing extension to be toggled on runtime
2022-07-12 12:47:05 +00:00
Mateo de Mayo
536001e2ad
external/slam: Update header to 4.0.0
...
1. Add feature info pose extension
2. Make pose extensions toggleable on runtime
3. Add timestats helper for external system to keep track of info for pose extensions
2022-07-12 12:47:05 +00:00
Mateo de Mayo
49cd45b24e
d/euroc: Fix typo
2022-07-12 12:47:05 +00:00
bjorn
ce498e18ed
a/vk: Relax compute-only queue family check;
...
This changes the search to prefer compute-only queues, but consider
compute-enabled queues as acceptable fallbacks.
2022-07-11 17:33:59 +00:00
Xaver Hugl
94407f6679
compositor/direct_wayland: don't warn about connector removals
...
The connector being withdrawn has no effect on active leases, printing a
warning is unnecessary.
2022-07-11 16:37:34 +02:00
Mateo de Mayo
afa7f7ade9
u/vector: Add generic wrapper for std::vector
2022-07-07 15:35:04 +00:00
Ryan Pavlik
f4cc2f3bf4
cmake: Fix some details of Clang on Windows.
2022-07-05 11:17:53 -05:00
bjorn
128ea42915
c/render: inline vk_command_buffer helper;
...
It's not really abstracting much anymore, and makes it more difficult to
see what's going on.
2022-07-01 22:01:32 +00:00
bjorn
4c09d20f80
c/render: render_resources has its own command pool;
...
Currently, there is a single command pool in the vk bundle, shared by
everyone. Since command pools (and command buffers allocated from those
pools) can only be used on one thread at a time, this requires locking.
However, the main point of having these annoying command pool things in
the first place is that you can use one for each thread/lifetime/area in
the app and avoid the overhead of the locks (both computational and
cognitive).
In this change I have given the rendering bits of the compositor its own
command pool. Instead of allocating and freeing a command buffer every
frame, a single command buffer is allocated from the pool during
initialization, and the pool is reset at the beginning of each frame.
Normally, multiple pools would need to be used, but this is not
necessary in monado because frames are serialized. The `TRANSIENT` and
`ONE_TIME_SUBMIT` flags have been added, which can allow for some driver
optimizations. The render code no longer takes out the command pool
mutex. The shared command pool is still there for a few remaining
places where vulkan work needs to be done outside the compositor.
I used the command buffer vulkan helpers when possible, but I would
maybe propose the idea of removing them, since they aren't really
wrapping much at this point. The `C` macro helps a lot and it's a bit
easier to see the Vulkan details in front of you instead of needing to
switch back and forth between the helper.
Later, I think it would be cool to apply and document some constraints
like "the queue is only accessed in functions XYZ, the render_resources
command pool must only be accessed in layer_commit from 1 thread" etc.
2022-07-01 22:01:32 +00:00
bjorn
24c9dabfbb
aux/vk: Add vkResetCommandPool;
2022-07-01 22:01:32 +00:00
Ryan Pavlik
0496ba9c5c
aux/vk: Add additional include dirs conditionally.
2022-07-01 21:57:07 +00:00
bjorn
a4e5a2d027
Support cubemap swapchains;
2022-07-01 12:23:53 -07:00
Moses Turner
e552ef6bf3
t/common: Better error-checking in lighthouse builder
2022-06-30 15:20:46 +01:00
Moses Turner
567304374d
d/v4l2: Factor out format setup so we can catch errors in stream_start
2022-06-30 15:19:51 +01:00
Jakob Bornecrantz
2cbad30823
u/pacing: Introduce a app pacing factory
2022-06-27 19:09:46 +01:00
Jakob Bornecrantz
6e2644dea7
u/pacing: Tidy comments
2022-06-27 19:09:46 +01:00
Jakob Bornecrantz
0fb155b886
c/multi: Include interface header
2022-06-27 19:09:46 +01:00
Jakob Bornecrantz
23aca9c0b9
c/multi: Document multi_system_compositor
2022-06-27 18:35:40 +01:00
Jakob Bornecrantz
202f37be63
t/common: Include config build for null compositor
2022-06-27 18:35:40 +01:00
utzcoz
34c97c48ef
ipc,t/oxr_android: Add FLAG_IMMUTABLE for PendingIntent from S+
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-06-27 09:59:27 -05:00
Ryan Pavlik
62c87d27d6
android: Request new android.permission.HIGH_SAMPLING_RATE_SENSORS
2022-06-25 09:59:37 +08:00
Ryan Pavlik
cec89ae751
targets: Update manifests for Android 12
2022-06-25 09:59:37 +08:00
Ryan Pavlik
e1a0486f30
gradle: Update some deps slightly to cope with gradle 7
2022-06-25 09:59:37 +08:00
Ryan Pavlik
98f430f6f7
gradle: More dependency updates.
2022-06-25 09:59:37 +08:00
Moses Turner
4aaa61350b
t/common: Add lighthouse builder
2022-06-24 01:58:51 +01:00
Moses Turner
bd421e683c
d/vive: Handle not-found devices correctly
2022-06-24 01:58:51 +01:00
Moses Turner
29cd525a3b
d/vive: Prepare for lighthouse builder
2022-06-24 01:54:45 +01:00