Jakob Bornecrantz
4a8448fcc3
c/multi: Clarify code around xrt_comp_layer_begin call
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
840febfb57
c/multi: Do not declare variable in switch statement
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f343bb709c
c/multi: Use XRT_STRUCT_INIT
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f0021c359f
xrt: Add XRT_STRUCT_INIT define
...
This helps with code that needs to be compiled with both C and C++.
2022-12-04 18:07:53 +00:00
Moses Turner
8c0735feec
d/rift_s: Link to hand tracking driver if necessary
2022-12-04 18:05:02 +00:00
Mateo de Mayo
dad7957fb2
a/math: Add clock_offset.h
...
For now it only has our simple exponential smoothing clock offset estimator.
But more advanced ones can go here too.
2022-12-02 16:10:09 +00:00
Bailey Morgan
35061c1d80
a/vk: Select graphics device based on prefered device type
2022-12-02 14:05:34 +00:00
Maxim Kizub
e600cdaabf
c/main,ipc/android: Deferred render target initialization for Android.
2022-11-30 09:32:18 -06:00
Maxim Kizub
f6e1ea7aa9
t/oxr_android: fixed libmonado-service.so not found UnsatisfiedLinkError in inProcess build variant
...
Co-authored-by: SeungHoon Han <senicy.han@samsung.com>
2022-11-30 09:30:02 -06:00
Maxim Kizub
950f6cc506
a/android: Improve waiting for surface holder
2022-11-30 09:26:38 -06:00
Maxim Kizub
0ee891e7d6
c/main: Deferred render target initialization for windows
2022-11-30 09:25:43 -06:00
Jakob Bornecrantz
f28f3a27e6
c/main: Fix crash on debug print
2022-11-30 13:31:36 +00:00
Moses Turner
85c0c78ac6
a/math: Fix m_vec3_angle function
...
Dot product is equivalent to a.length*b.length*cos(theta), not a.length_squared*b.length_squared*cos(theta)
2022-11-29 03:11:53 -06:00
Jakob Bornecrantz
69238be306
ext/openxr: Update XR_MNDX_force_feedback_curl
2022-11-26 14:26:58 +00:00
Jakob Bornecrantz
2a12f7d661
os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper
...
One alternative to this is to use the CreateWaitableTimerExW function
with the CREATE_WAITABLE_TIMER_HIGH_RESOLUTION flag. On my systems the
function/flag was either as good or worse then timePeriod[Begin|End].
Setting the state globally or just just around the wait didn't seem to
have an impact on the precision.
2022-11-25 17:02:00 +00:00
Jakob Bornecrantz
96552a6caa
t/common: Fix leak of calibration data in RGB-Tracker builder
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
c195608602
a/tracing: Do more tracing in PSMV tracking code
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
f552aacb87
a/tracking: Fix data waiting logic in PSMV tracking
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
fb15e8aa50
ipc: Tidy Windows mainloop code
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
8271d213f5
ipc: Use u_winerror helper
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
6fc6968387
t/service: Try to raise priority and privilege on Windows
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
3b465b4241
u/windows: Add helper for trying priority or privilege from args
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
9e57a745b2
u/windows: Add function to raise CPU priority
2022-11-25 16:00:49 +00:00
Jakob Bornecrantz
ef77cb08d0
u/windows: Add function to enable privileges on processes
...
Also add a small helper to add the privilege
SeIncreaseBasePriorityPrivilege, which is needed on
NVIDIA for HIGH and REALTIME priority Vulkan queues.
2022-11-25 15:54:45 +00:00
Jakob Bornecrantz
57820394f4
u/windows: Add files and u_winerror string format helper
2022-11-24 16:17:26 +00:00
Jakob Bornecrantz
ad4c6a7215
u/pacing: More Tracy plots
2022-11-24 15:34:59 +00:00
Jakob Bornecrantz
8d817b773e
st/prober: Print the deviecs we got when looping throught the builders
2022-11-24 12:08:17 +00:00
Jakob Bornecrantz
d1db1dabfd
u/pacing: Work around asserts on slow compositors
...
This isn't the most ideal solution but a proper fix will take longer.
2022-11-24 12:03:53 +00:00
Jakob Bornecrantz
ad045fd271
t/sdl: Increase FPS
2022-11-24 12:03:53 +00:00
Jakob Bornecrantz
37da46b709
u/pacing: Add metrics output
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
87fdedeb68
u/pacing: Track more variables in app pacer
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
f0cbb8a7aa
t/service: Add metrics support
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
7fa20a8b46
u/metrics: Add functions to write a metrics file
2022-11-24 00:34:50 +00:00
Moses Turner
f580271291
d/wmr: Guess camera orientation for Reverb G2 based on HT0 twist value
2022-11-23 13:02:35 -06:00
Moses Turner
f5d4d49607
a/math: Add math_quat_to_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
b3c277196e
a/math: Add faster (and correct!) math_quat_from_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
9af195fea3
h/mercury: Add faster SwingTwistToQuaternion
2022-11-23 13:02:35 -06:00
Moses Turner
e06dc0dda1
a/math: Correct documentation for math_quat_ln and math_quat_exp
2022-11-23 13:02:35 -06:00
Jakob Bornecrantz
6fe06068e8
c/main: Make XCB window deferred
2022-11-23 16:03:15 +00:00
Jakob Bornecrantz
3e1760fd04
c/main: Introduce comp_target_factory
2022-11-23 16:03:15 +00:00
Jakob Bornecrantz
93fdf0bd74
a/vk: Expose vk_select_physical_device function
2022-11-23 14:53:26 +00:00
Jakob Bornecrantz
d8eb6865da
c/render: Don't include comp_compositor.h
2022-11-23 14:53:26 +00:00
Maxim Kizub
f5a06f9c46
c/main: Add code to defer render target initialization
2022-11-23 14:44:51 +00:00
Jakob Bornecrantz
8efb55403c
d/psvr: Switch to reading sensors from its own thread
...
Tested-by: number-g <g@imagination.eu.org>
2022-11-22 17:58:07 +00:00
Jakob Bornecrantz
58596a5830
u/pacing: Add Tracy plots
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
7bc145d184
cmake: Add XRT_HAVE_TRACY variable
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
65e76e1277
u/trace_marker: Tracy support
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
b1b63a9397
d/vive: Do more tracing during packet handling
2022-11-21 13:47:58 +00:00
Jakob Bornecrantz
60099fdd71
t/common: Do more tracing during init and fini
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
8637617833
c/main: Do more tracing during init
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
44599a7de7
c/main: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
432bf03981
c/multi: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
3a2dfd850c
t/hand: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
c9bbeac70a
d/v4l2: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
36d1734377
d/vive: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
5142fa7e88
d/psmv: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
0691ed9b89
d/wmr: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
386aa510bd
ipc: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
d48de0d832
u/worker: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
8b0e7675e4
u/sink: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
b49dc593b8
u/pacing: Use U_TRACE_PERFETTO define
2022-11-20 13:52:37 +00:00
Jakob Bornecrantz
469a79493c
u/trace_marker: Add U_TRACE_SET_THREAD_NAME
2022-11-20 11:24:27 +00:00
Jakob Bornecrantz
d1e116cb58
u/trace_marker: Check for both tracing and percetto
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
f4a5e599ef
u/trace_marker: Add convenience U_TRACE_PERCETTO define
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
648f91d35c
u/trace_marker: Refactor define names and split idents from func
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
4ee8aa4054
u/trace_marker: Reorg file (NFC)
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
7d2bd5b3e0
u/trace_marker: Fix copy paste error (NFC)
...
Define was unused till now.
2022-11-19 17:38:48 +00:00
Simon Zeni
9293c628d7
a/vk: add VK_FENCE_IMPORT_TEMPORARY_BIT to vk_create_fence_sync_from_native
2022-11-18 16:43:07 -05:00
Simon Zeni
278aa4cd41
c/main: use swapchain semaphores for peek window rendering
2022-11-18 11:14:41 -05:00
Jakob Bornecrantz
98b7f7d1c6
xrt: Remove xrt_gfx_native
2022-11-15 23:24:20 +00:00
Jakob Bornecrantz
8d6b794878
c/main: Add own interface for creating the main compositor
2022-11-15 23:24:20 +00:00
Moses Turner
cb2c355ba6
t/hand: fix 90 degree rotation for hand detection
2022-11-15 01:58:41 +00:00
Moses Turner
a9d04045e6
c/main: Add Reverb G2's display to nvidia direct allowlist
2022-11-14 19:50:03 -06:00
Jakob Bornecrantz
89aee1892b
d/remote: Update protocol to allow per view data
2022-11-14 16:07:15 +00:00
Patrick Nicolas
a8dc902468
a/vk Add extentions for DMA-buf
2022-11-13 22:56:06 +00:00
Ryan Pavlik
58e4cb6e15
st/steamvr: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
eac703a106
st/prober: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
aa01868d0f
xrt: can not -> cannot (comments)
2022-11-09 14:52:03 -06:00
Ryan Pavlik
678b27145a
ipc/client: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
11bdba7e64
drivers: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
73f48d12ec
comp/util: can not -> cannot
2022-11-09 14:51:58 -06:00
Ryan Pavlik
2eb259f26a
aux: can not -> cannot
2022-11-09 14:48:38 -06:00
Ryan Pavlik
724b2288f9
st/oxr: can not -> cannot
2022-11-09 14:48:17 -06:00
Ryan Pavlik
1fb6270194
a/util: Resolve a bothersome clang-tidy complaint in iterators.
2022-11-09 08:26:16 -05:00
Ryan Pavlik
290fafa4f7
a/util: Fix missing pragma once
2022-11-09 08:26:16 -05:00
Ryan Pavlik
a072af398c
t/hand: Fix doxygen warnings
2022-11-09 03:47:44 +00:00
Moses Turner
00bf669e61
t/common: Disable SLAM by default for Valve Index
2022-11-08 12:32:23 -06:00
Mateo de Mayo
77f8972f36
d/vive: Add hardcoded quaternions for SLAM extrinsics
...
These come from my own calibration and are hopefully better than the wrong ones
reported by the factory data.
2022-11-08 12:02:34 -06:00
Mateo de Mayo
c3757792d7
d/vive: Generate SLAM calibration automatically from factory data
...
Use factory data for SLAM calibration. Sensor rotations are off in most calib
files we saw (or at least we can't figure something better) so this won't work
very well. It's still necessary to properly calibrate the headset for good
results but at least now something works without that step.
2022-11-08 17:41:43 +00:00
Mateo de Mayo
0ebc7e042f
d/vive: Improve readability of precompute_sensor_transforms (NFC)
2022-11-08 17:41:43 +00:00
Jakob Bornecrantz
ca83275671
ipc: Move struct declaration into same place
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
f9cd474156
ipc: Use XRT_MAX_IPC_HANDLES and also validate input from client
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
26c4771bfb
ipc: Make _sync struct have the right indentation
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
86a6b4b3e3
ipc: Generated code doesn't need to care about line length
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
8601499a5a
xrt: Add XRT_MAX_IPC_HANDLES
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
736f1fd671
c/util: Slightly improve device and queue creation
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
3f3e19299f
c/null: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
04f930d99a
c/main: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
1253d58717
t/sdl: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
6ba07d564c
a/vk: If global priority is not available, only allow medium queues
2022-11-04 10:46:42 +00:00