Jakob Bornecrantz
5e19ae6a5b
st/oxr: Refactor wait frame function to avoid setting state before we should
...
We would leak frame_id and active_wait_frames increment that would cause bad
states where we hadn't fully waited but would allow xrBeginFrame to complete.
Also improve error handling so that on error conditions the semaphore is
properly decremented and the application can call xrWaitFrame again.
This was caused by unreal doing something like this:
* xrBeginFrame <-- Error
* xrWaitFrame
* xrBeginFrame
* xrEndFrame
* Called at the same time:
* xrWaitFrame
* xrBeginFrame <-- Would get state from non-completed xrWaitFrame
2023-05-03 16:18:10 +01:00
Jakob Bornecrantz
cfb63abac1
ipc: Do not leak arguments before fully having waited
2023-05-03 16:16:13 +01:00
Jakob Bornecrantz
0fc9796a74
u/pacing: Improve debug printing in app pacer
2023-05-03 16:16:11 +01:00
Jakob Bornecrantz
6cb3048ad8
doc: Document !1801
2023-05-03 12:23:20 +01:00
Jakob Bornecrantz
5511be3c2d
u/pacing: Add variable tracking to fake pacer
2023-05-03 12:23:20 +01:00
Jakob Bornecrantz
04d5942fa5
c/main: Try to detect when we miss frames
2023-05-03 12:23:20 +01:00
Jakob Bornecrantz
73f68fd111
c/main: Prefer only two swapchain images
2023-05-03 12:23:19 +01:00
Jakob Bornecrantz
2ab43f7494
c/main: Only do early acquire if we are ready
2023-05-03 12:23:02 +01:00
Jakob Bornecrantz
27fafacf63
c/main: Refactor frame handling a bit
2023-05-03 12:23:02 +01:00
Jakob Bornecrantz
2a17212d7f
c/main: Use vk_surface_info when creating images
2023-05-03 12:23:01 +01:00
Jakob Bornecrantz
622e09bc19
a/vk: Add vk_surface_info helpers
2023-05-03 00:09:03 +01:00
Jakob Bornecrantz
5432e4c1b0
d/twrap: Log errors in twrap_slam_create_device
2023-05-02 23:39:58 +01:00
Jakob Bornecrantz
1f2d444ffc
t/common: Fix typo
2023-05-02 23:27:57 +01:00
Fernando Velazquez Innella
6096f2199d
c/client: Signal D3D12 fence from GPU instead of CPU
2023-05-02 21:23:19 +00:00
Ryan Pavlik
887b79f577
t/common: Add a missing result and null check in North Star builder
2023-05-02 21:19:40 +00:00
Jakob Bornecrantz
ad1155f152
cmake: Use correct message type for OpenVR messages
2023-05-01 20:03:53 +01:00
Jakob Bornecrantz
0e2570c50b
doc: Document !1797
2023-05-01 16:49:23 +01:00
Jan Schmidt
2d418ac14a
d/wmr: Allow direct BT HP Reverb G2 controllers
...
Don't skip HP Reverb G2 controllers when they are directly
connected via bluetooth
2023-05-01 16:32:33 +01:00
Jan Schmidt
51097c9ecd
d/wmr: Implement HP Reverb G2 controller
...
Implement the HP Reverb G2 controller subclass
and device specific input parsing.
2023-05-01 16:32:33 +01:00
Jan Schmidt
3c641c8490
xrt: Add extra HP Reverb G2 controller click controls
...
Add XRT_INPUT defines for HP G2 WMR controller home and squeeze click
inputs
2023-05-01 16:32:33 +01:00
Jan Schmidt
7e18fac224
d/wmr: Differentiate Odyssey+ controller
...
Switch the device name and input/binding mappings for
Odyssey+ controllers to differentiate them from OG WMR
controllers, allowing applications to load the correct
controller model
2023-05-01 16:32:33 +01:00
Jan Schmidt
3d0c898e22
d/wmr: Add Home button click to the OG WMR controller
2023-05-01 16:32:33 +01:00
Jan Schmidt
ea53d274a5
d/wmr: Split out OG WMR controller handling
...
Move the original WMR controller specific handling
into a subclass of wmr_controller_base, and add
a stub placeholder for HP Reverb G2 controllers
2023-05-01 16:32:33 +01:00
Jan Schmidt
f33326e90b
d/wmr: Fix crash on invalid firmware
...
Don't access invalid memory on a short firmware read.
2023-05-01 16:32:33 +01:00
Jan Schmidt
d326ff9890
d/wmr: Split the connection from controller
...
Factor out the bluetooth connection behaviour from
the WMR controller, so the connection can be
provided from the headset as well.
2023-05-01 16:32:33 +01:00
Jan Schmidt
35f72696fb
xrt: Add WMR and Odyssey home click
...
Add xrt input entries to expose the home button on OG and
Odyssey+ WMR controllers
2023-05-01 16:32:33 +01:00
Jakob Bornecrantz
74e38f5f00
doc: Document !1796
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
cb6201f297
st/oxr: Set extensions earlier
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
ce5669aabb
st/oxr: Handle LOCAL_FLOOR enums
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
2b921ab673
t/slam: Enable some tracing
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
c0cc22e101
d/wmr: Expand tracing in camera
2023-05-01 14:03:40 +01:00
Jakob Bornecrantz
cfdea265f4
c/client: Avoid using shared context on synchronization
2023-05-01 14:03:01 +01:00
Jan Schmidt
96d188803c
d/wmr: Fix typo in debug output
...
correnntly -> currently
2023-05-01 13:51:44 +01:00
Jan Schmidt
236e732404
d/wmr: Fix prober crash after failing to load fw
...
Fix a double-free. The wmr_hmd_create() method
already cleans up the hid devices on failure.
2023-05-01 13:51:44 +01:00
Jan Schmidt
87d804c7d6
d/wmr: Log larger Device Status messages
...
HP Reverb G2 sends larger device status messages with unknown
content. Log how large they are, and at least dump the first
11 bytes
2023-05-01 13:51:44 +01:00
Jan Schmidt
ed54b7899c
d/wmr: Don't wait forever for HMD firmware
...
Add a 100ms timeout for firmware reads from the HMD,
and error out if it takes longer. Fixes problems
sometimes waiting forever on my G2 when it gets
into a bad state.
2023-05-01 13:51:44 +01:00
Jan Schmidt
7b4fffed8f
d/wmr: Improve readability in the camera source
2023-05-01 13:51:44 +01:00
Jan Schmidt
e9c977243f
u/logging: Add hexdump logging method
...
Add macros for logging hexdumps of memory blocks to help
with driver development. Only macros for trace and debug
level logging are provided, as noone should be logging
hexdumps except for development.
2023-05-01 13:51:44 +01:00
utzcoz
4f171b3d55
ext/openxr: Update headers to 1.0.27
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-27 21:48:50 +08:00
Jakob Bornecrantz
5197b4a42f
d/vive: Add a slider to adjust all tracked pose timestamps
2023-04-26 22:17:36 +01:00
Jakob Bornecrantz
ce3c5d59fb
d/wmr: Add a slider to adjust all tracked pose timestamps
2023-04-26 22:17:36 +01:00
Jakob Bornecrantz
9d8668a0a6
cmake: Remove _SLAM suffixes on KIMERA and BASALT have defines
2023-04-26 21:39:16 +01:00
Jakob Bornecrantz
99c1742c82
ext/slam: Use LDFLAGS instead of libraries
...
This lets us avoid LIBRARY_PATH in order to build Monado.
2023-04-26 21:39:16 +01:00
Ryan Pavlik
c924157c59
a/android: Only look up the standardized intent to find our own package.
...
Should allow a constrained query manifest in client apps.
2023-04-25 10:40:58 -05:00
Ryan Pavlik
f57bc4a849
android-jni-wrap: Update to add more things
2023-04-24 11:43:30 -05:00
Christoph Haag
aa052046a8
cmake: Delete active_runtime.json if it already exists
2023-04-24 13:57:00 +00:00
utzcoz
0f2699b02f
ci: Install sdl2 with vulkan feature
...
We need to update MONADO_WIN_BASE_TAG and MONADO_WIN_MAIN_TAG to trigger
container rebuilding.
2023-04-24 03:27:01 +00:00
utzcoz
6032b4dc8b
vcpkg: Enable vulkan feature for sdl2
...
The comp_window_peek needs sdl2 with Vulkan supporting, and normal sdl2
installation doesn't support Vulkan. So we need to install Vulkan
feature of sdl2 explicitly to let sdl2 work with Vulkan, and let
comp_window_peek works on Windows.
2023-04-24 03:27:01 +00:00
Jakob Bornecrantz
c0d242e1ed
a/vk: Fix doccomment style [NFC]
2023-04-21 14:28:18 +01:00
Jakob Bornecrantz
17ea4a73eb
a/vk: Mark unexported function as static [NFC]
2023-04-21 14:28:18 +01:00