Commit graph

6000 commits

Author SHA1 Message Date
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
Mateo de Mayo 50bc6c0731 doc: Document !1888 2023-06-27 17:46:56 +01:00
Mateo de Mayo 8f76be3410 doc: Use top header and remove doxygen-awesome readme page 2023-06-27 17:46:56 +01:00
Jakob Bornecrantz 424693d644 doc: Document !1887 2023-06-26 20:44:00 +01: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
Mateo de Mayo a123eb9f95 doc: Document !1883 2023-06-24 17:52:08 +01:00
Mateo de Mayo 600a379301 doc: Add doxygen-awesome theme 2023-06-24 17:52:08 +01:00
Jakob Bornecrantz 4bb2a61868 doc: Document !1886 2023-06-24 17:46:29 +01:00
Jakob Bornecrantz 00f0d318a6 ci: Build things on doc chanegs as well
I give up, this is a big hammer but should fix doc only changes MRs from not
triggering builds properly. We could technically try only build certain jobs
on doc only changes but I couldn't get it to work.
2023-06-24 17:42:35 +01:00
Jakob Bornecrantz 4aed167a9a ci: Make sure all packaging related jobs always in main branch 2023-06-24 17:22:10 +01:00
utzcoz 6035a45ced doc: Document !1884
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-06-24 21:44:48 +08: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
Jakob Bornecrantz 2173f44f4c doc: Document !1880 2023-06-22 20:12:47 +01: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 a4901bacfd doc: Document !1879 2023-06-22 19:07:44 +00:00
Ryan Pavlik b95a5029a5 a/util: Fix clang tidy warnings in logging code 2023-06-22 19:07:44 +00:00
Jakob Bornecrantz ef43294d34 doc: Document !1877 2023-06-22 20:01:24 +01: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 4363f02a22 doc: Document !1865 2023-06-21 22:05:14 +00: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
Jakob Bornecrantz 299471f23e cmake: Only enable color logging on Linux
The define was only used on Linux anyways, and with the following
refactor the code looks better we can test just this define.
2023-06-21 22:05:14 +00:00
Jakob Bornecrantz 6819f9cdab doc: Document !1878 2023-06-21 19:14:21 +01:00
Jakob Bornecrantz e2f8c68315 doc: Add new documentation changelog fragment directory 2023-06-21 19:14:21 +01:00
Jakob Bornecrantz add4ecf835 doc: Document !1782 2023-06-21 19:04:34 +01:00
Jakob Bornecrantz 79745da6c8 doc: Add changelog contribution documentation 2023-06-20 13:30:19 +00:00
Jakob Bornecrantz c54c78f427 doc: Document !1876 2023-06-19 18:23:53 +01: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 da70666179 doc: Document !1875 2023-06-17 22:25:20 +01: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
Jakob Bornecrantz 8f36da2f54 doc: Document !1858 2023-06-17 18:11:53 +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
Linus Lüssing 57fb867514 d/wmr: fix Reverb G2 controller orientation
We can't take the IMU values of the Reverb G2 controller as is.
We need to compensate for how the IMU chip is oriented on the
hardware.

Similar to the WMR HMD the WMR controllers' firmware configuration
provides us with the transformations necessary to adjust the
controller orientations. So apply them to fix the orientation
issues.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-06-17 18:08:46 +01:00
Linus Lüssing c95be33072 d/wmr: make sensor transform precomputations reuseable
Not only the sensor values from the HMD need to be transformed from WMR
to OpenXR but also the sensor values from the controllers. Therefore
restructuring the according code to be useable by both the WMR HMD and
WMR controller code.

No functional changes.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2023-06-17 18:08:46 +01:00
Jakob Bornecrantz e5de8cee27 doc: Document !1868 2023-06-17 14:15:27 +01:00
Fernando Velazquez Innella 62dff3401c c/client: Wait till D3D12 images aren't in use before releasing the swapchain
This adds a fence signal + CPU wait on the compositor queue before destroying
the swapchain. It fixes a crash in the OpenXR CTS automated tests for D3D12.
2023-06-17 14:15:00 +01:00
Jakob Bornecrantz bf9db8061e doc: Document !1871 2023-06-17 12:53:20 +01:00
utzcoz def08464ee script: Use IGNORE_WORDS_LIST to ignore unknwn [NFC]
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-06-17 12:51:38 +01:00