Commit graph

5031 commits

Author SHA1 Message Date
Korcan Hussein 18e367300c st/oxr: Add disabled XR_MSFT_hand_intertaction
The binding code has support for this extenstion, but the bindings are not
used in any of the drivers so totally untested and would lead to the wrong
expectations of the applications.
2023-07-04 13:31:32 +00:00
Korcan Hussein ba6c35e605 st/oxr: Add disabled XR_EXT_palm_pose
Disabled because no driver implements the needed pose.
2023-07-04 13:31:32 +00:00
Jakob Bornecrantz bf0015b8ab st/oxr: Send logging to OutputDebugStringA even if we aren't printing to stderr
This was intended all along, it's worse on Windows since we
don't by default print to stderr, so we never printed there.
2023-07-04 12:25:33 +00:00
Jarvis Huang a8df7dcb54 u/debug: Use system property on Android for debug settings
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-07-03 18:53:01 +00:00
Jakob Bornecrantz 2f3f533082 u/debug: Use getenv_s on Windows for debug settings 2023-07-03 18:53:01 +00:00
Jakob Bornecrantz 9a8d80c14d u/debug: Do not save pointer returned from getenv 2023-07-03 18:53:01 +00:00
Jakob Bornecrantz 8c8356840a u/debug: Tidy file and export more converters 2023-07-03 18:53:01 +00:00
Jakob Bornecrantz 8a303927b7 t/hand: Add env variables to control prediction 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz 0a679fe3fd t/hand: Remove stale comment 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz c78cc7f0ae t/hand: Tidy async file 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz ca3631875c t/hand: Make all internal functions static 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz c00ea720ff t/hand: Rename new user hand estimation switch 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz 6bff970bcd tracking: Remove unused destroy function 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz c6dda533d4 c/main: Add NorthStar to listed displays 2023-07-01 16:40:35 +01:00
Jakob Bornecrantz e8e9b99db4 c/main: Only wait on the main queue when drawing the frame
Do not wait on the full GPU.
2023-07-01 16:40:35 +01:00
Jakob Bornecrantz 96babf8fb6 d/vive: Set correct tracking origin type when we have slam 2023-07-01 15:54:51 +01:00
Jakob Bornecrantz fe5c215ed0 c/util: Refactor instance creation
Makes it check for required extensions before calling vkCreateInstance.
2023-07-01 14:10:34 +00:00
Jakob Bornecrantz 9adb5a566e a/vk: Add helper to check required Vulkan extensions 2023-07-01 14:10:34 +00:00
Jakob Bornecrantz 01a43534be a/vk: Refactor code to use two call helper to get instance extensions 2023-07-01 14:10:34 +00:00
Fernando Velazquez Innella 28ba6ed448 u/logging: Include newline char in Windows debug output 2023-06-30 16:54:18 -04:00
Korcan Hussein 2aed9184e6 st/oxr: Add disabled XR_HTCX_vive_tracker defines
Useful for various compiletime checks.
2023-06-29 00:50:26 +01:00
Korcan Hussein a8c5be8f5c st/oxr: Fix up Monado experimental extensions 2023-06-29 00:32:01 +01:00
Korcan Hussein 230c059d27 a/bindings: Correct ML2 controller extension name 2023-06-29 00:32:01 +01:00
Korcan Hussein 8865baafee xrt: Plumbs enabled ext state for XR_EXT_eye_gaze_interaction 2023-06-29 00:31:58 +01:00
Jakob Bornecrantz 67a8147c09 d/dai: Try to set realtime priority on IMU thread 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz 1b221c7666 d/vive: Try to set realtime priority on sensors thread 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz cc263e2579 d/wmr: Try to set realtime priority on USB thread 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz 0d6d42041f c/multi: Try to set realtime priority on main thread 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz cd10b487e2 u/linux: Add helpers to raise thread scheduling priority 2023-06-27 18:52:58 +00:00
Jakob Bornecrantz 064da71894 c/util: Track and free native sync handle from semaphore
The layer above IPC & st/oxr doesn't consume this handle, instead it has dup
semantics, so we need to keep track of the handle and free it once done.
2023-06-26 20:37:09 +01:00
Jakob Bornecrantz 6493564024 c/util: Only destroy valid VkSemaphore handles 2023-06-26 20:32:27 +01:00
utzcoz e0433b4e09 c/main: Use vk_cmd_submit_locked in vk_helper to simply peek logic
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-06-23 18:40:54 +08:00
Christoph Haag e61adde115 st/oxr: Check argument validity in time conversion function
Affected OpenXR functions: xrConvertWin32PerformanceCounterToTime
2023-06-22 20:12:08 +01:00
Ryan Pavlik b95a5029a5 a/util: Fix clang tidy warnings in logging code 2023-06-22 19:07:44 +00:00
Jakob Bornecrantz 552b01df9e c/util: Name all fence objects 2023-06-22 20:01:24 +01:00
Jakob Bornecrantz 7322918e51 c/main: Name all fence objects 2023-06-22 20:01:24 +01:00
Jakob Bornecrantz 46998fa1d1 c/main: Optionally enable VK_EXT_debug_marker on debug builds 2023-06-22 19:55:48 +01:00
Jakob Bornecrantz 47ba88a78a a/vk: Name all fence objects 2023-06-22 19:55:48 +01:00
Jakob Bornecrantz 2c60a087e9 a/vk: Add function to name object 2023-06-22 19:55:48 +01:00
Jakob Bornecrantz b5a882480b a/vk: Add VK_EXT_debug_marker 2023-06-22 19:55:48 +01:00
Jakob Bornecrantz e466551db0 st/oxr: Use common helper versions of truncating Xprintf 2023-06-21 22:05:14 +00:00
Jakob Bornecrantz b33e65698a u/logging: Refactor logging printing functions 2023-06-21 22:05:14 +00:00
Jakob Bornecrantz d13f59f6f9 u/logging: Truncate hexdump at 16MB 2023-06-21 22:05:14 +00:00
Jakob Bornecrantz 7ef4a21dca u/logging: Tidy c file [NFC] 2023-06-21 22:05:14 +00:00
Jakob Bornecrantz 200f1b11ca u/truncate_printf: Add truncating helpers 2023-06-21 22:05:14 +00:00
Linus Lüssing 5340e1fa6b d/wmr: reduce Original/Odyssey controller drift by applying biases
Similar to the HP Reverb G2 controllers apply the biases
provided by their calibration data.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-06-18 12:42:14 +02:00
Linus Lüssing 8a239623d7 d/wmr: reduce drifting by applying calibration biases to G2 controllers
For one thing this applies the calibrated gyro and acceleromater bias
provided by the Reverb G2 controllers via the WMR protocol to
to the according sensor values of the controller. For another,
this applies the temperature mixing matrix in the same, partial way as
it is applied to the HMD. That is it currently disregards the polynomial
coefficiency nature - which is okay for the Reverb G2 as any temperature
dependant, non-constant coefficients in the mixing matrix seem to always
be 0 in the calibration data for it.

All this is, in theory, to reduce drifting. However for the Reverb G2 it
did not eliminate it completly, seemingly like for the HMD the
controllers were never temperature calibrated (controllers and HMD use
the same TDK/InvenSense ICM-20602 chip).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-06-18 12:42:14 +02:00
Jakob Bornecrantz f5eaecc690 t/ctl: Use common IPC connection code 2023-06-17 22:25:16 +01:00
Ryan Pavlik 2c2aa92889 ipc: Factor out client connection setup and teardown for reuse. 2023-06-17 22:23:33 +01:00
Linus Lüssing c5fa0e02e8 d/wmr: fix Original/Odyssey controller orientation
Similar to the HP Reverb G2 controllers apply the rotations
provided by their calibration data.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-06-17 18:08:46 +01:00