Commit graph

5690 commits

Author SHA1 Message Date
Jakob Bornecrantz a07942b782 doc: Document !1816 2023-05-14 15:57:08 +01:00
Jakob Bornecrantz adc609d7c9 t/sdl_test: Compile as UTF-8 to fix MSVC warning
Fix the following warning:

sdl_program.cpp(25): warning C4566: character represented by universal-character-name '\u2603' cannot be represented in the current code page (1252)
2023-05-14 15:57:08 +01:00
Ryan Pavlik 4ffb271c6a cmake: Build all math-heavy code with optimization. 2023-05-14 08:28:37 +00:00
Jakob Bornecrantz 75442c43ce doc: Document !1809 2023-05-14 06:52:55 +00:00
Jakob Bornecrantz 8c97342732 u/pacing: Add minimum compositor time 2023-05-14 06:52:55 +00:00
Jakob Bornecrantz f5e33e59c8 u/pacing: Add minimum app time option 2023-05-14 06:52:55 +00:00
Jakob Bornecrantz fd55a0f1ef u/pacing: Use helpers for ms <-> ns conversion 2023-05-14 06:52:55 +00:00
Jakob Bornecrantz e3ce39926a u/pacing: Improve comments 2023-05-14 06:52:55 +00:00
Jakob Bornecrantz bfb3d7029c u/time: Add ms to ns helper 2023-05-14 06:52:55 +00:00
Jarett Millard f1bc10003d d/pssense: Basic 3DoF pose tracking from IMU data 2023-05-13 10:58:33 -04:00
Jakob Bornecrantz e7c2c048f6 ci: Almost always build the containers in MRs 2023-05-11 09:44:37 +01:00
Jakob Bornecrantz c446153db1 doc: Document !1807 2023-05-06 16:21:30 +01:00
Jakob Bornecrantz ca20f359b5 ipc: Allow UWP/AppContainer and others to connect
Including: UWP/AppContainer, Authenticated user and Administrator. Currently
guarded with IPC_RELAXED_CONNECTION_SECURITY env variable.
2023-05-06 16:21:30 +01:00
Jakob Bornecrantz 6eca6301c1 doc: Document !1805 2023-05-03 16:22:53 +01:00
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