Mateo de Mayo
3bf07a2711
d/wmr: Load IMU calibration
2022-05-26 18:35:39 +00:00
Mateo de Mayo
02abc49313
t/calib: Add IMU intrinsics struct
2022-05-26 18:35:39 +00:00
Mateo de Mayo
05b8e320a5
a/math: Add multiple isometry-related matrix functions
...
An isometry is a rigid body transform. In this context I'm using the term to
refer to 4x4 homogeneous matrices in SE(3). I.e., matrices comprised of a
3x3 rotation, a 3x1 translation, and a [0,0,0,1] last row.
This matrix represent both rigid body transforms.
2022-05-26 18:35:39 +00:00
Mateo de Mayo
8b2fa955b9
a/math: Fix matrix identities and use isometry
...
Isometry3f is a 4x4 matrix transform that performs only rotation and translation
(an SE(3) matrix). Its inverse can be computed trivially by Eigen compared to a
regular 4x4 transform.
2022-05-26 18:35:39 +00:00
Mateo de Mayo
2212cf95cf
a/math: Add missing extern C
2022-05-26 18:35:39 +00:00
Mateo de Mayo
9281cb1d16
misc: Silence unused warnings on release builds
2022-05-26 18:35:39 +00:00
bjorn
d3a0f10acb
c/client: rm client swapchain layout transition;
...
This was only there to satisfy a validation layer bug, which appears
to have since been fixed. It doesn't make sense to transition an XR
swapchain image to PRESENT_SRC, and the client transitions from
UNDEFINED anyway when acquiring the image.
This also fixes a case where monado violates the OpenXR specification:
> The list of OpenXR functions where the OpenXR runtime may access the
> VkQueue are:
> - xrBeginFrame
> - xrEndFrame
> - xrAcquireSwapchainImage
> - xrReleaseSwapchainImage
> The runtime must not access the VkQueue in any OpenXR function that is
> not listed above or in an extension definition.
2022-05-26 17:39:02 +00:00
bjorn
2d954d84af
c/render: Fix invalid synchronization when uploading images;
...
`queue_upload_for_first_level_and_layer` uploads pixels to an image.
It performs a layout transition, does the copy, and does another layout
transition. There is an execution dependency between the the copy and
the second layout transition, but the memory dependency was missing.
Caught/tested via enabling synchronization validation.
2022-05-26 17:27:15 +00:00
Ryan Pavlik
e5f6045b57
gradle: Be able to fetch Eigen if it's not found on the system.
2022-05-26 11:43:11 -05:00
Jakob Bornecrantz
9c44bc98fa
c/multi: Document why unsetting waiting so late
2022-05-26 14:06:18 +00:00
Jakob Bornecrantz
1b7631bd54
c/multi: Also check if a semaphore or fence has been pushed in layer_begin
...
Closes #171
2022-05-26 14:06:18 +00:00
Jakob Bornecrantz
433915b0bf
u/pp: Add math object printers
2022-05-26 14:10:06 +01:00
Moses Turner
5652ddd718
a/util: Fix function signature for u_builder_find_prober_device
...
Was this ever working?
2022-05-25 20:53:46 +00:00
Moses Turner
bbd6475da0
mercury: Better warn if we get bad aspect ratio
2022-05-25 20:53:46 +00:00
Jakob Bornecrantz
f404cc4c50
c/multi: Document flattened out producer/consumer construct
2022-05-25 21:42:58 +01:00
Jakob Bornecrantz
2afdb79895
c/multi: Document spurious wakeups
2022-05-25 21:42:58 +01:00
Jakob Bornecrantz
72dbed3ab5
c/multi: Make sure that wait thread has started in creation
...
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-05-25 21:42:58 +01:00
Jakob Bornecrantz
3e9a5da3c6
c/multi: Ensure that only one thread waits for wait thread
2022-05-25 21:42:58 +01:00
Ryan Pavlik
fd3a0a1435
c/multi: Fix condition var waiting for wait thread.
...
Spurious wakeups happen, have to actually have a condition
to check in a loop with the cond var wait.
2022-05-25 20:41:10 +00:00
bjorn
d523001b6e
aux/vk: Use correct image type for 3D images;
2022-05-25 20:24:17 +00:00
Ryan Pavlik
e3874383d0
st/oxr: Fix one conformance issue with d3d11
2022-05-25 18:12:22 +00:00
Ryan Pavlik
2da547ce66
a/util: Update pretty printing of results
2022-05-25 18:12:22 +00:00
Ryan Pavlik
596d15a50c
a/d3d: Further namespace the d3d11-specific functions
2022-05-25 18:12:22 +00:00
Ryan Pavlik
79dffbf3f6
st/oxr: Split out some code that is d3d-version independent
2022-05-25 18:12:22 +00:00
zhibinw
38b22f9b8e
oxr:check EGL_NO_CONTEXT and return error
2022-05-25 22:59:16 +08:00
Aidan Thornton
2fdd01afdd
d/android: initialize our thread and mutex
2022-05-25 12:30:21 +01:00
Ryan Pavlik
4a91eb3d84
c/client: Sync/waiting in D3D11
...
Co-Authored-By: Jakob Bornecrantz <jakob@collabora.com>
2022-05-24 16:55:45 -05:00
Ryan Pavlik
903fd01272
a/d3d: Add a fence waiting helper
2022-05-24 16:55:45 -05:00
Ryan Pavlik
3f777350e1
a/d3d: Fix docs for fence helper
2022-05-24 16:11:36 -05:00
Ryan Pavlik
bb94363f94
a/d3d: Turn off some swapchain formats that we can't roundtrip properly
2022-05-24 16:11:36 -05:00
Ryan Pavlik
8ee10c5a6b
xrt: Factor out deleters
2022-05-24 13:11:41 -05:00
Mateo de Mayo
2cf07dedf2
t/euroc: Fix crash when recording euroc dataset by providing UI button
...
Previously, a crash occurred in some situations when the second sample was
written before the first sample was able to create the necessary CSV files.
2022-05-23 17:51:11 -03:00
Moses Turner
6ef55d1f73
d/survive: Initialize threading primitive
2022-05-23 14:27:42 +00:00
Jakob Bornecrantz
a4983fa5b1
auxiliary: Break apart CMakeLists.txt file
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
935de808c0
a/bindings: Do not depend on util
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
38eac9dddc
xrt: Do not depend on util
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
037872e2b8
c/client: Include u_time.h in D3D11 compositor
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
a75e00d25e
d/qwerty: Include u_time.h in device file
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
b64660d458
a/util: Include u_time.h in hand tracking helper
2022-05-23 09:12:54 -05:00
Jakob Bornecrantz
08d100d7b0
d/hydra: Depend on util
2022-05-23 09:12:54 -05:00
Ryan Pavlik
5656de8b72
a/d3d: Fence helpers
2022-05-23 14:11:43 +00:00
Jakob Bornecrantz
658a21a177
a/d3d: Tidy headers
2022-05-23 14:11:43 +00:00
Jakob Bornecrantz
b8b42a4bcb
c/client: Tidy D3D11 flip comments
2022-05-23 14:11:43 +00:00
Jakob Bornecrantz
d91d6e2aa3
c/client: Do not flip projection layers in D3D11
2022-05-23 14:11:43 +00:00
Jakob Bornecrantz
0d055bb740
d/vive: Fix threading primitive initialization
2022-05-23 13:54:42 +00:00
Moses Turner
96d3896664
t/hand/mercury: Initialize the frame timing widget correctly
2022-05-23 13:19:58 +00:00
Moses Turner
9386e56c3d
a/util: Paranoia for u_frame_times_widget
2022-05-23 13:19:58 +00:00
Mateo de Mayo
bcac379cf5
ipc: Init connection mutex
2022-05-21 23:57:55 -03:00
Mateo de Mayo
dd802f7fef
c/main: Init vblank.even_thread
2022-05-21 23:50:19 -03:00
Mateo de Mayo
7a0a142dba
misc: Fix some uninitialized mutexes
2022-05-21 23:31:18 -03:00
Jakob Bornecrantz
490e90b493
a/vk: Also check for d3d12 fence semaphores
2022-05-21 13:37:28 +01:00
Ryan Pavlik
ea35e79ec7
ipc: Clarify that wait_image timeout is nanoseconds
2022-05-20 23:31:59 +01:00
Ryan Pavlik
e54d336844
c/util: Clarify that wait_image timeout is nanoseconds
2022-05-20 23:31:59 +01:00
Ryan Pavlik
1b01eb808c
c/mock: Clarify that wait_image timeout is nanoseconds
2022-05-20 23:31:59 +01:00
Ryan Pavlik
1cd435f321
c/client: Clarify that wait_image timeout is nanoseconds
2022-05-20 23:31:59 +01:00
Ryan Pavlik
753f37c41f
xrt: Clarify that wait_image timeout is nanoseconds
2022-05-20 23:31:59 +01:00
Jakob Bornecrantz
4fa406610f
a/os: Fix fallout from name change
2022-05-20 23:07:33 +01:00
Ryan Pavlik
fcc18cf839
comp: Add a basic "mock" native compositor for testing purposes
2022-05-20 22:37:15 +01:00
Ryan Pavlik
b6bb442162
st/oxr: Verify the LUID we get
2022-05-20 22:37:15 +01:00
Ryan Pavlik
cdb8d54ca1
st/oxr: Work on D3D11
2022-05-20 22:37:15 +01:00
Ryan Pavlik
945603a8be
comp/client: Initial D3D11 client compositor
...
Still missing image synchronization/waiting for completion.
2022-05-20 22:37:15 +01:00
Ryan Pavlik
9337ea375c
auxiliary: Add new d3d helper library
2022-05-20 22:37:15 +01:00
Ryan Pavlik
e6d58cf451
xrt: Add a D3D11 error
2022-05-20 22:37:15 +01:00
Ryan Pavlik
bbfc06cc3e
xrt: Add interfaces for D3D11
2022-05-20 22:37:15 +01:00
Ryan Pavlik
8bcc2cd195
xrt: Add D3D11 to the OpenXR include header
2022-05-20 22:37:15 +01:00
Ryan Pavlik
4dd1608950
st/oxr: Update extension support header for D3D11
2022-05-20 22:37:15 +01:00
Ryan Pavlik
ccb58dbe8a
build: Add option to support D3D11
2022-05-20 22:37:15 +01:00
Ryan Pavlik
907edf10a3
a/os: Add more docs for correct use of condition variables
2022-05-20 21:30:41 +00:00
Ryan Pavlik
c7580c5242
c/main: Fix a condition var wait in windows win
2022-05-20 21:30:41 +00:00
Ryan Pavlik
5a81d1412a
c/main: Fix Windows window backend to handle being shut down and started up again.
2022-05-20 21:30:41 +00:00
Ryan Pavlik
1fe1e8847e
c/main: Get more data on our errors
2022-05-20 21:30:41 +00:00
Ryan Pavlik
795db8712b
c/main: Be sure to clean up window class when done.
2022-05-20 21:30:41 +00:00
Ryan Pavlik
230424eec9
xrt: Add an XRT_INFINITE_DURATION define
...
Matches XR_INFINITE_DURATION
2022-05-20 21:30:41 +00:00
Ryan Pavlik
588b4831a2
a/util: Improve docs structure
2022-05-20 15:48:19 -05:00
Ryan Pavlik
fd25fc75bc
a/os: Rearrange time header to get the docs outside of the ifdefs.
...
Easier to read, easure to be sure we don't accidentally miss something
for doxygen.
2022-05-20 15:48:02 -05:00
Jakob Bornecrantz
875815b55b
c/main: Init comp_base as early as possible
2022-05-20 19:06:14 +01:00
Ryan Pavlik
ea4c14c3aa
a/os: Rename os_thread_helper_stop to os_thread_helper_stop_and_wait
2022-05-20 18:46:37 +01:00
Ryan Pavlik
14aed90183
a/os: Add "initialized" flags to threading primitives (in debug builds)
...
Failling to init these (other than zero-init) works fine on Linux, but fails on Windows.
So now we at least have an assert on Linux.
2022-05-20 18:40:18 +01:00
Ryan Pavlik
1aba4348dc
a/os: Fix naming convention for function pointer
2022-05-20 18:40:16 +01:00
Ryan Pavlik
4d9c3650cc
c/multi: Unlock when multi system loop exits
2022-05-20 18:40:14 +01:00
Jakob Bornecrantz
fee6809bc2
c/multi: Destroy threads instead of only stopping them
2022-05-20 18:40:11 +01:00
Christoph Haag
aac68971c4
cmake: Fix service build with -DXRT_BUILD_DRIVER_QWERTY=OFF
2022-05-19 23:52:14 +00:00
Jakob Bornecrantz
6de4e4afaa
u/worker: Init mutex and cond var
2022-05-19 23:13:48 +01:00
Mateo de Mayo
3e6fd9ba73
u/aeg: Fix clang warnings
2022-05-19 18:21:36 -03:00
Jakob Bornecrantz
03a6f079e0
t/common: Do not compile for builders when no driver is enabled
2022-05-19 15:51:06 +00:00
Jakob Bornecrantz
1c29b22cae
st/oxr: Do not enable XR_EXT_debug_utils as it's not implemented yet
2022-05-19 14:32:06 +00:00
Mateo de Mayo
85bdbc1817
u/aeg: Implement state machine to correct overshooting and avoid oscillations
2022-05-19 14:03:17 +00:00
Mateo de Mayo
bf311f3c2e
u/aeg: Add log functions
2022-05-19 14:03:17 +00:00
Mateo de Mayo
63b477d250
a/math: Add MIN, MAX and CLAMP macros
2022-05-19 14:03:17 +00:00
Mateo de Mayo
df5b5f40a9
d/wmr: Add auto exposure
2022-05-19 14:03:17 +00:00
Mateo de Mayo
77139b02a1
u/aeg: Add utility for automatic exposure and gain computation
2022-05-19 14:03:17 +00:00
Mateo de Mayo
7ea7cce930
u/var: Add u_var_histogram_f32
2022-05-19 14:03:17 +00:00
Mateo de Mayo
84422acd74
d/wmr: Centralize exposure and gain update logic
...
Also use the new draggable_u16 UI input for exposure.
2022-05-19 14:03:17 +00:00
Mateo de Mayo
7d266c76b5
u/var: Add u_var_draggable_u16
2022-05-19 14:03:17 +00:00
Ryan Pavlik
e5b0840de3
t/common: Fix missing ifdef guard in target builder remote.
2022-05-18 10:37:04 -05:00
Ryan Pavlik
fad9eb0e12
st/p: Fix mismatched prototype.
2022-05-18 10:36:49 -05:00
Arkadiusz Drohomirecki
d444412221
a/math: Add a clear() method to RelationHistory/m_relation_history
2022-05-18 14:45:12 +00:00
Jakob Bornecrantz
4c6b3b4609
t/common: Fix instance get_prober function
2022-05-18 15:39:17 +01:00
Jakob Bornecrantz
b68806956b
st/oxr: Remove unused variable
2022-05-18 11:19:30 +01:00
Jakob Bornecrantz
b180605ebe
t/common: List the simulated device
2022-05-18 11:02:12 +01:00
Ryan Pavlik
4fb62a8d8f
xrt: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
0c6f342db3
tracking/hand: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
54be3b958b
targets: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
825ec9f549
t/oxr: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
894b5c955a
st/steamvr_drv: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
2f2405fc1f
st/prober: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
a25bb73921
st/oxr: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
26b522d1d2
st/gui: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
45263ea8de
prober: word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
7f600569e7
ipc: Word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
6706180cd8
drivers: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
ba42730af3
compositor: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
25cb2e1790
c/render: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
973b8f3b7f
c/main: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
0730f08f2d
c/client: Improve word choice/clarity
2022-05-17 17:40:58 -05:00
Ryan Pavlik
3b54152563
auxiliary: Improve word choice/clarity
2022-05-17 17:40:56 -05:00
Ryan Pavlik
6e78ec1127
a/util: Improve word choice/clarity
2022-05-17 17:39:52 -05:00
Ryan Pavlik
276f24c9ad
a/tracking: Improve word choice/clarity
2022-05-17 17:39:52 -05:00
Ryan Pavlik
2a54dcdb19
a/math: Improve word choice/clarity
2022-05-17 17:39:52 -05:00
Ryan Pavlik
56a1c25378
d/simulated: Rename the simulated device driver.
2022-05-17 17:39:52 -05:00
Ryan Pavlik
df413a3809
d/ht: Fix doxygen warnings
2022-05-17 14:42:02 -05:00
Ryan Pavlik
0e4f40c980
d/wmr: Fix doxygen warning
2022-05-17 14:42:02 -05:00
Ryan Pavlik
d5bed66734
c/render: Docs improvements
2022-05-17 14:42:02 -05:00
Ryan Pavlik
7af6a78e54
c/client: doc and naming convention improvements
2022-05-17 14:42:02 -05:00
Ryan Pavlik
9edc6dd0bf
a/util: Doc improvements
2022-05-17 14:42:02 -05:00
Ryan Pavlik
cc8c034556
a/vk: Improve comment
2022-05-17 14:42:02 -05:00
Ryan Pavlik
507be96326
xrt: Improve docs, fixing doxygen warnings
2022-05-17 19:30:40 +00:00
Ryan Pavlik
6bd18ecb38
st/oxr: Clean up swapchain usage
2022-05-17 19:30:40 +00:00
Jakob Bornecrantz
61323c32d2
xrt: Use error messages in various instance and prober functions
2022-05-17 20:10:40 +01:00
Jakob Bornecrantz
58438db241
xrt: Add some error messages
2022-05-17 20:10:40 +01:00
Jakob Bornecrantz
cf9c5b9dc7
u/var: Put in a namespace and add some documentation
2022-05-17 20:09:19 +01:00
Ryan Pavlik
8cb26df99d
c/multi: Name some threads
2022-05-17 12:39:44 -05:00
Ryan Pavlik
e33a9b3481
c/main: Name some threads
2022-05-17 12:39:44 -05:00
Ryan Pavlik
e123a50438
comp/multi: Name the multi-system-compositor thread.
2022-05-17 12:39:44 -05:00
Ryan Pavlik
8bd7d199cb
a/os: Improve docs in the threading header.
2022-05-17 12:39:44 -05:00
Ryan Pavlik
1e307e8e9f
a/os: Add a function to set thread name.
2022-05-17 12:39:44 -05:00
Ryan Pavlik
147624348f
a/vk: Add an internal check to ensure graphics buffer ref worked.
2022-05-17 17:38:07 +00:00
Jakob Bornecrantz
9285bee210
u/system_helpers: Use new xrt_prober_create_system function
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
3357cd4400
t/common: Add a few builders
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
f91db16dac
u/builders: Add xrt_builder_helpers
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
46c6412cc5
st/prober: Implement xrt_builder functionallity
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
850527adc5
xrt: Add system builders and update xrt_prober interface
...
Aka setter uppers.
2022-05-17 11:20:40 +01:00
Jakob Bornecrantz
82e2ce6390
st/oxr: Fix crash when there is no optional extension in the list
2022-05-16 21:18:23 +00:00
Frederic Plourde
2e42373d21
aux/os: Fix os_semaphore_get_realtime_clock()
...
Function was previously using output param 'ts' as
input for computing 'now' internally.
2022-05-16 20:56:53 +00:00
Moses Turner
8ac95a5177
d/ht: Add some things to the WMR creation interface, and make it the default interface.
2022-05-16 19:15:33 +01:00
Ryan Pavlik
2f457d0665
build: Search for DXGI and WinRT (WindowsApp) libraries
2022-05-16 11:00:27 -05:00
Ryan Pavlik
213f4b6003
a/util: Add a COM guard object.
...
Need COM initialized to do some things (like d3d11) on Windows,
don't know if the app already initialized it, don't have a big preference
for "how" we initialize it.
2022-05-16 11:00:27 -05:00
Ryan Pavlik
46a3c7b039
build: Look for WIL (Windows Implementation Library)
...
Also define XRT_HAVE_WIL if we have it.
2022-05-16 11:00:27 -05:00
Moses Turner
bd0d24ad5c
mercury: Hopefully fix 1DOF joint limiting
2022-05-16 16:09:32 +01:00
Moses Turner
0aadc85a79
mercury: Initialize variables
...
Caused heisencrashes sometimes.
2022-05-16 16:03:18 +01:00
Moses Turner
85f30f48c6
mercury: Correctly handle lower resolution input images
...
And better calibration debug prints
2022-05-16 16:03:18 +01:00
Jakob Bornecrantz
85d4a72d0f
d/psmv: Fix NULL check
2022-05-15 21:40:26 +01:00
Jakob Bornecrantz
0201274764
c/render: Drop s from interface file for consistant naming
2022-05-15 18:04:45 +01:00
Jakob Bornecrantz
f4ab51f78b
u/pp: Add xrt_result_t printing
2022-05-15 15:02:08 +01:00
Jakob Bornecrantz
535cb839fa
u/pp: Add stack only sink for printing messages
2022-05-15 14:54:00 +01:00
Jakob Bornecrantz
6a2426c0a2
d/psmv: Refactor device creation in preperation of builders
2022-05-15 14:45:01 +01:00
Jakob Bornecrantz
ddb142564f
d/psvr: Refactor device creation in preperation of builders
2022-05-15 14:45:01 +01:00
Jakob Bornecrantz
23ed0a6632
xrt: Remove unused xdev argument to trackers
2022-05-14 22:40:36 +01:00
Mateo de Mayo
4e20384f11
gui: Make imgui.ini file live in config directory
2022-05-14 16:46:20 -03:00
Moses Turner
bcfd50c839
u/sink: Make sure gen-locked frames have the same timestamp
2022-05-13 14:18:02 +01:00
Jakob Bornecrantz
2e8d1f9b34
ipc: Set xdev_count on xrt_system_devices
2022-05-13 10:57:28 +01:00
Moses Turner
5122ecd0b0
d/dai: Fisheye calibration was upstreamed, actually use it now
2022-05-12 20:01:15 +00:00
Jakob Bornecrantz
faca646193
u/logging: Change suffix to _func_t
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
aeb11566cd
xrt: Re-order things in xrt_prober
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
3a9ac6aa5d
xrt: Move prober creation functions and struct last
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
116d1a9bf8
xrt: Typedefs have a _t suffix
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
126dbb540f
xrt: Remove functions now living in helper code
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
a38ea4231c
d/vive: Use prober helper code
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
b9d88f4eab
d/wmr: Use prober helper code
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
ceed09d9b5
u/prober: Add helper file for prober functions
2022-05-12 11:59:12 +00:00
Jakob Bornecrantz
d76b1f5e9a
st/prober: Remove last vestiges of hand tracking
2022-05-12 12:53:16 +01:00
Jakob Bornecrantz
1a358d3a92
u/sink: Remove unused downstream2
2022-05-12 12:53:14 +01:00
Jakob Bornecrantz
fc093e2c7b
u/sink: Assert on downstream being null
2022-05-12 12:53:12 +01:00
Jakob Bornecrantz
add6cb639a
st/gui: Fix crash if no instance have been created
2022-05-11 15:36:53 +01:00
Jakob Bornecrantz
aafbaecbc9
xrt: Remove old unused instance functions
2022-05-11 10:49:15 +01:00
Moses Turner
d6f62633e9
st/gui: Use xrt_system_devices struct and xrt_instance_create_system call
...
Includes fixes from Christoph Haag:
```
st/gui: Fix segfault when starting monado-gui without arguments
```
```
st/gui: Run gui_prober_select only in the modules that need a prober
This also speeds up starting up the monado-gui main menu.
```
Co-authored-by: Moses Turner <moses@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-05-11 10:49:15 +01:00
Jakob Bornecrantz
65aa7581d2
st/ovrd: Use xrt_instance_create_system
2022-05-11 10:49:15 +01:00
Jakob Bornecrantz
3c6bf7b912
st/oxr: Use xrt_instance_create_system
2022-05-11 10:49:15 +01:00
Jakob Bornecrantz
634d495301
ipc: Use and support xrt_instance_create_system
2022-05-11 10:18:35 +01:00
Jakob Bornecrantz
d642848bb1
t/cli: Use xrt_instance_create_system call
2022-05-11 10:16:08 +01:00
Jakob Bornecrantz
1b8cbfd226
t/common: Implement xrt_instance_create_system call
2022-05-11 10:15:18 +01:00
Jakob Bornecrantz
d84819eee7
u/system_helpers: Add helper code for system devices
2022-05-11 10:14:00 +01:00
Jakob Bornecrantz
224b473dba
xrt: Add xrt_instance_create_system call
2022-05-11 10:11:43 +01:00
Jakob Bornecrantz
d0d3e0cac8
xrt: Add xrt_system_devices struct
2022-05-11 10:10:38 +01:00
Jakob Bornecrantz
ccfe8c8de0
c/main: Fix doxygen ref
2022-05-11 10:08:03 +01:00
Moses Turner
ec191bd9de
targets: Add DepthAI head tracker
2022-05-10 23:47:30 +01:00
Moses Turner
e8776fd705
d/dai: Add little xrt_device implementation for head tracking
2022-05-10 23:47:30 +01:00
Moses Turner
c7cb763b38
inc/xrt, steamvr_drv: add DepthAI device type
2022-05-10 23:47:30 +01:00
Moses Turner
5ba7ae3c53
d/dai: Add initial IMU support
2022-05-10 23:47:30 +01:00
Moses Turner
af5516f4b6
d/dai: We didn't need this calibration struct for anything
2022-05-10 23:47:30 +01:00
Moses Turner
e25ee4058d
xrt: Remove xrt_tracked_hand
2022-05-10 18:53:58 +01:00
Christoph Haag
71c7ec2382
c/main: Add thread waiting for vblank events
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-05-10 11:22:51 +01:00
Jakob Bornecrantz
e140cfad5c
u/pacing: Add vblank timing function for display control
2022-05-10 11:22:04 +01:00
Jakob Bornecrantz
57070ad620
u/pacing: Make the comp time be at least 2ms in fake pacer
2022-05-10 11:18:52 +01:00
Jakob Bornecrantz
b9b9ced43d
u/pacing: Predict present time and then calculate display time in fake pacer
2022-05-10 11:18:52 +01:00
Jakob Bornecrantz
6c9c1e9249
u/pacing: Make present_to_display_offset_ns more clear
2022-05-10 11:18:51 +01:00
Jakob Bornecrantz
e93b1c61ff
st/oxr: Make VK_KHR_external_[fence|semaphore]_fd optional
...
Only for XR_KHR_vulkan_enable2, harder to do for XR_KHR_vulkan_enable.
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
8945153bc9
st/oxr: Work around clang-format (NFC)
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
c6b0089c51
xrt: Pass external_[fence|semaphore]_fd status in
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
989c4334a3
c/client: Pass external_[fence|semaphore]_fd status in
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
c8de67ad94
c/main: Make VK_KHR_external_[fence|semaphore]_fd optional
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
cd018c98f8
c/main: Work around clang-format (NFC)
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
fd35f6668a
c/util: Print device info as well
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
2b042d48ff
a/vk: Add function to print opened device info
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
6c61965790
a/vk: Tidy vk_print_device_info
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
e092a3687b
a/vk: Pass external_[fence|samaphore]_fd status to vk_init_from_given
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
6a8e679f87
a/vk: Check for VK_KHR_external_fence_fd and VK_KHR_external_semaphore_fd
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
308aeb8e21
a/vk: Sort checked extensions
2022-05-09 14:01:20 +00:00
Jakob Bornecrantz
759162ebeb
ipc: Return correct status if we fail to create a semaphore
2022-05-09 14:01:20 +00:00
Christoph Haag
2064fd8721
c/main: zero initialize xrt_system_compositor_info
...
Fixes valgrind warning
==354193== Thread 39:
==354193== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==354193== at 0xC0A146D: sendmsg (in /usr/lib/libc.so.6)
==354193== by 0x18527D: ipc_send (src/xrt/ipc/shared/ipc_utils.c:65)
==354193== by 0x157771: ipc_dispatch (ipc_server_generated.c:165)
==354193== by 0x15C88D: client_loop (src/xrt/ipc/server/ipc_server_per_client_thread.c:112)
==354193== by 0x15C60C: ipc_server_client_thread (src/xrt/ipc/server/ipc_server_per_client_thread.c:183)
==354193== by 0xC01A5C1: start_thread (in /usr/lib/libc.so.6)
==354193== by 0xC09F583: clone (in /usr/lib/libc.so.6)
==354193== Address 0xc0866afc is on thread 39's stack
==354193== in frame #2 , created by ipc_dispatch (ipc_server_generated.c:23)
==354193== Uninitialised value was created by a stack allocation
==354193== at 0x15F830: xrt_gfx_provider_create_system (src/xrt/compositor/main/comp_compositor.c:1118)
2022-05-09 15:53:25 +02:00
Christoph Haag
f76b31795f
ipc: zero initialize message buffer
2022-05-09 15:53:00 +02:00
Jakob Bornecrantz
a24551b24b
c/main: Refactor image count selection
2022-05-09 10:57:05 +00:00
Jakob Bornecrantz
9b8fe97ba9
c/main: Remove pre-declared function declarations
...
Split in two commits to improve git diff for previous commit.
2022-05-09 10:57:05 +00:00
Jakob Bornecrantz
c052b856cf
c/main: Refactor comp_target_swapchain to not pre-declare any internal functions
2022-05-09 10:57:05 +00:00
Jakob Bornecrantz
41cb0bc2e3
c/main: Whitespace in comp_target_swapchain
2022-05-09 10:57:05 +00:00
Jakob Bornecrantz
35e7a7c6ff
c/main: Fix copy typo
2022-05-09 10:57:05 +00:00
Jakob Bornecrantz
6b19eedf9c
d/survive: Use shared bindings
2022-05-09 10:46:44 +00:00
Jakob Bornecrantz
456f9c7f09
d/vive: Use shared bindings
2022-05-09 10:46:44 +00:00
Jakob Bornecrantz
56b77248c9
a/vive: Add bindings to touch controller
2022-05-09 10:46:44 +00:00
Jakob Bornecrantz
7d4b19766c
a/vive: Add bindings
2022-05-09 10:46:44 +00:00
Jakob Bornecrantz
8cf120a6f2
c/render: Fix comment (NFC)
2022-05-08 10:09:07 +01:00
Jakob Bornecrantz
d2f2a06e91
c/render: Use query pool to measure GPU time
2022-05-08 10:09:07 +01:00
Jakob Bornecrantz
6d02d67f78
c/main: Ask for VK_EXT_calibrated_timestamps if available
2022-05-08 10:09:07 +01:00
Jakob Bornecrantz
c4f0e17e88
c/main: Setting logging level when checking vulkan caps
2022-05-08 10:09:07 +01:00
Christoph Haag
611a0f644d
c/main: Use at least 3 vk images for comp target swapchain if supported
2022-05-08 10:09:07 +01:00
Mateo de Mayo
1a687cdee4
d/wmr: Add initial hand tracking for WMR devices
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-05-07 15:53:56 +00:00
Mateo de Mayo
7e1f9a7964
t/hand: Add option for allowing xfctx to be managed externally
...
Other trackers (e.g., psmv, slam, etc) work as sinks and the xfctx that manages
them is handled by the device providing the data streams. This change helps
the hand tracker have a more similar interface to other trackers.
2022-05-07 15:53:56 +00:00
Mateo de Mayo
44dac0eb5d
d/wmr: Refactor UI and tracker initialization into their own methods (NFC)
2022-05-07 15:53:56 +00:00
Mateo de Mayo
e3fadb5364
doc: Fix some doxygen warnings
2022-05-07 15:53:56 +00:00
Ryan Pavlik
bcdc2416a7
cmake: Adjust deps of XRT_INSTALL_*_SYSTEMD_*
...
Value may be ignored in this repo without the service target,
but it's harmless to have it on, and more flexible to build on.
2022-05-06 14:30:49 -05:00
Ryan Pavlik
ccbb658e49
st/oxr: Fix renderdoc build on Windows.
2022-05-06 13:59:24 -05:00
Ryan Pavlik
e79a13f0ac
a/util: Fix log corruption on Windows.
2022-05-06 00:26:39 +01:00
Ryan Pavlik
dd6b0debd0
c/main: Populate LUID in xrt_system_compositor_info
2022-05-06 00:26:34 +01:00
Ryan Pavlik
f958091578
st/oxr: Fix vulkan luid logging
2022-05-06 00:26:34 +01:00
Ryan Pavlik
3287c984aa
cmake: Reorganize options, renaming some.
...
Rename XRT_HAVE_SLAM to XRT_FEATURE_SLAM,
moving it from xrt_config_have.h to xrt_config_build.h
accordingly.
2022-05-04 11:24:02 -05:00
Ryan Pavlik
097eeb4f29
cmake: Switch to a new way of setting options more in line with expectations.
...
If you explicitly request an option, and it's not available due to dependencies,
we now error out instead of silently changing the value.
2022-05-04 11:24:02 -05:00
Jakob Bornecrantz
38f68dc104
xrt: Use xrt_luid_t for deviceLUID
2022-05-04 15:11:24 +00:00
Jakob Bornecrantz
b62d871498
xrt: Add xrt_luid_t
2022-05-04 15:11:24 +00:00
Jakob Bornecrantz
4ba23faa6b
auxiliary: Deal with clang-format-14 fallout (NFC)
2022-05-04 15:58:01 +01:00
Jakob Bornecrantz
45ba6ff1b1
c/client: Add support for xrt_swapchain_create_properties
2022-05-04 15:51:34 +01:00
Jakob Bornecrantz
a36620fad3
ipc: Use xrt_swapchain_create_properties when using XINA
2022-05-04 15:51:16 +01:00
Jakob Bornecrantz
6805b40ac2
ipc: Add support for xrt_swapchain_create_properties
2022-05-04 15:50:54 +01:00
Jakob Bornecrantz
f78f334473
c/multi: Add support for xrt_swapchain_create_properties
2022-05-04 15:50:20 +01:00
Jakob Bornecrantz
dd1da49aa5
c/base: Add support for xrt_swapchain_create_properties
2022-05-04 15:50:00 +01:00
Jakob Bornecrantz
07fe47d053
xrt: Add xrt_swapchain_create_properties and related function
2022-05-04 15:48:57 +01:00
Moses Turner
a5024060eb
d/dai: Autodetect OAK-D vs OAK-D Lite
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-05-04 13:43:43 +00:00
Ryan Pavlik
3f9e5c2a30
st/steamvr_drv: Guard GNU pragmas
2022-05-03 22:45:05 +01:00
Ryan Pavlik
fedb4fd413
t/steamvr_drv: Adjust ifdef
2022-05-03 22:44:46 +01:00
Ryan Pavlik
fc9fba9ab2
st/oxr: Adjust ifdef
2022-05-03 22:44:46 +01:00
Ryan Pavlik
f9b4af04e4
a/tracking: Fix conversion warnings
2022-05-03 22:44:37 +01:00
Ryan Pavlik
d8970f25f9
a/math: Fix conversion warnings
2022-05-03 22:44:28 +01:00
Ryan Pavlik
32a893fd2b
st/oxr: Grab LUID from Vulkan if possible
2022-05-03 22:39:58 +01:00
Ryan Pavlik
49c45bf16a
c/main: Store LUID
2022-05-03 22:34:47 +01:00
Ryan Pavlik
63fdadae3f
c/util: Query GPU LUID when possible
2022-05-03 22:33:57 +01:00
Ryan Pavlik
3691d881fc
xrt: Adjust includes for intrinsics on Windows/msvc
2022-05-03 22:33:57 +01:00
Ryan Pavlik
14f37dbe4c
xrt: Add GPU LUID to xrt_system_compositor_info
2022-05-03 22:32:17 +01:00
Jakob Bornecrantz
96fbb1e59a
c/client: Print the EGL return when failing to set context
2022-05-03 15:20:19 +00:00
Jakob Bornecrantz
e791f3ea2f
d/android: Fix various bugs
2022-05-03 14:22:34 +00:00
Ryan Pavlik
7a039543d1
st/prober: We want to support HID devices
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
dbb0461db4
st/prober: Tidy
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
d6dcba29ed
st/oxr: Tidy
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
05d186083a
st/gui: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
f8bce0b213
st/oxr: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
243c2e5326
d/psvr: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
2035ac03ff
st/prober: Silence warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
a98c589a30
c/client: Fix conversion warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
065c1c4ee2
c/render: Fix conversion warnings
...
c/render: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
e39648bab1
c/multi: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
32d563d26c
c/main: Fix conversion warnings
...
c/main: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
d1d58c4bce
u/distortion: Fix conversion warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
d8003b4c8f
u/pacing: Fix conversion warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
fa988a7f74
u/time: Fix conversion warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
5981a508d2
u/sink: Fix conversion warnings
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
1afc18108e
m/3dof: Fix conversion warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
0a0d4a49d5
m/space: Fix function call warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
d1512f0005
m/lowpass: Fix no define parameter warning
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
91facd10f1
xrt: Add xrt_uuid_t
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
428e46617a
st/oxr: Avoid using sprintf
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
545ad5c1bf
st/oxr: Avoid using strncpy
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
c6208482b8
c/util: Avoid using sprintf
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
6d2011abfd
u/file: Avoid using fopen
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
42ba279050
u/file: Avoid using getenv
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
fbc51366e6
u/config: Avoid using strncpy
2022-05-02 17:16:04 +01:00
Jakob Bornecrantz
9ab5195337
st/oxr: Make sure defines are set for graphics integration files
2022-05-02 15:40:31 +00:00
Jakob Bornecrantz
5f421503e9
st/oxr: Set XR_USE_GRAPHICS_API_VULKAN as a compile define like the others
2022-05-02 15:40:31 +00:00
Jakob Bornecrantz
d7613b9b67
st/oxr: Match comp client XLIB deps
...
Fixes #168
2022-05-02 15:40:31 +00:00
Jakob Bornecrantz
f4c26bbabb
st/oxr: oxr_session_gfx_gl.c to oxr_session_gfx_gl_xlib.c
2022-05-02 15:40:31 +00:00
Antonio Ospite
bd06961188
a/util: Silence percetto warnings also when building with g++
...
Percetto is using designated struct initializers, but those are not
supported in standard C++ before C++20, resulting in some compilation
warnings.
The previous fix for that was using a diagnostic valid for clang but not
for g++ resulting in another warning when building with g++:
-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/math/m_relation_history.cpp:19:
../monado/src/xrt/auxiliary/util/u_trace_marker.h:21:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
21 | #pragma GCC diagnostic ignored "-Wc99-designator"
| ^~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------
For GCC the diagnostics to disable is actually "-Wpedantic", as shown
below:
-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/util/u_trace_marker.h:25,
from ../monado/src/xrt/auxiliary/math/m_relation_history.cpp:19:
../external/percetto/src/percetto.h: In function ‘void percetto_event_with_args(percetto_category*, uint32_t, const char*, int32_t, const percetto_track*, int64_t, uint64_t)’:
../external/percetto/src/percetto.h:424:5: warning: C++ designated initializers only available with ‘-std=c++2a’ or ‘-std=gnu++2a’ [-Wpedantic]
424 | .track = track,
| ^
-----------------------------------------------------------------------
And for clang "-Wc++20-designator" should be slightly more accurate:
-----------------------------------------------------------------------
In file included from ../monado/src/xrt/auxiliary/util/u_trace_marker.h:29:
../external/percetto/src/percetto.h:424:5: warning: designated initializers are a C++20 extension [-Wc++20-designator]
.track = track,
^
-----------------------------------------------------------------------
Fix all the warnings by ignoring the right diagnostics depending on the
compiler, taking care of differentiating clang++ from g++ as they both
define __GNUC__.
2022-05-02 17:31:11 +02:00
Jakob Bornecrantz
175ff58f10
build: Remove meson files
2022-04-28 21:36:25 +00:00
Jakob Bornecrantz
bc89a23280
c/client: Use helper function to see if timeline semaphore is avaiable
2022-04-28 10:55:55 +01:00
Jakob Bornecrantz
0dbe9857c3
a/vk: Add function to check timeline semaphore import/export cap
2022-04-28 10:55:55 +01:00
Jakob Bornecrantz
3492c9e948
st/oxr: Tidy and print out suggested uuid in physical device selection code
2022-04-28 10:29:56 +01:00
Jakob Bornecrantz
8dfae6d1d1
st/oxr: Log information when creating VkInstance & VkDevice
2022-04-28 10:27:11 +01:00
Ryan Pavlik
a10206dce6
a/vk: Fix MSVC build.
...
Apparently static initializers referring to other statics are not enjoyed
by Microsoft's compiler
2022-04-27 15:23:24 +00:00
Ryan Pavlik
7db9131aab
a/util: Add pop_back to HistoryBuffer
2022-04-27 09:51:12 -05:00
nima01
232b3bade5
aux/math: More double-precision matrix and vector support
2022-04-25 19:14:46 +00:00
Jakob Bornecrantz
27e4577acb
a/vk: Tidy calls to vk_get_memory_type
2022-04-24 22:47:51 +01:00
Jakob Bornecrantz
045fc9c33f
a/vk: Add caller_name argument to vk_alloc_and_bind_image_memory for better debugging
2022-04-24 22:47:51 +01:00
Jakob Bornecrantz
917265d1b2
a/vk: Add vk_convert_timestamps_to_host_ns function
2022-04-24 22:47:51 +01:00
Jakob Bornecrantz
f217046810
a/vk: Get the timestamp valid bits
2022-04-24 11:10:03 +01:00
Jakob Bornecrantz
599527fe01
a/vk: Fill in timestamp feature information
2022-04-24 11:10:03 +01:00
Jakob Bornecrantz
3aa4fdb096
a/vk: Add function to print device features
2022-04-24 11:10:03 +01:00
Jakob Bornecrantz
f65a8b1eda
a/vk: Add VK_EXT_calibrated_timestamps
2022-04-24 00:29:41 +01:00
Jakob Bornecrantz
9e58ab69e0
a/vk: Add VkQueryPool functions
2022-04-24 00:29:41 +01:00
Ryan Pavlik
2f78acd108
cmake: Copy some deps over when installing on Windows.
2022-04-21 17:17:16 -05:00
Ryan Pavlik
0926ce1dab
cmake: Clean up how we install the runtime
2022-04-21 17:17:16 -05:00
Ryan Pavlik
86ee913086
cmake: Use new module for generating manifests
...
Remove the old parts.
2022-04-21 17:17:16 -05:00
Ryan Pavlik
e75fae4d80
cmake: Fix where we install the runtime on Windows
2022-04-21 16:29:17 -05:00
Ryan Pavlik
ad6b70267e
cmake: Apparently Windows needs backslashes in the manifest files.
2022-04-21 16:23:49 -05:00
Ryan Pavlik
aa4f43b049
cmake: Improve manifest installation, allowing relative paths to be generated.
2022-04-20 11:47:04 -05:00
Jakob Bornecrantz
3d35890206
u/pacing: Trace a little bit more to show when the app is late
2022-04-18 23:26:52 +00:00
Jakob Bornecrantz
4f5bcc5c22
u/pacing: Use the correct term for when the GPU work is done
2022-04-18 23:26:52 +00:00
Jakob Bornecrantz
93091157b8
u/pacing: Correct account for the apps full time when predicting
2022-04-18 23:26:52 +00:00
Jakob Bornecrantz
c5fe86ccf9
u/trace_marker: Add env varible to enable/disable tracing
...
Should a application load and unload the OpenXR runtime driver multiple times
the Perfetto code becomes unstable and eventually crashes. This unfortunately
happens with the CTS, to avoid having to recompile Monado and a env variable
to control if tracing should be used.
2022-04-18 22:41:17 +00:00
Jakob Bornecrantz
7b82b63896
c/render: Remove unused timewarp shader
2022-04-18 18:48:54 +01:00
Jakob Bornecrantz
95d5343c9a
c/render: Make distortion shader optionally do timewarp
2022-04-18 18:48:54 +01:00
Jakob Bornecrantz
0be36ccc9d
c/render: Use shader specialisation to set distortion_texel_count
2022-04-18 18:48:54 +01:00
Jakob Bornecrantz
7ba7f43e83
a/vk: Add specialization_info argument to vk_create_compute_pipeline
2022-04-18 18:48:54 +01:00
Ryan Pavlik
2d916c11c5
xrt: Fix OpenXR platform include on Windows
2022-04-18 12:12:43 -05:00
Jakob Bornecrantz
d24375f8ab
st/oxr: Tidy order of extensions (NFC)
2022-04-18 17:39:28 +01:00
Ryan Pavlik
02435cc033
xrt: clarify comment
2022-04-18 10:54:22 -05:00
Ryan Pavlik
3ed593df4b
st/oxr: Fix typo in comment
2022-04-18 10:53:09 -05:00
Ryan Pavlik
5dcb5c360c
comp: Fix warnings on MSVC
2022-04-18 10:53:02 -05:00
Ryan Pavlik
3631289e4f
xrt: Rename interface: reserved word in msvc.
2022-04-18 10:52:57 -05:00
Ryan Pavlik
11e0d7ed76
comp: Fix comment typo
2022-04-18 10:52:45 -05:00
Ryan Pavlik
1331e93bdc
xrt: Fix typo
2022-04-18 10:52:42 -05:00
Jakob Bornecrantz
8ed5a082be
c/render: Add missing comments to timewarp shader
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
1999891a19
c/render: Use a Vulkan projection matrix with Y down in projection space
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
e561bec87d
c/render: Use specialization constant for distortion size
...
This would allow Vulkan shader specialization to be used to change
the size and runtime instead of having to recompile.
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
87ea035416
c/render: Document compute distortion shader sampling code
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
f4d3c8a93f
c/render: Correctly calculate uv to tan angle offset values
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
f20031ec99
c/render: Correctly convert shader index to target pixel uv
2022-04-18 13:03:32 +01:00
Jakob Bornecrantz
ca33ac434c
c/render: Correctly scale uv for compute distortion
2022-04-17 15:26:51 +00:00
Jakob Bornecrantz
3b6b45b762
d/wmr: Prettier xfer status printing
2022-04-17 16:06:11 +01:00
Christoph Haag
7ebd11e1d4
comp/render: Add VkExternalMemoryBufferCreateInfo
...
Fixes validation error when calling render_buffer_init_exportable
VUID-vkBindBufferMemory-memory-02726(ERROR / SPEC): msgNum: -168767885 - Validation Error: [ VUID-vkBindBufferMemory-memory-02726 ] Object 0: handle = 0xe88693000000000c, type = VK_OBJECT_TYPE_BUFFER; Object 1: handle = 0xcad092000000000d, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xf5f0ce73 | vkBindBufferMemory(): The VkDeviceMemory (VkDeviceMemory 0xcad092000000000d[]) has an external handleType of VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT which does not include at least one handle from VkBuffer (VkBuffer 0xe88693000000000c[]) handleType Unhandled VkExternalMemoryHandleTypeFlagBits. The Vulkan spec states: If the value of VkExportMemoryAllocateInfo::handleTypes used to allocate memory is not 0, it must include at least one of the handles set in VkExternalMemoryBufferCreateInfo::handleTypes when buffer was created (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-02726 )
Objects: 2
[0] 0xe88693000000000c, type: 9, name: NULL
[1] 0xcad092000000000d, type: 8, name: NULL
2022-04-15 01:27:38 +02:00
Ryan Pavlik
a55a5a54b3
a/math: Normalize argument order of one euro filter initializing functions.
2022-04-13 09:40:40 -05:00
Ryan Pavlik
3e6ec47296
monado: Apply clang-tidy fixes to most of the codebase.
...
All at least visually inspected, some revised from the auto-fixit
2022-04-13 09:34:54 -05:00
Nima01
f705683957
d/wmr: Partial decoding of device status message. Notifies when screen is fully powered up Reverb G1.
2022-04-13 00:19:50 +00:00
Ryan Pavlik
029fa2496e
a/math: Tell clang-tidy to leave our MSVC-mandated define alone.
...
Also try to avoid redefinition warnings from MSVC.
2022-04-13 01:11:17 +01:00
Ryan Pavlik
0ae0316400
cmake: Format build files
2022-04-13 01:11:13 +01:00
Ryan Pavlik
4939bc2f59
a/util: Manual fixes to clang-tidy issues.
2022-04-13 01:10:54 +01:00
Ryan Pavlik
f769ff8977
comp/main: Manual fixes to clang-tidy issues
2022-04-13 01:10:46 +01:00
Ryan Pavlik
55364cde35
xrt: Manual fixes to clang-tidy issues.
2022-04-13 01:10:14 +01:00
Alexander Koenig
5d76c83c37
Fix typo in rotate_lenses_right quirk, helps with #166
2022-04-12 23:14:32 +00:00
Ryan Pavlik
71580213aa
comp/client: Fix doxygen warnings
2022-04-12 23:06:11 +00:00
Ryan Pavlik
e551f6a9b8
t/hand/mercury: Fix some doxygen warnings.
2022-04-12 23:06:11 +00:00
Ryan Pavlik
62ff3bad54
t/cli: Fix warning when building without slam
2022-04-12 23:06:11 +00:00
Ryan Pavlik
e8435da3e5
st/p: Silence an MSVC warning
2022-04-12 23:06:11 +00:00
Ryan Pavlik
91c94f015e
st/oxr: Fix or silence a number of MSVC warnings
2022-04-12 23:06:11 +00:00
Ryan Pavlik
ef9b15ee67
d/dummy: Silence some warnings
2022-04-12 23:06:11 +00:00
Ryan Pavlik
b999b326dc
comp/render: Silence warning
2022-04-12 23:06:11 +00:00
Ryan Pavlik
fe7cf853e9
comp/render: Guard gcc pragmas
2022-04-12 23:06:11 +00:00
Ryan Pavlik
ad1961fce7
auxiliary: Fix or disable a number of warnings
...
Both MSVC and doxygen warnings.
2022-04-12 23:06:11 +00:00
Ryan Pavlik
2b5f07c8e4
a/util: Silence warnings if using percetto in C++
2022-04-12 14:38:58 -05:00
zhibinw
172ed2e847
xrt: Do not require OPENXR permission when connect MonadoService
2022-04-12 14:20:17 +00:00
Mateo de Mayo
e41cc1eec3
d/qwerty: Fix warning for AIM pose
2022-04-12 10:20:02 -03:00
Jakob Bornecrantz
9fd8018a16
st/oxr: Improve space and view debug printing
2022-04-11 20:27:53 +01:00
Jakob Bornecrantz
eb90745f4e
st/oxr: Add pretty print functions
2022-04-11 20:27:53 +01:00
Jakob Bornecrantz
179664d6b6
st/oxr: Add pretty print integration in oxr_sink_logger
2022-04-11 20:27:53 +01:00
Jakob Bornecrantz
03df012e90
st/oxr: Add XRT_PRINTF_FORMAT to oxr_slog
2022-04-11 18:27:39 +01:00
Jakob Bornecrantz
58daee4752
st/oxr: Remove log argument to oxr_action_get_pose_input function
2022-04-11 18:27:39 +01:00
Jakob Bornecrantz
e8fb10bd82
u/pretty: Add pretty print helpers
2022-04-11 18:27:39 +01:00
Jakob Bornecrantz
cbeebe6ca4
xrt: Add XRT_GET_INPUT_ID
2022-04-09 22:07:06 +01:00
Jakob Bornecrantz
b26a602322
c/main: Fix copy-typo
2022-04-08 20:15:00 +01:00
Jakob Bornecrantz
42df7b7b21
c/main: Lock cmd pool mutex when reading back frames
2022-04-08 19:30:06 +01:00
Jakob Bornecrantz
400c3900f0
c/render: Take the pool lock to fix threading errors
2022-04-08 19:20:33 +01:00
Jakob Bornecrantz
0ee1127431
aux/vk: Rename barrier functions and introduce new variant
2022-04-08 19:17:41 +01:00
Jakob Bornecrantz
9d74e7a8c5
aux/vk: Tidy command buffer related functions
2022-04-08 17:34:30 +00:00
Jakob Bornecrantz
6e13a0a21b
aux/vk: Use correct aspect for image barrier
2022-04-08 17:34:30 +00:00
Jakob Bornecrantz
0d152381a8
c/client: Move NOOP begin/end to EGL client
2022-04-08 11:32:40 +01:00
Jakob Bornecrantz
46debec4fd
c/client: Use begin and end in layer commit
2022-04-08 11:21:06 +01:00
Jakob Bornecrantz
7996457f3e
c/client: Tidy
2022-04-08 11:21:06 +01:00
Christoph Haag
cb7855b8bd
c/client: Ensure the correct GL context is current
...
when running OpenGL functions.
Co-authored-by: James Hogan <james@albanarts.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-04-07 20:17:29 +02:00
James Hogan
7440e14fb4
aux/ogl: Add GLX API wrapper
...
Add a wrapper for the GLX API around the GLAD header.
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-04-07 02:21:34 +02:00
Christoph Haag
8dd19ea794
st/prober: Also disable autoprober drivers when qwerty is enabled
2022-04-06 23:23:55 +02:00
Christoph Haag
6b58c70f11
st/prober: remove stray ;
2022-04-06 23:23:52 +02:00
Mateo de Mayo
8468c8e0a6
t/cli: Add slambatch command
2022-04-06 11:50:17 -03:00
Mateo de Mayo
310248546d
d/euroc: Add euroc runner
2022-04-06 11:50:17 -03:00
Mateo de Mayo
4c85e3fbb3
t/slam: Refactor tracker to accept a config struct on creation
2022-04-06 11:50:17 -03:00
Mateo de Mayo
a80f88eb00
d/euroc: Refactor player to accept a config struct on creation
2022-04-06 11:50:17 -03:00
Mateo de Mayo
ff8c2d820c
d/euroc: Improve player tolerance to more datasets
...
Makes all usable euroc and tumvi datasets stream properly by fixing
some border cases that a couple of datasets had.
2022-04-06 11:50:17 -03:00
Mateo de Mayo
2a4a9aa210
t/slam: Add configuration options to tracker
...
Specifically:
- SLAM_PREDICTION_TYPE
- SLAM_CSV_PATH
2022-04-06 11:50:17 -03:00
Mateo de Mayo
7f0699dffc
d/euroc: Add configuration options to the player
...
Specifically:
- EUROC_PLAY_FROM_START
- EUROC_USE_SOURCE_TS
- EUROC_PRINT_PROGRESS
- EUROC_MAX_SPEED
- EUROC_PLAYBACK_SPEED
2022-04-06 11:50:17 -03:00
Mateo de Mayo
b6cd12a860
misc: Add gui nullcheck and initialize thread running field
2022-04-06 11:50:17 -03:00
Jakob Bornecrantz
716ba4db60
tracking: Predeclare struct instead of including cJSON in header
2022-04-06 15:38:44 +01:00
Jakob Bornecrantz
d89b8f40d9
st/oxr: Detect VK_LAYER_MND_enable_timeline_semaphore
...
And enable timeline semaphore support if it is found.
2022-04-06 12:08:48 +01:00
Jakob Bornecrantz
1a00709186
aux/vk: Add vkEnumerateDeviceLayerProperties to instance functions
2022-04-06 11:45:24 +01:00
Campbell Suter
e18ca850ba
steamvr_drv: Use the correct grip name for XRT_DEVICE_SIMPLE_CONTROLLER
...
Previously, xrt_device_get_tracked_pose was called with
XRT_INPUT_GENERIC_HEAD_POSE when getting the pose of a SIMPLE_CONTROLLER device.
When using the 'remote' driver, this lead to two warnings per frame [1] and more
importantly the device pose wasn't being read. I haven't tested this with any
other drivers, but it appears that at least the QUERTY driver likely has an
issue with this too, as it uses the input name to determine whether to return
the HMD or controller pose.
[1] ERROR [r_device_get_tracked_pose] Unknown input name
2022-04-06 00:50:40 +00:00
Ryan Pavlik
16c016c4ca
comp/render: Use a helper
2022-04-05 22:48:24 +00:00
Ryan Pavlik
8af498aa20
a/vk: Fix typo
2022-04-05 22:48:24 +00:00
Ryan Pavlik
7952773908
a/vk: Expose get_device_memory_handle as vk_get_native_handle_from_device_memory
2022-04-05 22:48:24 +00:00
Ryan Pavlik
9463de7e6f
xrt: Undef Status and Bool in vulkan include if we think the xlib header got included.
2022-04-05 23:32:07 +01:00
Jakob Bornecrantz
48fd3e626c
c/client: Tidy VK compositor
2022-04-05 23:22:26 +01:00
Jakob Bornecrantz
3bff3827d9
c/client: Remove acquire_release_fence completely
...
The barriers are a completely GPU affair no need to syncronize with the host.
2022-04-05 23:22:26 +01:00
Jakob Bornecrantz
e7713bf1e4
c/multi: Be slightly smarter about late frames
2022-04-05 23:22:26 +01:00
Jakob Bornecrantz
cf413a445f
c/multi: Add per client thread that waits for sync objects
2022-04-05 23:22:26 +01:00
Jakob Bornecrantz
0595070132
u/pacing: Split draw into draw and wait, improve pipelining
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
47649f56b6
u/pacing: Track when the app wants the frame to be displayed
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
8e8a0b38c6
u/pacing: Add gpu done time tracking to app pacer
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
04b9602dd1
u/pacing: Allow more then two frames to be alive at the same time
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
f4b75b3561
u/trace_marker: Add wait pacing track
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
e77094892f
st/oxr: Add debug flag to force timeline semaphores on
2022-04-05 22:01:17 +00:00
Jakob Bornecrantz
cfb8d36b46
c/render: Rename files
2022-04-05 22:45:45 +01:00
Jakob Bornecrantz
ee09070608
c/render: Rename all functions and structs with new prefix
2022-04-05 22:45:12 +01:00
Jakob Bornecrantz
d93c2dc4d8
c/render: Remove unused comp_rendering_compute_data
2022-04-05 22:45:12 +01:00
Jakob Bornecrantz
2f24353556
c/render: Remove main/comp_compositor include
2022-04-05 22:45:10 +01:00
Jakob Bornecrantz
c317a27a1d
aux/vk: Remove setting of format on out struct
2022-04-04 16:12:08 +00:00
Jakob Bornecrantz
1c67113e20
aux/vk: Tidy vk_image_allocator
2022-04-04 16:12:08 +00:00
Jakob Bornecrantz
15da4636f8
aux/vk: Use VK_CSCI_FORMATS helper for swapchain image flags
2022-04-01 19:53:02 +01:00
Jakob Bornecrantz
aaa2d4e8e6
aux/vk: Move compositor image format list here
2022-04-01 19:44:07 +01:00
Jakob Bornecrantz
d31232c794
aux/vk: Move vk_insert_image_memory_barrier declaration (NFC)
2022-04-01 18:54:18 +01:00
Jakob Bornecrantz
dea7bc847e
c/util: Make COMP_VULKAN_FORMATS differentiate between depth-stencil, depth and stencil formats
2022-04-01 18:53:47 +01:00
Christoph Haag
5aa7ef25b8
c/util: Remove old format checking code
...
It's not the compositors job to check the format.
2022-04-01 18:53:47 +01:00
Christoph Haag
322ce27163
c/util: Print warning when attempting to create protected content swapchain
2022-04-01 18:53:47 +01:00
Christoph Haag
22c7fea639
ipc: Amend swapchain create error for unsupported swapchains
2022-04-01 18:10:22 +01:00
Jakob Bornecrantz
4f0b425da7
c/client: Tidy error messages in GL compositor
2022-03-31 01:14:04 +01:00
Jakob Bornecrantz
d53659a476
c/client: Add a littel bit of tracing to GL compositor
2022-03-31 01:09:25 +01:00
Jakob Bornecrantz
38e7a0a1e6
c/client: Format format list
2022-03-31 00:45:51 +01:00
Jakob Bornecrantz
4fe8e89be9
c/client: Add new formats to GL
2022-03-31 00:43:53 +01:00
Christoph Haag
1eeb870a2d
ipc: Add float to supported types in proto
2022-03-30 22:35:33 +02:00
Jakob Bornecrantz
4f1dfa7ae4
aux/vk: Refactor out some printing functions
2022-03-30 20:14:38 +01:00
Jakob Bornecrantz
2f73c7569a
aux/vk: Refactor out init functions
2022-03-30 20:08:35 +01:00
Ryan Pavlik
6d621b07c5
st/oxr: Add missing ifdef fixing broken build if Vulkan missing
2022-03-30 09:26:22 -05:00
Christoph Haag
068bf05057
st/oxr: Fix pure_relation_from_space
...
Fixes in particular the space transform submitted in composition layers
in local reference space.
Consider a pose given with a pose offset to an XrSpace as its origin.
To construct the Pose in global space, simply add up XrSpace pose in
global space, XrSpace pose offset and the given pose.
Given pose with a
pose offset to XrSpace as origin
/|\ /|\
/ |
/ |
XrSpace pose offset |
/|\ |
| |
| |
XrSpace pose |
in global space |
/|\ |
\ |
\ |
Global Space origin
2022-03-30 02:03:18 +02:00
Jakob Bornecrantz
922fdff62d
c/main: Use new format checking helpers
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
c3eb8cd014
c/util: s/colour/color/g
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
08e025522f
c/util: Add missing AHardwareBuffer formats
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
658c67b0fc
c/util: Add vulkan format checking code
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
f54894ee0d
aux/vk: Refactor out external handle type for compositor swapchain image
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
65ced47143
aux/vk: Add more formats to vk_format_string
2022-03-29 16:26:34 +01:00
Jakob Bornecrantz
8cfe941c01
aux/vk: Rename vk_[color_]format_string
2022-03-29 16:26:34 +01:00
Ryan Pavlik
96314d4f76
meson: Define XRT_HAVE_HIDAPI if using it
2022-03-29 09:31:49 -05:00
Jakob Bornecrantz
b4f2bc88c8
cmake: Introduce XRT_HAVE_HIDAPI to make HIDAPI controllable
2022-03-28 22:35:01 +00:00
Christoph Haag
5d50be0164
aux/vk: Always use dedicated allocation on desktop
...
Fixes CTS on nvidia.
Example code given by the driver devs in the nvidia forums was
VkBool32 dedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE) ||
(memDedicatedReq.prefersDedicatedAllocation != VK_FALSE);
However on GTX 1080, nvidia 470.103 with
./conformance_cli "Timed Pipelined Frame Submission" -G Vulkan2
we are to create a VkImage with
DEBUG [create_image] create_image: Use dedicated allocation: 0 (preferred: 0, required: 0)
doing so causes the VkFence wait in vk_submit_cmd_buffer to fail randomly with
either VK_TIMEOUT or VK_ERROR_DEVICE_LOST.
On AMD radv we are told to use dedicated allocation:
DEBUG [create_image] create_image: Use dedicated allocation: 1 (preferred: 1, required: 1)
2022-03-28 23:16:05 +02:00
Christoph Haag
18376007f9
st/oxr: oxr_space type is now an enum
...
v2: Get rid of ref_space_type
2022-03-25 18:47:46 +00:00
Christoph Haag
543fbc38e2
st/oxr: Allow locating views in all spaces
2022-03-25 18:47:46 +00:00
Christoph Haag
6c9f1f4083
t/hand: Add meson build for mercury
2022-03-25 18:33:04 +00:00
Christoph Haag
02e5e7be4a
st/oxr: Fix getting velocity next struct in xrLocateSpace
...
fixes 85a2abae
2022-03-25 15:36:14 +01:00
Moses Turner
870a2ce704
d/ht: support DepthAI cameras and Mercury hand tracking
2022-03-23 18:30:02 -05:00
Moses Turner
00be5d0551
Add Mercury grayscale hand tracking!
2022-03-23 18:30:02 -05:00
Antonio Ospite
28b53689f4
c/render: add comp_buffer_init_exportable helper to create exportable buffers
...
Some downstream user might want to use the very handy comp_buffer_init()
helper to create buffers, but the latter does not cover the case when
the buffer needs to be exportable for API interoperability.
Add a new comp_buffer_init_exportable() helper to cover that case, this
is done in a way that is not particularly invasive for existing users of
comp_buffer_init(), as all the logic about the exportability is handled
by the new function.
2022-03-23 21:38:22 +00:00
Moses Turner
9ea9d0babf
t/hand: Correct old_rgb namespace
2022-03-23 20:56:15 +00:00
Moses Turner
912cc22c20
d/dai: Get ready to support fisheye cameras
...
Remove the #if 0 after the next depthai-core release.
2022-03-23 20:56:15 +00:00
Moses Turner
0a843eb20f
d/dai: Translation is in cm but in m in Monado
2022-03-23 20:56:15 +00:00
Moses Turner
9417fe8d7f
a/tracking: Support different numbers of calib parameters
2022-03-23 20:56:15 +00:00
Jakob Bornecrantz
83c8b1da86
u/sink: Make u_sink_create_format_converter support L8
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-03-23 20:56:15 +00:00
Moses Turner
e817a18cfd
u/worker: Add #pragma once
2022-03-23 20:56:15 +00:00
Ryan Pavlik
8bfb4b3d09
cmake: Update to handle newer Percetto cmake build details
2022-03-23 11:22:10 -05:00
Jakob Bornecrantz
074a0afc32
c/vk: Make it possible to request higher Vulkan version
2022-03-22 15:19:48 +00:00
Jakob Bornecrantz
8d660b6994
cmake: Make it possible to select SPIR-V version to target
2022-03-22 15:19:48 +00:00
Christoph Haag
6fdd8ab93a
aux/config_json: Only check version for camera tracking config
...
Only the camera tracking config writes and uses the version field.
Unfortunately the tracking override config is written into the same json
object while not making use of the version field.
2022-03-22 12:35:01 +00:00
korejan
d43c7ffa71
android: Support for using device's set display refresh rate
...
* Adds support for querying the device's currently set display refresh rate to
be used for android driver on creation. Allowing for devices which support
selecting other refresh rate modes beyond 60hz.
* Changes hardcoded sensor polling rate to now match refresh queried from the
device.
2022-03-22 12:33:30 +00:00
Jakob Bornecrantz
e2e65aa241
u/logging: Fix va_copy usage
2022-03-21 22:19:30 +00:00
Jakob Bornecrantz
4e4246866b
st/gui: Use unique IDs instead of child windows
2022-03-21 13:14:19 +00:00
Moses Turner
b3872e925f
Switch real-time users of u_sink_queue to u_sink_simple_queue
2022-03-19 14:28:09 +00:00
Moses Turner
09da6e09dc
u/sink: Add u_sink_simple_queue
2022-03-19 14:28:09 +00:00
Moses Turner
662b72e2f6
u/sink: Tiny refactor for queue
2022-03-19 14:28:09 +00:00
Connor Smith
703baa94fe
Make app pacing more robust to variable composition->display times.
...
If the last returned display time shifts backwards slightly with respect to the
last sampled display time from the compositor, the next predicted display time
will not move forward by one frame. Adding half the display period to the
comparison makes the pacing robust to this case.
2022-03-19 00:57:41 +00:00
Jakob Bornecrantz
170fe0e5d9
aux/vk: Refactor out semaphore and native creation into a helper
2022-03-19 00:41:29 +00:00
Moses Turner
b6e5c296f5
comp: Factor frame-timing helper out of comp_compositor
...
So that we can use it for readback and anything else
2022-03-18 19:00:28 -05:00
Moses Turner
8fe2a86886
st/gui: Add SW Ultrafast and SW Veryfast pipelines
...
Yes, I really need those. SW Fast is still the default.
2022-03-18 18:59:37 -05:00
Jakob Bornecrantz
29acdba23f
aux/vk: Tidy get/import functions for native handles (NFC)
2022-03-18 23:20:20 +00:00
Jakob Bornecrantz
77ba132452
u/logging: Add u_log_set_sink implementation
2022-03-17 15:37:09 +00:00
Jakob Bornecrantz
6f10a20ce0
d/multi: Use xrt_device_get_tracked_pose function
2022-03-17 02:08:33 +00:00
Ryan Pavlik
81eaf5c28c
gradle: update NDK and build tools versions to be consistent.
2022-03-16 20:29:50 +00:00
Jakob Bornecrantz
71d9887b5b
xrt: Tidy xrt_instance.h (NFC)
2022-03-16 15:46:14 +00:00
Moses Turner
d2366b31dc
d/multi: Correctly override the head pose in get_view_poses
2022-03-15 20:13:10 -05:00
Moses Turner
e4805c07e2
d/rs: Tracking origin probably should have an identity pose
2022-03-15 20:13:10 -05:00
utzcoz
b2ccc8419c
t/oxr_android: Move import under license for openxr_android build.gradle
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz
45f1de0c53
t/oxr_android: Replace DisplayOverOtherAppsStatusFragment instead of adding
...
If we click button to enable DisplayOverOtherApps for monado, use
back button to com back to Launcher and hot-start monado app, the
disabled status fragment is not removed, and enabled status fraqgment is
added top on disabled status fragment, that causes text overlap.
This CL will use FragmentTransaction#replace instead of
FragmentTransaction#add to ensure there is only one
DisplayOverOtherAppsStatusFragment, and new status will replace old
status without any overlap.
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz
b6e8801ea4
t/oxr_android: Replace full-name qualified with importing for build.gradle
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
Jakob Bornecrantz
b2d2cf3ade
st/oxr: Tidy oxr_space_locate
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
587d26bb45
st/oxr: Only access space velocity through chain helper
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
85a2abaec6
st/oxr: Refactor pose and fov copies into helpers
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
1fb5656862
st/oxr: Improve logging in xrLocateSpace
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
4fc02cf60e
st/oxr: Ensure velocities flags and values are zeroed
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
798932fbf2
st/oxr: Set position to identity and zero velocities if the spaces are locatable
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
291e795728
st/oxr: Add XRT_CHECK_RESULT to some space functions
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
e89e3d5276
aux/vk: Add XRT_CHECK_RETURN to sync functions
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
57d1394941
xrt: Add XRT_CHECK_RESULT define
2022-03-15 00:16:17 +00:00
Mateo de Mayo
2bb0c5cda5
t/slam: Implement CSV writers for trajectories and timing info
...
This CSV files can be used for offline analysis.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
c9f7184d64
t/slam: Implement timing and trajectory error UI graphs
2022-03-14 23:42:13 +00:00
Mateo de Mayo
af2dde11c3
misc: Fix some release build warnings and minor changes
...
- Add CMakeUserPresets.json to .gitignore
- Fix DASSERTs warning for release builds
- Do not use one euro filter with invalid poses
- Other NFC style changes
2022-03-14 23:42:13 +00:00
Mateo de Mayo
e889ee7562
d/euroc: Implement ground truth trajectory load
2022-03-14 23:42:13 +00:00
Mateo de Mayo
71694b80fd
d/euroc: Refactor player to stream samples more like a real device
...
Splits the image and IMU producers into their own threads.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
1dbda3d8c8
t/euroc: Tie CSV file opening to recorder lifecycle
...
This is a better way of handling writing small but high frequency data
like IMU samples so as to avoid continuous opening and closing of a file.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
147d4c5d26
xrt: Add groundtruth sink to xrt_slam_sinks
2022-03-14 23:42:13 +00:00
Mateo de Mayo
88bd7a669d
xrt: Add pose sink interface
2022-03-14 23:42:13 +00:00
Jakob Bornecrantz
c766411b50
c/client: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
ef373662f2
ipc: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
ca7526a3e2
c/multi: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
8a9a8aeeba
c/util: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
851224123e
xrt: Add compositor semaphore interface
2022-03-14 19:52:48 +00:00
Jakob Bornecrantz
37354b953c
aux/vk: Add more timeline semaphore functions
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
16bae922e2
c/main: Enable timeline semaphores where available
2022-03-14 18:58:35 +00:00
Christoph Haag
dbb21715b0
st/oxr: Enable timeline semaphores where available
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-14 18:58:35 +00:00
Christoph Haag
02c456c192
st/oxr: Port XR_KHR_vulkan_enable2 init to u_string_list
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
f4f2196e34
xrt: Add a way to say that timeline semaphores have been enabled
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
d0f6ea10bc
u/worker: Fix some late feedback
2022-03-14 18:57:35 +00:00
Jakob Bornecrantz
84069cc4f0
u/logging: Add logging sink to intercept log messages
2022-03-14 17:21:20 +00:00
Antonio Ospite
6ca4522de0
d/ns: really silence -Wunused-result warning
...
A previous change didn't really ignore the return value of fread() and
a warning was still emitted:
-----------------------------------------------------------------------
[103/1571] Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
../src/xrt/drivers/north_star/ns_hmd.c:512:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
512 | (void)fread(json, 1, file_size, config_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------
Check the return value of fread to fix the warning for good, and declare
the return value of ftell as long as stated in the man page.
2022-03-14 14:06:02 +00:00
Antonio Ospite
37852ffa65
xrt: fix -Wreturn-type warnings
...
Add some missing returns pointed out by -Wreturn-type:
-----------------------------------------------------------------------
[75/1571] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_config_json.c.o
.../src/xrt/auxiliary/util/u_config_json.c: In function ‘u_gui_state_scene_to_string’:
.../src/xrt/auxiliary/util/u_config_json.c:524:1: warning: control reaches end of non-void function [-Wreturn-type]
524 | }
| ^
-----------------------------------------------------------------------
2022-03-14 14:06:02 +00:00
Jakob Bornecrantz
771aeda784
u/worker: Add task worker helper
2022-03-11 15:29:16 +00:00
Jakob Bornecrantz
76d8944765
os/threading: Add os_cond wrapper
2022-03-11 15:29:16 +00:00
Christoph Haag
7894039962
st/oxr: return defined result early on fail in xrLocateViews
2022-03-11 00:38:35 +01:00
Christoph Haag
4501088312
st/oxr: Don't return invalid pose after local space set up
2022-03-11 00:23:12 +01:00
Jakob Bornecrantz
e1b0f55a87
d/ns: Always check to close file on error path
2022-03-09 22:34:37 +00:00
Antonio Ospite
a4167ee500
d/ns: silence -Wunused-result warning, close config_file in error paths
...
On some systems fread() is declared with attribute warn_unused_result
and this results in a build warning:
-----------------------------------------------------------------------
Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
.../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
.../src/xrt/drivers/north_star/ns_hmd.c:512:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
512 | fread(json, 1, file_size, config_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------
Explicitly ignore the return value of that fread() to silence the
warning.
And while at it also close config_file in some error paths between
fopen() and fclose() which where leaking the file pointer when jumping
to the parse_error label.
2022-03-09 16:10:43 +01:00
Antonio Ospite
beda8f35b2
xrt: fix -Wmissing-field-initializers warning in comp_window_wayland.c
...
Newer wayland protocols have a new filed in xdg_toplevel_listener which
is not initialized:
-----------------------------------------------------------------------
[215/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_window_wayland.c.o
.../src/xrt/compositor/main/comp_window_wayland.c:182:1: warning: missing field 'configure_bounds' initializer [-Wmissing-field-initializers]
};
^
1 warning generated.
-----------------------------------------------------------------------
Detect the version when this is needed and initialize the field to
silence the warning.
2022-03-09 14:53:06 +01:00
Antonio Ospite
e8c9d8f575
xrt: fix -Wunused-variable warnings
...
Some variables are only used in asserts, so they may be unused
depending on the build type:
-----------------------------------------------------------------------
[68/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_sink_combiner.c.o
.../src/xrt/auxiliary/util/u_sink_combiner.c:188:11: warning: unused variable 'diff_ns' [-Wunused-variable]
int64_t diff_ns = frames[0]->timestamp - frames[1]->timestamp;
^
1 warning generated.
[205/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_renderer.c.o
.../src/xrt/compositor/main/comp_renderer.c:872:17: warning: unused variable 'layer_count' [-Wunused-variable]
const uint32_t layer_count = c->base.slot.layer_count;
^
1 warning generated.
-----------------------------------------------------------------------
Mark them as XRT_MAYBE_UNUSED to fix the build warnings.
2022-03-09 14:53:06 +01:00
Antonio Ospite
14a1ced0e4
xrt: fix -Wreturn-type warnings
...
Add some missing returns pointed out by -Wreturn-type:
-----------------------------------------------------------------------
[32/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_gstreamer.dir/gstreamer/gst_sink.c.o
.../src/xrt/auxiliary/gstreamer/gst_sink.c:53:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
1 warning generated.
[84/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_vk.dir/vk/vk_compositor_flags.c.o
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:117:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:146:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
2 warnings generated.
-----------------------------------------------------------------------
For the function returning VkImageAspectFlags return a literal 0 because
the enum values VK_IMAGE_ASPECT_NONE or VK_IMAGE_ASPECT_NONE_KHR may not
always be defined.
2022-03-09 14:52:29 +01:00
Jakob Bornecrantz
17e9e06de7
aux/vk: Detect external semaphore support
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
c0bd8ce3ba
aux/vk: Let vk_init_from_given enable timeline semaphores
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
3c8378631f
aux/vk: Properly set log_level in given vk_bundles
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
3044794f93
aux/vk: Rename timeline_semaphores to features.timeline_semaphore
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
8bda87c855
xrt: Correct xrt_compositor_fence::wait docu
2022-03-08 21:04:56 +00:00
Moses Turner
30b779e515
t/hand: Add ht_sync
2022-03-08 20:44:25 +00:00
Moses Turner
012c86352e
t/hand: Add async wrapper around sync helper
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-08 20:44:18 +00:00
Jakob Bornecrantz
60cd630271
tracking: Add new hand tracking interface header
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-03-08 20:38:58 +00:00
Moses Turner
7235b6a45a
u/sink: Add some comments
2022-03-08 20:38:58 +00:00
Moses Turner
37f0c901d2
u/sink: Add sink to convert from stereo to two SLAM frames
2022-03-08 20:38:58 +00:00
Moses Turner
a9db1a6f6e
d/ht_crtl_emu: Free driver
2022-03-08 13:52:23 -06:00
Jakob Bornecrantz
7b0cee5a85
u/trace_marker: Add new tracking category
2022-03-08 10:46:48 +00:00
Jakob Bornecrantz
d06bb04357
u/trace_marker: Tidy
2022-03-08 10:46:47 +00:00
Jakob Bornecrantz
0ebb1c3be9
t/psmv: Make TrackerPSMV be standard layout
2022-03-07 16:48:28 +00:00
zhibinw
41db1e5e12
st/oxr: Increase active_wait_frames count after previous xrBeginFrame has been called
2022-03-07 16:35:58 +00:00
Christoph Haag
7c55c51408
st/gui: Add warning when v4l driver is disabled on linux
...
"Failed to open camera!" is a very uninformative error
2022-03-07 13:53:59 +00:00
Jakob Bornecrantz
bf1edf96eb
d/dai: Add OV7251 sensor info
2022-03-04 14:04:13 +00:00
Christoph Haag
61024ab9a1
st/oxr: Use correct timestamp for layer space transform
2022-03-03 23:34:31 +01:00
Christoph Haag
76c18bda47
st/oxr: Fix layer poses sent to the compositor
2022-03-03 17:03:36 +01:00
Christoph Haag
b863aa2629
st/oxr: don't run the timestamp conversion in a loop
2022-03-03 01:42:35 +01:00
Christoph Haag
075fde3613
st/oxr: propagate a few more space handling return codes
2022-03-03 01:42:02 +01:00
Christoph Haag
58c9679087
st/oxr: remove another unused function
2022-03-03 01:41:25 +01:00
Christoph Haag
ed0bd9c244
st/oxr: rework spaces
2022-03-02 17:40:00 +00:00
Christoph Haag
f633680506
st/oxr: Fix local[e]_ref_space typo
2022-03-02 17:40:00 +00:00
Antonio Ospite
031a53d6fd
c/render: assign comp_buffer.size when creating a buffer
...
The size field in comp_buffer was never assigned, and also never used as
all comp_buffer users rely on the allocation_size field.
Use the size field to store the size originally requested when creating
the buffer which could be different from the value returned in the
allocation_size field.
Having both sizes available allows a user to check if allocation_size is
in fact different from the requested size.
2022-03-02 16:41:00 +00:00
Jakob Bornecrantz
eca2e2535f
c/util: Return timeout on fence timeout
2022-03-02 11:01:07 +00:00
Jakob Bornecrantz
772b6256d6
c/multi: Handle fence timeouts
2022-03-02 11:01:07 +00:00
Jakob Bornecrantz
7e8f4f46c6
xrt: Add XRT_TIMEOUT to xrt_result_t
2022-03-01 20:59:35 +00:00
Jakob Bornecrantz
e13cfd2fec
c/shader: Fix color values in compute clear shader
2022-03-01 13:58:07 +00:00
Moses Turner
ffee6c360b
u/sink: Don't sleep when combining frames; we're not testing
...
Where's the dunce cap?
2022-03-01 01:14:57 -06:00
Jakob Bornecrantz
8229905233
c/client: Set default logging level for vk_bundle in vk compositor
2022-02-25 17:11:38 -06:00
Jakob Bornecrantz
f6788f5548
c/client: Create and pass down sync_handles to native compositor
2022-02-25 17:11:38 -06:00
Jakob Bornecrantz
ac752a651e
c/client: Add tracing to Vulkan client compositor
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
f5c77dfb32
aux/vk: Add vk_create_and_submit_fence_native
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
78f3340bf5
aux/vk: Check which fence types support import and export
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
ebe895bdb8
aux/vk: Add vkGetPhysicalDeviceExternal[Buffer|Fence|Semaphore]PropertiesKHR (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
543f28abf9
aux/vk: Add vkGetFenceWin32HandleKHR (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
36025886ee
aux/vk: Refactor our sync primitives (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
d6e0c45855
aux/vk: Order files in build scripts (NFC)
2022-02-24 17:51:59 +00:00
Connor Smith
e1c180240e
Create VkQueue with queueIndex from XrGraphicsBindingVulkanKHR.
...
Per XR_KHR_vulkan_enable: "the OpenXR runtime must interpret the image
as being owned by the VkQueue specified in XrGraphicsBindingVulkanKHR."
(https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_KHR_vulkan_enable )
2022-02-23 17:45:46 -05:00
Henry Che
add7b5723f
Update illixr_device.cpp: There is no function called get_view_pose in xrt_device.h.
2022-02-23 17:13:38 +00:00
Mateo de Mayo
cee1571625
d/euroc: Fix euroc player skip functionality
2022-02-22 22:56:07 +00:00
Mateo de Mayo
a0021dc7d0
t/euroc: Fix memory leak in euroc recorder
...
This was the reason the recorder was eating so much RAM.
SSD write speeds should be enough for common use cases to keep RAM stable.
2022-02-22 22:56:07 +00:00
Ryan Pavlik
7b3a2e7c1a
a/math: C wrapper for the float low-pass filter too.
2022-02-22 16:44:44 -06:00
Ryan Pavlik
cf07791e93
a/math: Add a C wrapper for the integer low-pass filter.
2022-02-22 16:42:53 -06:00
Ryan Pavlik
a0e2df4cf0
tracking/math: Move the generic low pass filters to a/math
2022-02-22 16:42:53 -06:00
Jakob Bornecrantz
dfb1b8d469
c/render: Do not assume nullDescriptor is available
2022-02-22 21:49:06 +00:00
Jakob Bornecrantz
b1b6978069
c/main: Pass in correct pipeline stage to wait on
2022-02-22 21:49:06 +00:00
Ryan Pavlik
4156cabedf
a/tracking: Add an integer version of the low-pass filter.
2022-02-22 09:58:19 -06:00
Ryan Pavlik
928254ffed
a/math: Add a rational number struct template.
2022-02-22 09:58:19 -06:00
Mateo de Mayo
4b94d83c11
a/math: Fix one euro implementations not dividing by dt
...
The dy name was kept. It can now be thought of as "[d]erivative of [y]"
instead of the previous "change of y". Also, the beta parameters of the
one-euro users were adjusted by approximately multiplying them by 0.016
to compensate.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
17dee2bb68
t/slam: Cache tracked pose timestamp
...
This is mainly to avoid problems with filters that calculate
their dt from previous calls. In particular the one euro filter fix
that gets implemented in the next commit would crash because of dt=0.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
b04c26e522
a/math: Expose quat_{exp, ln} and test them
2022-02-22 13:34:45 +00:00
nima01
be3546eb92
d/wmr: Reverb G1: Avoid camera buffer related hangs
2022-02-20 14:57:36 +00:00
Moses Turner
8972778e00
a/vk: Remove superfluous format assignment in the readback pool
...
This also caused a segfault when the readback pool filled up.
2022-02-20 00:51:26 -06:00
Jakob Bornecrantz
4ba68a7008
st/oxr: Remove direct access or mention of hmd distortion fov
...
The overrides didn't do anything unless Monado was compiled for
in-process, and even then the device might return a differnt fov.
The todo was for a driver and shouldn't be in the state tracker.
2022-02-19 13:45:26 +00:00
Jakob Bornecrantz
ab5e863116
ipc: Do not copy fov in distortion information
...
No other distortion info is passed along
2022-02-19 13:22:25 +00:00
Christoph Haag
49b81e219f
aux/util: Move fov from u_device_simple_info::views to top level
2022-02-19 13:04:32 +00:00
Christoph Haag
996a5d3e9a
xrt: Move fov from xrt_view to xrt_hmd_parts::distortion
2022-02-19 13:04:32 +00:00
Christoph Haag
5e1805f04b
build: Add sample driver to meson build
2022-02-19 13:04:32 +00:00
Moses Turner
86a1ba32e5
c/main: Add readback to gui_window_record
2022-02-18 20:26:27 -06:00
Moses Turner
2e8f572a4d
aux/vk: Add util to read VkImages back to a pool of xrt_frames
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-02-18 20:26:27 -06:00
Moses Turner
43fb248271
c/main: Allow framebuffers to be transfer sources
2022-02-18 20:26:27 -06:00
Moses Turner
8f792c9165
u/sink: Add u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8
2022-02-18 20:06:20 -06:00
Moses Turner
0dcc73d5cf
st/gui: Support RGBA, unusual strides, and add higher bitrate option
2022-02-18 20:06:20 -06:00
Moses Turner
433ae0d9c6
aux/gst: Support RGBA and images with unusual row strides
2022-02-18 20:06:20 -06:00
Moses Turner
727c087366
aux/vk: Add helper for adding image memory barriers
2022-02-18 20:06:20 -06:00
Moses Turner
5a2088ee3e
aux/vk: Add vkCmdBlitImage to vk_helpers
2022-02-18 20:06:20 -06:00
Moses Turner
3a7569a7b0
u/trace_marker: Add COMP_TRACE_IDENT
2022-02-18 20:06:20 -06:00
Moses Turner
00984aa021
aux/vk: Add advanced create image function
2022-02-18 20:06:20 -06:00
Moses Turner
d8c33cd22d
t/oxr: Come on, we can be more sparkly than that
2022-02-18 20:06:20 -06:00
Ryan Pavlik
4ecbcc2d27
d/wmr: Fix doxygen warning
2022-02-19 01:15:36 +00:00
Ryan Pavlik
80ab7243ca
st/oxr: Additional doxygen fix
2022-02-19 01:15:35 +00:00
Ryan Pavlik
de6e237a9f
xrt: Additional doxygen fix.
2022-02-19 01:15:33 +00:00
Christoph Haag
5b1d15f143
d/survive: Change license to BSL, as originally intended
2022-02-19 00:55:54 +00:00
Christoph Haag
b2e7fc0f11
d/survive: Add pragma once and c++ compatibility
2022-02-19 00:55:54 +00:00
Christoph Haag
bab6858eb8
d/multi: Change license to BSL, as originally intended
2022-02-19 00:55:54 +00:00
Christoph Haag
43f0bb4343
xrt: Fix tracking override docs
2022-02-19 00:43:30 +00:00
Jakob Bornecrantz
ba0f7cba8b
aux/vk: More comments
2022-02-19 00:34:01 +00:00
Jakob Bornecrantz
5222dfd728
aux/vk: Refactor and document various compositor swapchain image flags
...
This also fixes two errors:
* VK_IMAGE_USAGE_SAMPLED_BIT was not always added to depth formats.
* VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT was added to image
views for sampling, where the spec only allows one of them.
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
05771e7b9e
aux/vk: Rename compositor swapchain image helper functions (NFC)
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
ad5a057737
aux/vk: Refactor out swapchain functions to own file (NFC)
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
4539b74e56
aux/vk: Re-org one function (NFC)
2022-02-18 21:32:05 +00:00
Ryan Pavlik
9a440d9bce
st/oxr: Fix doxygen warning
2022-02-18 21:22:32 +00:00
Ryan Pavlik
1eb6aecdc0
xrt: Improve docs and fix doxygen warnings
2022-02-18 21:22:32 +00:00
Ryan Pavlik
010599baa6
comp/main: Fix debug typo
2022-02-18 21:22:32 +00:00
Jakob Bornecrantz
20c7e30304
aux/vk: Remove unnecessary breaks
2022-02-18 18:29:28 +00:00
Jakob Bornecrantz
0126819f21
aux/vk: Use aspect mask that covers both depth and stencil for mixed formats
2022-02-18 18:29:28 +00:00
Christoph Haag
c162ff655b
st/oxr: add renderdoc API to xrBeginFrame/xrEndFrame
...
Usually renderdoc captures frames by hooking the present functions to
recognize when an application is finished rendering a frame.
OpenXR applications might not present to a window. Therefore use the
renderdoc API to capture application frames between xrBeginFrame and
and xrEndFrame.
This allows renderdoc to capture application frames without the need
to modify the application.
2022-02-18 13:44:15 +01:00
Jakob Bornecrantz
9a884931bb
c/client: Use correct VkImageAspectFlags in barriers
2022-02-17 19:29:57 +00:00
Christoph Haag
fc77db6eca
comp/main: Fix debug print of available direct mode modes
...
fixes 3dfec5f1ab
2022-02-17 17:22:18 +01:00
Nova
f2ec7a7dd5
d/survive: Add SURVIVE_DISABLE_HAND_EMULATION env variable
2022-02-17 13:20:59 +00:00
Jakob Bornecrantz
7f33a55c77
c/client: Wait on Vulkan clients to complete rendering
2022-02-17 00:39:53 +00:00
Christoph Haag
9cd3b47f94
st/oxr: Rework composition of head relation for xrLocateViews
2022-02-16 23:15:28 +00:00
Jakob Bornecrantz
9b656cde77
xrt: Remove xrt_device::get_view_pose
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:24 +00:00
Christoph Haag
b81ab3f09a
st/steamvr_drv: Use xrt_device_get_view_poses
2022-02-16 23:15:21 +00:00
Jakob Bornecrantz
49f95164a7
st/oxr: Use xrt_device_get_view_poses
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:16 +00:00
Jakob Bornecrantz
3eb921b899
c/main: Use xrt_device_get_view_poses
2022-02-16 23:15:14 +00:00
Jakob Bornecrantz
0511b319ba
drivers: Implement xrt_device::get_view_poses
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:08 +00:00
Jakob Bornecrantz
223aa515fd
u/device: Add u_device_get_view_poses helper
2022-02-16 23:15:07 +00:00
Jakob Bornecrantz
be4f4969c0
ipc: Add support for xrt_device::get_view_poses
2022-02-16 23:15:06 +00:00
Jakob Bornecrantz
780f1763e3
xrt: Add xrt_device::get_view_poses function
2022-02-16 23:15:02 +00:00
Jakob Bornecrantz
b322ff689b
d/wmr: Add trace markers to some common functions
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
4aa2ae985c
d/wmr: Refactor hololens code a bit
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
8f5a7b88c7
d/wmr: Tidy todos
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
47ae7c19c3
u/trace_marker: Add driver category
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
a998987efd
c/main: Refactor fast path detection
2022-02-16 20:25:41 +00:00
Jakob Bornecrantz
91a2a5d29d
c/client: Set correct optimal layout for client swapchains
2022-02-16 18:20:44 +00:00
Jakob Bornecrantz
7791a04069
d/rs: Add math include to fix build and org includes
...
Fixes build on Ubuntu 21.10
2022-02-14 14:34:06 +00:00
Mateo de Mayo
83fceec521
t/slam: Add filtering methods to the tracker
...
Adds three toggleable filters:
- Moving average
- Exponential smoothing
- One euro filter
2022-02-14 10:22:05 -03:00
Mateo de Mayo
b90d60a9ce
t/slam: Add prediction types that integrate gyro and accel samples
2022-02-14 10:22:05 -03:00
Mateo de Mayo
3cba6dc700
d/rs: Add exposure controls to the debug UI
2022-02-14 10:22:05 -03:00
Mateo de Mayo
4d491c8c8e
misc: Fix bad matrix usage on calibration save and fields doc
2022-02-14 10:22:05 -03:00
Mateo de Mayo
8820a3e99c
a/math: Add m_filter_euro_quat
2022-02-14 10:22:05 -03:00
Mateo de Mayo
06597a0655
a/math: Add math_quat_{len, unrotate}
2022-02-14 10:22:05 -03:00
Mateo de Mayo
cf5574a4e9
m/space: Add m_space_relation_interpolate
2022-02-14 10:22:05 -03:00
Christoph Haag
dd81085a04
ipc/server: print monado version in info log on startup
2022-02-14 00:26:09 +01:00
nima01
41edf12a0d
d/wmr: Debug GUI support for enabling/disabling HMD screen and displaying IPD and proximity values
2022-02-12 03:45:16 +00:00
Moses Turner
e553d1993b
u/sink: refactor u_sink_combiner
...
So you can use the enforcing-genlock bit elsewhere
2022-02-10 10:55:06 -06:00
Moses Turner
7ee8a7dba0
d/dai: add stereo-RGB pipeline behind ifdef, waiting for Luxonis to upstream multicam support
2022-02-10 10:55:06 -06:00
Ryan Pavlik
c30acbf9f8
d/ht: Forward declarations and IWYU
2022-02-08 17:27:42 -06:00
Ryan Pavlik
5b8c869b56
d/ht: Fix header and usages of helpers
2022-02-08 17:21:46 -06:00
Ryan Pavlik
acc9683e0f
a/util: Fix copy/move assign of history buf
2022-02-08 17:08:00 -06:00
Ryan Pavlik
8c7af28904
d/ht: Fix build issues against updated history structure.
2022-02-08 16:58:24 -06:00
Ryan Pavlik
a904914e6e
a/util: Wrap "just enough" of the ring buffer stuff for generic use from C.
2022-02-08 13:18:15 -06:00
Ryan Pavlik
3b0252bda8
a/util: Don't make the RingBufferHelper compile-depend on max size.
2022-02-08 13:18:05 -06:00
Ryan Pavlik
c079eabfdf
a/util: iterator cleanups to reduce diffs, using a self typedef.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
6908486022
a/util: Add age clamping to history buffer.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
603117a1d1
a/util: Split history buf file up, factor out more generic iterator base
2022-02-08 17:00:11 +00:00
Ryan Pavlik
65ef8d58f1
d/ht: Cleanup usage of history buffer.
...
May wish to reconsider whether all these usages are required: they appear to only use the back (latest) element.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
94e053d0d4
a/math: More relation history cleanup
2022-02-08 17:00:11 +00:00
Ryan Pavlik
1c183a9eeb
a/math: Simplify m_history_relation using standard algorithms
2022-02-08 17:00:11 +00:00
Moses Turner
614e0e58ae
d/ht: use new HistoryBuf api
2022-02-08 17:00:11 +00:00
Ryan Pavlik
90c74578d1
a/util: Refactor HistoryBuffer to be more like a standard container.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
d05df584b2
d/ht: Some cleanups
2022-02-08 17:00:11 +00:00
Ryan Pavlik
8030468f95
os: Add a c++ wrapper for our mutex types
2022-02-08 17:00:11 +00:00
Ryan Pavlik
73220b268e
comp/multi: Zero the predicted GPU time that we don't compute
2022-02-08 10:51:40 -06:00
Ryan Pavlik
9ad96455a1
xrt: Small doc/interface cleanups.
2022-02-08 10:51:40 -06:00
Ryan Pavlik
9b6d117970
a/util: Some reorg and renaming in upa to be closer to upc
2022-02-08 10:51:40 -06:00
Ryan Pavlik
78e9acc6c4
a/util: Remove unused member in upc
2022-02-08 10:51:39 -06:00
Ryan Pavlik
0f8565ec71
a/util: Some further internal renames for pacing
2022-02-08 10:51:39 -06:00
Ryan Pavlik
6345962d66
a/util: Rename app_time_* in u_pc to comp_time_*
2022-02-08 10:51:39 -06:00
Ryan Pavlik
d176b18598
a/util: Allow upc present offset to be variable.
2022-02-08 10:51:39 -06:00
Ryan Pavlik
2238aff403
a/util: Catch frame_id mismatch in u_pacing_compositor
2022-02-08 10:51:39 -06:00
Ryan Pavlik
a2e1eb7e75
a/util: Have all timestamps be injected into pacing.
...
No more calling os_monotonic_get_ns() inside the pacing helpers.
Much better testability.
2022-02-08 10:51:39 -06:00
Ryan Pavlik
40caa24d4b
c/main: Rename to calc_frame_pacing
2022-02-07 13:11:00 -06:00
Ryan Pavlik
d969bc334f
a/util: More pacing documentation
2022-02-07 13:11:00 -06:00
nima01
45466e419b
d/wmr: Reverb G1 proximity sensor support
2022-02-02 02:27:55 +01:00
Jakob Bornecrantz
309c45f4c4
aux/bindings: Tidy
2022-01-31 22:43:09 +00:00
Jakob Bornecrantz
037b161fb4
aux/binding: Rename function
2022-01-31 22:43:09 +00:00
Jakob Bornecrantz
f0a5f1977c
aux/bindings: Add OpenXR Identifier
2022-01-31 22:43:09 +00:00
Simon Zeni
003acb4d5f
meson: configure systemd service files only if systemd is found
2022-01-31 16:35:06 +00:00
Christoph Haag
c9b1fcf572
comp/main: Re add accidentally deleted WINDOW_XCB case
...
Fixes 856d2d39c8
2022-01-25 22:22:02 +01:00
Christoph Haag
0640728969
t/steamvr: Attempt to fix spurious CI failure
...
fix suggested by thaytan.
2022-01-25 19:24:49 +00:00
Ryan Pavlik
856d2d39c8
comp/main: Simplify use of u_string_list
2022-01-24 16:34:45 -06:00
Ryan Pavlik
9b9e23be62
a/util: Add a new constructor and a new method to u_string_list
2022-01-24 16:34:45 -06:00
Ryan Pavlik
d057f00b54
doc: Fix broken link
2022-01-24 14:08:06 -06:00
Christoph Haag
2ad634bd1e
d/wmr: print json config on debug log level
2022-01-21 20:32:35 +00:00
Christoph Haag
6e339014a5
d/wmr: Add Medion Erazer X1000
2022-01-21 20:32:35 +00:00
Christoph Haag
45adabe135
d/wmr: Clarify comment in headset_map assert
2022-01-21 20:32:35 +00:00
Christoph Haag
88d55c6e22
d/wmr: Sort HP G2 controller PID to the other HP devices
2022-01-21 20:32:35 +00:00
Christoph Haag
96c09e06e7
d/wmr: consolidate interface getters
...
Moving them into one function makes it simpler to add more HMDs.
2022-01-21 20:32:35 +00:00
Ryan Pavlik
c9889f776f
xrt: Rename xrt_space_graph to xrt_relation_chain.
...
Rename all functions and instances accordingly as well,
and add documentation for all methods.
2022-01-21 19:54:30 +00:00
Colin Kinloch
0a783ca208
systemd: Use pkgconfig variable systemduserunitdir as unit install directory
2022-01-18 21:11:44 +00:00
Moses Turner
1b3dadbec5
gui/remote: add pose for XR_EXT_hand_tracking test
2022-01-18 15:02:40 -06:00
Moses Turner
2188d8afc2
d/remote: expose hand active state to remote gui
2022-01-18 14:33:11 -06:00
Moses Turner
7b3378b28a
aux/tracking; st/gui: save/load calibration gui state to file
2022-01-18 17:18:43 +00:00
Moses Turner
254c233c76
util/u_config_json: add functions to save/load gui state to file
2022-01-18 17:18:43 +00:00
Moses Turner
dfd576e0ab
st/gui: skip mode selection if there's only one mode
2022-01-18 17:18:43 +00:00
Moses Turner
c8b9bff356
st/gui: fix typo - Asymetric -> Asymmetric
2022-01-18 17:18:43 +00:00
Ryan Pavlik
6677d42642
a/util: Frame pacing docs and some error handling
2022-01-15 01:06:48 +00:00
Ryan Pavlik
a7c22fd185
a/util: Rename u_render_timing to u_pacing_app and u_frame_timing to u_pacing_compositor.
...
They both control pacing, but for different uses. Neither actually performs any timing.
2022-01-15 01:06:48 +00:00
Ryan Pavlik
365b3ca8d4
a/util: Make display timing helper more configurable.
...
Also comment some display timing interfaces better.
2022-01-15 01:06:48 +00:00
Jakob Bornecrantz
f0e27a88a3
xrt: Clarify call order on some compositor functions
2022-01-15 00:27:00 +00:00
Jakob Bornecrantz
c272549802
xrt: Correctly tag out arguments
2022-01-15 00:05:38 +00:00
Christoph Haag
f978f2691d
aux/vk: Don't leak VkExtensionProperties
2022-01-13 23:48:44 +01:00
Christoph Haag
a60fab80e6
c/main: Don't leak non_desktop_reply
2022-01-13 23:46:43 +01:00
Christoph Haag
147851ffdc
aux/ft: Add some documentation comments
2022-01-13 23:07:57 +01:00
Christoph Haag
a6935dcc4b
c/main: Check surface counter flags
2022-01-13 23:07:46 +01:00
Christoph Haag
8fe465e88f
c/main: Make VkDisplayKHR from direct mode accessible in target swapchain
2022-01-13 23:07:34 +01:00
Christoph Haag
73d75aa522
c/main: cache VkDisplayKHR in wayland direct mode window
2022-01-13 23:07:16 +01:00
Christoph Haag
3eecb0f991
aux/vk: Add vkGetPhysicalDeviceSurfaceCapabilities2EXT function
2022-01-13 23:07:16 +01:00
Christoph Haag
693aceb755
aux/vk: Add VK_EXT_display_control functions
2022-01-13 23:07:16 +01:00
Christoph Haag
ec64a856b4
aux/vk: Use VK_DEBUG instead of U_LOG for vk device ext selection
2022-01-13 23:07:01 +01:00
Christoph Haag
8e020fac2d
c/main: Add and enable VK_EXT_display_control optional device ext
2022-01-13 23:06:40 +01:00
Christoph Haag
b7d179b1b3
c/main: Add display surface counter optional vk instance ext
2022-01-13 23:06:15 +01:00
Christoph Haag
ff4d492b74
c/util: add optional vk instance extensions
2022-01-13 23:05:38 +01:00
Christoph Haag
ce6339e237
c/main: Make more use of string list for device ext
2022-01-13 23:05:06 +01:00
Christoph Haag
f34816872c
c/main: Use u_string_list for vk extensions
2022-01-13 23:04:34 +01:00
Christoph Haag
171a3830b9
u/string_list: Add constructor from existing list
2022-01-13 23:04:17 +01:00
Christoph Haag
ee366e16e5
c/main: rename extensions num -> count
2022-01-13 23:03:56 +01:00
Christoph Haag
13e3db6128
aux/vk: Add vkEnumerateInstanceExtensionProperties
2022-01-13 23:03:38 +01:00
Christoph Haag
7174545ee8
aux/vk: remove duplication of vk_get_loader_functions functionality
2022-01-13 23:03:38 +01:00
Christoph Haag
1ae1e695e2
c/util: Fix device extension list comment
2022-01-13 23:03:25 +01:00
Christoph Haag
20f265d9ae
u/string_list: Add contains function
2022-01-13 22:37:25 +01:00
Christoph Haag
07ddac523c
build: Build u_string_list with meson too
2022-01-13 22:37:25 +01:00
Christoph Haag
8d5847d5a9
comp: Fix running with XRT_COMPOSITOR_XCB_FULLSCREEN=1
...
It required XRT_COMPOSITOR_XCB_DISPLAY to be set to a valid display or the
swapchain creation would fail because the requested width x height was 0x0.
Now the first display with a size other than 0x0 is selected when the current
selected display is 0x0.
fixes #148
2022-01-13 20:50:48 +00:00
Christoph Haag
77f19161fb
aux/binding: extract monado_binding earlier from list
2022-01-13 14:16:20 +01:00
Jakob Bornecrantz
d8cce715da
u/bindings: Remove duplicate paths in by_length
2022-01-13 14:01:44 +01:00
Christoph Haag
435503f2c4
aux/bindings: Further cleanup, use object members for Component
...
instead of passing json data around
2022-01-13 14:01:44 +01:00
Christoph Haag
450eb182d0
aux/bindings: Minor refactor of generator scripts
2022-01-13 14:01:44 +01:00
Christoph Haag
7917110e1c
aux/bindings: Remove unnecessary pathgroup parameter
2022-01-12 23:03:30 +01:00
Christoph Haag
595ca11c68
aux/bindings: Don't generate invalid code for missing monado_binding
...
The closing } for a binding template was not written.
2022-01-12 23:03:30 +01:00
Christoph Haag
47801859e7
aux/bindings: Replace "feature" with "component"
2022-01-12 23:02:53 +01:00
Christoph Haag
d0cdb8fcd3
st/oxr: Fix subactoin typo in comment
2022-01-12 23:02:53 +01:00
Christoph Haag
a3cd52ae8f
aux/bindings: Actually generate code to convert xrt_input_name enum
2022-01-12 23:02:53 +01:00
Christoph Haag
153280607f
aux/bindings: Split function to convert input/output enums into two
...
xrt_input_name and xrt_output_name are actual different types.
2022-01-12 23:02:53 +01:00
Christoph Haag
d36123927d
comp: avoid an unnecessary struct copy for print modes
2022-01-12 21:57:18 +01:00
Christoph Haag
3dfec5f1ab
comp: Don't omit first mode in debug print
...
Also avoid an unnecessary struct copy.
2022-01-12 21:53:47 +01:00
Christoph Haag
cce2094290
t/steamvr: Fix build on meson 0.61.0
...
Context: https://github.com/mesonbuild/meson/issues/4717
Using a directory directory as input in a custom_target was deprecated and printed the message
"This will become a hard error in the future."
It did become a hard error now.
Fixes error
../src/xrt/targets/steamvr_drv/meson.build:52:0: ERROR: File resources does not exist.
on meson 0.61.0
2022-01-11 20:23:39 +01:00
Antonio Ospite
2b456da531
c/client: make sure layer_commit passes complete frames in comp_gl_client
...
Make sure `layer_commit` passes on complete frames in `comp_gl_client.c`
even when EGL_ANDROID_native_fence_sync is not available.
The `insert_fence` function defined in `comp_egl_client.c` and passed as
argument to `comp_egl_client::client_gl_compositor_init` is only setting
up a proper fence when EGL_ANDROID_native_fence_sync is available,
resulting in a no-op otherwise.
However the fact that the insert_fence function is still valid results
in the `glFlush` workaround from
`comp_gl_client::client_gl_compositor_layer_commit` not kicking in.
To fix this define a NULL `insert_fence` function when
EGL_ANDROID_native_fence_sync is not available, and while at it turn the
`glFlush` workaround into a `glFinish` for extra safety.
This ensures that frames are always complete after
`client_gl_compositor_layer_commit` has been called.
2022-01-06 14:54:55 +00:00
Jarvis Huang
ac30e798d6
ipc/android: Extend timeout duration
2022-01-05 14:59:39 +00:00
Jarvis Huang
97100821d2
ipc/android: Add shutdown mechanism back
2022-01-05 14:59:39 +00:00
Jarvis Huang
9339e6022f
ipc/android: Refactor and cleanup IPC glue code
2022-01-05 14:59:39 +00:00
Jarvis Huang
3bb151e4bf
ipc/android: Avoid race condition/blocking main thread
2022-01-05 14:59:39 +00:00
Jarvis Huang
f575a7a1a9
ipc/android: Remove watchdog delay if surface comes from client
...
When surface comes from client, it's not reuseable after
client exits. Removing the timeout so runtime can release all the
graphcis resources associated with surface.
2022-01-05 14:59:39 +00:00
Jarvis Huang
52cb2ef123
d/android: Stop thread function when device destoryed
2022-01-05 14:59:39 +00:00
Jarvis Huang
6a61ed5695
ipc/android: Stop runtime service when no clients connected
2022-01-05 14:59:39 +00:00
Jakob Bornecrantz
ec537eb3aa
st/oxr: Refactor extension parsing and verify extensions
2022-01-04 22:04:12 +00:00
Jakob Bornecrantz
fe9191a708
st/oxr: Sort extension list
2022-01-04 18:58:35 +00:00
Moses Turner
683dc4ea56
gui: add SLAM Stereo option to calibrate gui
2022-01-04 18:19:17 +00:00
Moses Turner
17034f0283
aux/tracking: assert on fisheye mat size for fisheye path
2022-01-04 18:19:17 +00:00
Simon Zeni
8b1d432b79
d/ht_ctrl_emu: fix crash and truncation warning
2021-12-24 15:19:51 -05:00
Mateo de Mayo
7e0d93e3fb
tests: Add tests for quatexpmap interface functions and minor changes in their docs
2021-12-22 12:16:27 -03:00
Mateo de Mayo
70576c2f02
t/slam: Implement basic prediction from last tracked poses
2021-12-21 11:43:17 +00:00
Mateo de Mayo
090e465dda
external: Add semver to slam_tracker (1.0.0) and pose timestamps
2021-12-21 11:43:17 +00:00
Mateo de Mayo
88a3848b5a
d/wmr: Map wmr_source data to monotonic clock
2021-12-21 11:43:17 +00:00
Mateo de Mayo
74e149159b
t/slam: Add SLAM_SUBMIT_FROM_START envvar
...
Useful for setups that need some tuning to their sensors before sending
data to a SLAM system.
Removes the submit_frames property from wmr_camera as this replaces it.
2021-12-21 11:43:17 +00:00
Mateo de Mayo
1c7323f1c2
d/rs: Generalize laser emitter option setup to any rs option
2021-12-21 11:43:17 +00:00
Mateo de Mayo
fa431fc010
d/rs: Map all rs_hdev timestamps to monotonic clock
2021-12-21 11:43:17 +00:00
Mateo de Mayo
76d7729e4d
m/vec3: Add operator/ for scalar division
2021-12-21 11:43:17 +00:00
Mateo de Mayo
bcb4cd82cd
aux/math: Use dt in calculation of ang vel between quat diference
2021-12-21 11:43:17 +00:00
Mateo de Mayo
3e8a070e93
u/var: Add u_var_combo
2021-12-21 11:43:17 +00:00
James Hogan
7ee8d1ac5d
xrt: Revert xrt_view::display::{w|h}_pixels changes
...
Commit 749723f0ba
("xrt: Remove xrt_view::display::{w|h}_meters")
accidentally removed some references to {w|h}_pixels as well as
{w|h}_meters. This resulted in recommended view image sizes of 0px*0px.
Revert those changes without reverting the rest of the commit.
Fixes: 749723f0ba
("xrt: Remove xrt_view::display::{w|h}_meters")
2021-12-20 23:00:40 +00:00
Moses Turner
5635cd3885
ipc: fix typo - connec -> connect
2021-12-20 06:21:36 -06:00
Simon Zeni
4e4e6708bc
Revert "d/survive: ajust timestamp from button event"
...
This reverts commit b396c200d0
.
The issue has been fixed in libsurvive [1]
[1]: https://github.com/cntools/libsurvive/pull/250
2021-12-17 13:40:53 -05:00
Moses Turner
a19f13171b
meson: use cjson_include with depthai driver
2021-12-14 14:12:42 +00:00
Christoph Haag
b7c8a6faa5
d/ht_ctrl_emu: work around truncation warning
...
../src/xrt/drivers/ht_ctrl_emu/ht_ctrl_emu.cpp: In function ‘int cemu_devices_create(xrt_device*, xrt_device*, xrt_device**)’:
../src/xrt/drivers/ht_ctrl_emu/ht_ctrl_emu.cpp:439:102: warning: ‘ Left Hand’ directive output may be truncated writing 10 bytes into a region of size between 1 and 256 [-Wformat-truncation=]
439 | int ret = snprintf(cemud[i]->base.str, XRT_DEVICE_NAME_LEN, i ? "%s Right Hand" : "%s Left Hand", hands->str);
| ^~~~~~~~~~
../src/xrt/drivers/ht_ctrl_emu/ht_ctrl_emu.cpp:439:35: note: ‘snprintf’ output between 11 and 266 bytes into a destination of size 256
439 | int ret = snprintf(cemud[i]->base.str, XRT_DEVICE_NAME_LEN, i ? "%s Right Hand" : "%s Left Hand", hands->str);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/xrt/drivers/ht_ctrl_emu/ht_ctrl_emu.cpp:439:84: warning: ‘ Right Hand’ directive output may be truncated writing 11 bytes into a region of size between 1 and 256 [-Wformat-truncation=]
439 | int ret = snprintf(cemud[i]->base.str, XRT_DEVICE_NAME_LEN, i ? "%s Right Hand" : "%s Left Hand", hands->str);
| ^~~~~~~~~~~
../src/xrt/drivers/ht_ctrl_emu/ht_ctrl_emu.cpp:439:35: note: ‘snprintf’ output between 12 and 267 bytes into a destination of size 256
439 | int ret = snprintf(cemud[i]->base.str, XRT_DEVICE_NAME_LEN, i ? "%s Right Hand" : "%s Left Hand", hands->str);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-12-14 14:58:33 +01:00
Christoph Haag
2b101e6ffa
d/wmr: don't print NULL value in error message
...
In file included from ../src/xrt/drivers/wmr/wmr_config.h:15,
from ../src/xrt/drivers/wmr/wmr_config.c:16:
In function ‘wmr_config_parse_camera_config’,
inlined from ‘wmr_config_parse_calibration’ at ../src/xrt/drivers/wmr/wmr_config.c:422:8,
inlined from ‘wmr_hmd_config_parse’ at ../src/xrt/drivers/wmr/wmr_config.c:477:13:
../src/xrt/auxiliary/util/u_logging.h:84:25: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
84 | u_log(__FILE__, __LINE__, __func__, level, __VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/xrt/auxiliary/util/u_logging.h:220:38: note: in expansion of macro ‘U_LOG_IFL’
220 | #define U_LOG_IFL_E(cond_level, ...) U_LOG_IFL(U_LOGGING_ERROR, cond_level, __VA_ARGS__)
| ^~~~~~~~~
../src/xrt/drivers/wmr/wmr_config.c:22:35: note: in expansion of macro ‘U_LOG_IFL_E’
22 | #define WMR_ERROR(log_level, ...) U_LOG_IFL_E(log_level, __VA_ARGS__)
| ^~~~~~~~~~~
../src/xrt/drivers/wmr/wmr_config.c:267:17: note: in expansion of macro ‘WMR_ERROR’
267 | WMR_ERROR(log_level, "Invalid camera calibration block %d - unknown camera purpose %s", c->n_cameras,
| ^~~~~~~~~
../src/xrt/drivers/wmr/wmr_config.c: In function ‘wmr_hmd_config_parse’:
../src/xrt/drivers/wmr/wmr_config.c:267:100: note: format string is defined here
267 | WMR_ERROR(log_level, "Invalid camera calibration block %d - unknown camera purpose %s", c->n_cameras,
| ^~
2021-12-14 14:54:47 +01:00
Christoph Haag
42ae21d412
d/hdk: Remove unused variable
2021-12-14 14:19:53 +01:00
Christoph Haag
d4a491ea74
targets/steamvr: Use python stdlib to copy
...
monado/src/xrt/targets/steamvr_drv/copy_assets.py:8: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.dir_util import copy_tree
monado/src/xrt/targets/steamvr_drv/copy_assets.py:8: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.dir_util import copy_tree
2021-12-14 14:17:57 +01:00
Christoph Haag
8bbaf2a05b
a/tracking: Use #pragma message instead of #warning
...
Avoids warning
../src/xrt/auxiliary/tracking/t_tracker_slam.cpp:66:2: warning: #warning is a GCC extension
2021-12-14 13:51:16 +01:00
Ryan Pavlik
1203cf38f0
cmake: Fix build when we have EGL but not GLES headers.
2021-12-13 15:00:24 -06:00
Mateo de Mayo
74e79ff274
d/wmr: Add SLAM tracker
2021-12-13 10:41:55 +00:00
Mateo de Mayo
d3bde043bd
d/wmr: Forward IMU samples to wmr_source
2021-12-13 10:41:55 +00:00
Mateo de Mayo
41f42e0b3a
d/wmr: Add wmr_source with camera streams support
2021-12-13 10:41:55 +00:00
Mateo de Mayo
92c1e55c37
d/wmr: Prepare HMD for SLAM tracking
2021-12-13 10:41:55 +00:00
Mateo de Mayo
c1edfa95d7
d/wmr: Add Odyssey+ activation/deactivation functions
...
Co-authored-by: Jan Schmidt <jan@centricular.com>
2021-12-13 10:41:55 +00:00
Mateo de Mayo
7338aded9c
d/wmr: Add exposure setting
2021-12-13 10:41:55 +00:00
Mateo de Mayo
d9aaa4369f
d/wmr: Add ROI rect for WMR cameras
2021-12-13 10:41:55 +00:00
Jan Schmidt
3bb3197fec
d/wmr: Parse controller configuration
...
Extract LED and inertial sensor configuration from
controller JSON
2021-12-13 11:47:12 +11:00
Jan Schmidt
ea4836b081
d/wmr: Read controller firmware configuration blocks.
...
Implement reading and logging of controller firmware blocks.
The main JSON configuration is obfuscated. The raw block can
be dumped to disk by setting the WMR_CONFIG_DUMP env var
to point to a directory to receive controller configs
2021-12-13 11:47:12 +11:00
Jan Schmidt
4e24a1277e
d/wmr: Add pragma once to BT controller header
2021-12-13 11:47:12 +11:00
Jan Schmidt
1c67a1ff52
d/wmr: Add HP Reverb G2 controller PID
...
Recognise the HP Reverb G2 WMR controller if it is directly
connected via bluetooth (instead of tunnelled through the
headset like it normally would be).
2021-12-13 11:47:12 +11:00
Simon Zeni
b396c200d0
d/survive: ajust timestamp from button event
2021-12-12 23:07:14 +00:00
Nima01
b3e0f5bc6a
d/wmr: WMR Controller (BT): Don't waste CPU cycles when reading
2021-12-12 21:37:50 +01:00
Nima01
2d48a9bca2
d/wmr: WMR Controller (BT) 3DoF working, based on gyro and accel.
...
Tested on HP Reverb G1. Reading and applying device specific
config data is still pending.
2021-12-12 16:47:35 +00:00
Mateo de Mayo
fe4f6c6eb0
misc: Improve wmr and euroc docs, fix ht memory leak, stride for cv::Mats
2021-12-12 13:13:18 -03:00
Mateo de Mayo
cd0342c8dc
aux/util: Add u_frame_create_roi
2021-12-12 13:12:42 -03:00
Mateo de Mayo
fa88ce5f3f
u/var: Add u16 var kind
2021-12-12 13:06:04 -03:00
Mateo de Mayo
471ca9530b
m/3dof: Add reset functionality
2021-12-12 13:06:04 -03:00
Moses Turner
749723f0ba
xrt: Remove xrt_view::display::{w|h}_meters
...
It is not used anywhere.
2021-12-10 21:27:15 -06:00
Jakob Bornecrantz
59a09abf6a
d/dai: Document work around
2021-12-10 21:31:28 +00:00
Jakob Bornecrantz
775d82d728
d/dai: Work around issue in v2.13.3
2021-12-10 21:31:28 +00:00
Ryan Pavlik
5b1c60eeb0
xrt: Add unique_ptr typedef for xrt_device
2021-12-10 21:24:02 +00:00
Ryan Pavlik
26e5f6eee7
a/math: Bring the C++ wrapper for relation_history up to parity.
...
Also add tests for it too.
2021-12-10 21:06:04 +00:00
Ryan Pavlik
ef4550c268
a/math: Add a "get latest" to relation history as well.
2021-12-10 21:06:04 +00:00
Ryan Pavlik
aff7079dca
a/math: Let relation history report its size
2021-12-10 21:06:04 +00:00
Moses Turner
c66b29d117
d/wmr: use u_extents_2d_split_side_by_side instead of u_device_setup_split_side_by_side
2021-12-10 14:08:52 -06:00
timongentzsch
ba353e276d
Bugfix in solving quadratic equation for FoV calculation
2021-12-10 18:08:50 +00:00
Ryan Pavlik
e5e8451a81
a/math: Update relation history to return something from push.
2021-12-09 13:44:12 -06:00
Mateo de Mayo
b29c4ee78f
u/json: Update macro signatures to fix MSVC builds
2021-12-08 15:35:54 +00:00
Ryan Pavlik
46d095d978
comp/util: Allow enabling timeline semaphores when creating bundle.
2021-12-08 00:54:12 +00:00
Ryan Pavlik
0b11ce3a27
a/vk: Add timeline semaphore to the list of optional features.
2021-12-08 00:54:12 +00:00
Ryan Pavlik
2af3798e44
a/vk: Fix typo in physical device feature chain
2021-12-08 00:54:12 +00:00
nima01
d5d1695438
d/wmr: Hook up motion controller gyro and accel
...
Basic IMU setup with fusion. Reading and applying config callibration data from controller is still work in progress
2021-12-08 00:43:50 +00:00
Jakob Bornecrantz
98982bd25b
a/math: Fix warning in math_matrix_2x2_multiply
2021-12-07 13:30:45 +00:00
Jakob Bornecrantz
aad9b04a92
d/wmr: Fix warning and tidy
2021-12-07 13:30:45 +00:00
Jakob Bornecrantz
eee143f401
d/rs: Use long name as documentation name
2021-12-07 11:26:20 +00:00
Jakob Bornecrantz
3e38ada9a5
build: s/rs/realsense/g
2021-12-07 11:26:20 +00:00
Jakob Bornecrantz
6598217a01
u/vive: Correct Vive Pro model_name
...
Fixes #106
2021-12-06 19:43:49 +00:00
Jakob Bornecrantz
6ae52651c4
d/vive: Up max config z and json size, also tidy
2021-12-06 19:43:49 +00:00
Jakob Bornecrantz
b621955873
a/vk: Put vendor extensions last
2021-12-06 17:25:09 +00:00
Jakob Bornecrantz
5289b081c5
a/vk: Check for VK_KHR_timeline_semaphore
2021-12-06 17:25:09 +00:00
Jakob Bornecrantz
0eca48ec2b
a/vk: Add all functions for VK_KHR_timeline_semaphore
2021-12-06 17:25:09 +00:00
Jakob Bornecrantz
7d529a3dfc
a/vk: Change script to make it clang-format friendly
2021-12-06 17:25:09 +00:00
Jakob Bornecrantz
94ad966e4d
a/vive: Also correctly error on unknown controller warnings
2021-12-06 11:44:33 +00:00
Jakob Bornecrantz
aace8ff62d
a/vive: Look for model_name correctly
2021-12-06 11:44:33 +00:00
Jakob Bornecrantz
a6b4e6a830
m/3dof: Show more in the variable tracker
2021-12-05 15:30:14 +00:00
Jan Schmidt
6cc92c369a
d/wmr: Fix accel <-> gyro mixup in previous change.
...
There was a typo in the calibration bias/correction
patch that messed up accel values by accidentally
reusing the gyro value.
2021-12-06 01:45:25 +11:00
Jan Schmidt
c06c3fa782
d/wmr: Make WMR to OpenXR coordinate transform explicit
...
Instead of negating Y and Z readings from the IMU when
parsing, parse the native values, then apply the rotation
using the centerline transform before fusion.
2021-12-05 00:09:25 +11:00
Jan Schmidt
c7549c8680
d/wmr: Apply HMD IMU correction from calibration.
...
Apply the mix_matrix and bias_offsets adjustments for
IMU readings.
2021-12-05 00:06:05 +11:00
Jan Schmidt
ee030ff0c8
d/wmr: Extend config reading to include bias/mix_matrix
...
Add extraction of bias offsets and mix_matrix (rotation)
correction for IMU accel, gyro and mag configuration entries.
2021-12-05 00:06:05 +11:00
Jan Schmidt
385a3bd33d
d/wmr: Split out inertial sensor configuration
...
Inertial sensor configuration blocks are common to
both HMD and controller calibration. Factor out a
shared structure to receive them.
2021-12-05 00:06:05 +11:00
Jan Schmidt
76c18bfdc7
d/wmr: Rename wmr_config_parse to wmr_hmd_config_parse()
2021-12-05 00:06:05 +11:00
Jan Schmidt
bb5aa35c00
a/math: Add math_matrix_3x3_identity()
...
Add an initialisation function to set a 3x3 matrix
to the identity matrix.
2021-12-05 00:06:05 +11:00
Jakob Bornecrantz
971739627a
d/vive: Actually print error message to say what is going on
2021-12-03 21:13:57 +00:00
Jakob Bornecrantz
e21e28c455
u/vive: Be more verbose if we fail to parse model_[name|number]
2021-12-03 21:13:57 +00:00
Jakob Bornecrantz
12baf0ada3
st/prober: Warn when we can't get USB descriptors
2021-12-03 21:13:57 +00:00
Jakob Bornecrantz
59fccb0c38
st/prober: If we can't tell if we can open a device assume yes
2021-12-03 20:47:25 +00:00
Moses Turner
8af3a47f5a
cmake: make DepthAI driver link to aux_tracking
2021-12-03 19:22:57 +00:00
Moses Turner
31f155acbd
cmake: make xrt-external-json public for aux_tracking
2021-12-03 19:22:57 +00:00
Ryan Pavlik
85ee6379e6
ipc: Fix copy/paste typo.
...
Thanks to xdust for catching this.
2021-12-03 10:11:17 -06:00
Jakob Bornecrantz
8c04bf1274
a/math: Add C++ RelationHistory interface class
2021-12-03 14:00:37 +00:00
Jakob Bornecrantz
efde7f185c
a/math: Put m_relation_history_get out argument last
2021-12-03 14:00:32 +00:00
Jakob Bornecrantz
ed48e6d47d
a/math: Constify in argument
2021-12-03 13:53:46 +00:00
Ryan Pavlik
2b64e5b965
a/math: Extend m_relation_history to pass the tests.
2021-12-03 13:53:46 +00:00
Ryan Pavlik
217dee2ce3
a/math: Add m_relation_history_result return from m_relation_history_get
2021-12-03 13:45:43 +00:00
Ryan Pavlik
01e3d9871c
a/math: Replace RH_DEBUG for relation history with better use of logging macros
2021-12-03 13:45:43 +00:00
Jarvis Huang
27550ffa39
aux/android: Looper trick for NativeActivity with app-glue
2021-12-02 09:40:36 -06:00
Mateo de Mayo
07bd614930
t/file: Extend calibration save/load interfaces with new v2 format
2021-12-02 11:27:42 -03:00
Mateo de Mayo
1483ec32c5
t/file: Implement json save/load for v2 calibration
2021-12-02 11:26:11 -03:00
Mateo de Mayo
31f71251e0
t/util: Add dump function for single camera calibration struct
2021-12-01 18:32:16 +00:00
Jakob Bornecrantz
27f80a90d9
c/render: Make it safe to call comp_resources_close in more cases
...
Fixes #139
2021-12-01 16:08:12 +00:00
Ryan Pavlik
e9c5d34925
t/oxr_android: Fix version code format
2021-12-01 08:35:44 -06:00
Ryan Pavlik
015abd6899
st/p: Fix prober warning.
2021-12-01 08:31:28 -06:00
Mateo de Mayo
1cc80f5476
t/slam: Use euroc recorder in slam tracker
2021-12-01 13:45:18 +00:00
Mateo de Mayo
91ecbdb7fb
t/euroc: Add euroc dataset recorder
2021-12-01 13:45:18 +00:00
Mateo de Mayo
e245f4e5a9
u/sink: Allow u_sink_queue to queue more than one frame
...
Passing max_size=1 gives a similar behaviour as before, although instead
of discarding the last enqueued frame, it just ignores the new frame.
2021-12-01 13:45:18 +00:00
Simon Zeni
ba7f9d9578
d/ht_cemu: enable build if XRT_BUILD_DRIVER_HANDTRACKING is enabled
2021-12-01 05:36:05 +00:00
Simon Zeni
749792f324
d/ht_cemu: enable meson build
2021-12-01 05:36:05 +00:00
Moses Turner
6b14cc3923
d/cemu: use proper number of inputs
2021-11-30 23:32:05 -06:00
Mateo de Mayo
33d360083f
external/slam: Update slam_tracker interface to support dynamic features
2021-11-30 10:01:33 -03:00
Moses Turner
80840c4f4a
d/multi: propagate out_timestamp_ns
2021-11-30 05:56:57 -06:00
Moses Turner
f5bc81756e
d/survive: use controller emulation for hand-tracking
2021-11-30 05:56:57 -06:00
Moses Turner
0214937aa0
d/vive: use controller emulation for hand-tracking
2021-11-30 05:56:57 -06:00
Moses Turner
03359e2bfb
d/ht_ctrl_emu: Create the driver
2021-11-30 05:56:57 -06:00
Moses Turner
8cde257817
aux/math: add vec3 overloads for scalar multiplication
2021-11-29 23:23:57 -06:00
Nima01
bdf96d6810
d/wmr: Decode and handle controller buttons, thumbstick and trackpad.
2021-11-27 04:31:13 +01:00
Jan Schmidt
ce03824824
d/wmr: Comment updates for wmr_protocol.h
...
Improve the descriptions of some pieces of the WMR
protocol
2021-11-25 23:33:55 +11:00
Jan Schmidt
7f392936c6
d/wmr: Report frame source_sequence and source_timestamp
...
Extract timestamp in source 100ns units and convert to
nanoseconds, then place them in the emitted xrt_frames.
Unwrap the 8-bit frame sequence counter to 64-bits, and
add that too.
Add some comments and debug for other fields in the
incoming data.
2021-11-25 23:33:55 +11:00
Jan Schmidt
0fab912c5c
d/wmr: Add debug gain control
...
Add a control to the debug UI for adjusting the
camera gain setting when testing.
2021-11-25 20:05:10 +11:00
Simon Zeni
a090655e16
d/ht: remove old ht_models API
2021-11-24 16:42:56 -05:00
Simon Zeni
ee45be6f7b
d/ht: use new ht_model API
2021-11-24 16:42:56 -05:00
Simon Zeni
0e53b3b87f
d/ht: introduce ht_model
2021-11-24 16:42:56 -05:00
Simon Zeni
e84d948fb4
d/ht: blackar takes const input
2021-11-24 16:42:56 -05:00
Simon Zeni
32330d467c
d/ht: planarize takes const input
2021-11-24 16:42:56 -05:00
Jakob Bornecrantz
986cde6750
cmake: Build the IPC irrespectively of the service or not
2021-11-24 21:30:01 +00:00
Jakob Bornecrantz
63701511eb
d/wmr: Tidy
2021-11-24 17:12:19 +00:00
Jakob Bornecrantz
0bd38a0a0d
c/render: Error on failing to get memory type
2021-11-24 17:05:13 +00:00
Christoph Haag
01c6e4ed28
d/wmr: make wmr_config_key static
...
OpenHMD has a global variable wmr_config_key too which is exported in some
build configurations, causing Monado to fail linking openhmd and the wmr
driver together.
2021-11-24 14:36:55 +00:00
Christoph Haag
22d9d97e61
st/oxr: fix finding profiles for device
...
fixes 6627049af3
2021-11-24 01:36:25 +01:00
Christoph Haag
821c7f0f7a
st/oxr: Don't create interaction profile in xrGetInputSourceLocalizedName
...
oxr_instance::oxr_interaction_profile is used to bind interaction profiles
available on the assigned device to interaction profiles suggested by the
application.
Creating an interaction profile that has not been suggested might interfere
with the binding code.
xrGetInputSourceLocalizedName can only be called after the action sets are
attached, meaning all the interaction profiles must have already been
suggested.
2021-11-24 01:34:13 +01:00
Christoph Haag
1a9e0750c7
st/oxr: document oxr_instance::oxr_interaction_profile
2021-11-24 01:34:13 +01:00
Christoph Haag
a1c00e14fd
st/oxr: Implement a basic version of XR_FB_display_refresh_rate
2021-11-22 20:44:18 +00:00
Christoph Haag
eae7231f83
st/oxr: Add XR_FB_display_refresh_rate ext to script
2021-11-22 20:44:18 +00:00
Jakob Bornecrantz
3f98ea5595
xrt: Tidy s/ll/log_level/g
...
Also make sure all variable logging uses the right type for logging variables.
2021-11-22 14:29:10 -06:00
Christoph Haag
431857dd16
d/ohmd: use os_nanosleep for delay_after_initialization
2021-11-22 00:45:08 +01:00
Christoph Haag
8a4a09bb1b
d/ohmd: Remove duplicate delay_after_initialization code
2021-11-22 00:40:13 +01:00
Jakob Bornecrantz
839ada7115
d/wmr: Add more to the I/O
2021-11-20 18:54:16 +00:00
Jakob Bornecrantz
7fa3109e2a
d/wmr: Minimum to bind and return a pose
2021-11-20 17:44:34 +00:00
Jakob Bornecrantz
673ac5ee6c
d/wmr: Add support for Samsung Odyssey controllers
2021-11-20 17:33:25 +00:00
Ryan Pavlik
27a8ec675b
a/util: Add utility for lists of strings, like extension lists.
2021-11-20 17:21:02 +00:00
Jakob Bornecrantz
ea38309c86
d/wmr: Bracemaggedon
2021-11-20 15:37:15 +00:00
Jakob Bornecrantz
50e0e7783e
d/wmr: Shuffle and group things in camera file
2021-11-20 15:00:02 +00:00
Jakob Bornecrantz
85f79f935b
d/wmr: Tidy
2021-11-20 15:00:02 +00:00
Jakob Bornecrantz
1441453d5f
d/wmr: Add log level to variable tracking
2021-11-20 13:54:51 +00:00
Jakob Bornecrantz
4329b755a9
d/wmr: Document camera start and constify argument
2021-11-20 13:50:54 +00:00
Jakob Bornecrantz
16c75e7cc7
d/wmr: Tidy variable tracking
2021-11-20 13:29:24 +00:00
Jan Schmidt
733d463ec4
d/wmr: Use proximity sensor value in IPD message.
...
The first byte after the packet ID toggles when
the proximity sensor is activated.
2021-11-20 12:52:45 +00:00
Jan Schmidt
5efe0da713
d/wmr: Handle 0x17 packets
...
Add a debug report for 0x17 packets on Reverb G2 that
report controller statuses. The statuses seen so far
are 0x0 for unpaired, 0x1 for paired but offline, and
0x2 for online. Paired reports provide VID and PID for the
associated motion controller.
2021-11-20 12:52:45 +00:00
Jan Schmidt
7b95755f07
d/wmr: Implement bluetooth debug message handling
...
Handle the debug message packet from the bluetooth
interface on the HP G2. There might be other packet
types, but that's the only one I've seen so far.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e0b5070f49
d/wmr: Rename controller related packets
...
Rename the controller and bluetooth related packets
according to their usage, and split out the
controller update handling function.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e18288cc57
d/wmr: Ignore all other packets when reading config
...
Any other WMR packets can arrive while we're reading the
config block - ignore all of them, not just a few. Fixes
config reading failures.
2021-11-20 12:52:45 +00:00
Jan Schmidt
a14d6f1c2b
d/wmr: Parse and log HMD debug messages
2021-11-20 12:52:45 +00:00
Jan Schmidt
6bb2972443
d/wmr: Set default camera gain
...
Add API for gain control on headset cameras,
and use it to set a mid-range default exposure gain
2021-11-20 12:52:45 +00:00
Jan Schmidt
0da1bd74ce
d/wmr: Debug output for camera frames
...
Compute the frame size required for the cameras on a given
headset.
Copy the pixels out into an xrt_frame, then send it
to a debug sink - one for SLAM tracking exposures, and
1 for controller frames.
Based on a patch by Jakob Bornecrantz
2021-11-20 12:52:45 +00:00
Jan Schmidt
5fe935a5b0
d/wmr: Add camera reading loop
...
Calculate and configure USB transfers to read the
cameras on a WMR headset. Needs more work to
make use of the received frames.
2021-11-20 12:52:45 +00:00
Jan Schmidt
e422be89fa
d/wmr: Add camera configuration block parsing
...
Read camera configuration info from the HMD JSON
block
2021-11-20 12:52:45 +00:00
Jan Schmidt
7fb94889a8
d/wmr: Fix a small lock handling mistake
...
In the wmr handling thread, make sure lock
handling is symmetrical in all code paths.
2021-11-20 12:52:45 +00:00
Moses Turner
cef025a546
Revert "st/oxr: fix building on linux with OPENGL_GLX OFF"
...
This reverts commit d20f8f4363
2021-11-20 00:11:06 +00:00
Jakob Bornecrantz
be5b9c9d88
st/gui: Prober or tracking is no longer needed for debug sink
2021-11-19 14:38:31 +00:00
Jakob Bornecrantz
6627049af3
st/oxr: Don't hardcode profiles for devices
2021-11-19 14:38:31 +00:00
Jakob Bornecrantz
974f42f068
st/oxr: Debug print devices
2021-11-19 14:26:44 +00:00
Jakob Bornecrantz
a56ea7cad6
c/multi: Fix copy-pasto
2021-11-18 20:14:05 +00:00
Nima01
e536a02b33
d/wmr: Factor out parsing of controller messages and minor cleanup.
2021-11-18 17:19:07 +00:00
Nima01
c4db3dfccc
d/wmr: Add basic Reverb (G1, Bluetooth) motion controller support.
2021-11-18 17:19:07 +00:00
Nima01
acd8a0986e
d/wmr: Prepare for WMR motion controller driver - Change ambiguous names and traces.
2021-11-18 17:19:07 +00:00
Jan Schmidt
760e8dd3ad
meson: Add GStreamer recording support
2021-11-19 04:05:40 +11:00
nima01
70263a6b16
c/util: Use GPU index specified by XRT_COMPOSITOR_FORCE_CLIENT_GPU_INDEX
2021-11-18 14:14:32 +00:00
Ryan Pavlik
0a9b098a37
cmake: Build fix re SDL on some systems
2021-11-17 10:09:57 -06:00
Antonio Ospite
14cc4f1ba2
d/v4l2: fix building with older linux kernel like 4.15
...
Older linux kernels like 4.15 don't have V4L2_CID_DIGITAL_GAIN or
V4L2_CTRL_FLAG_MODIFY_LAYOUT, add conditional guards to build
successfully on systems with such kernels.
2021-11-13 13:48:00 +00:00
Jakob Bornecrantz
79ec1bd695
d/wmr: Add basic support for Samsung Odyssey+
...
Display start-up sequence still probably needed.
2021-11-13 12:36:25 +00:00
Ryan Pavlik
9a41a1a8be
d/ulv2: Improve source docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
0fa5876a5c
drivers: Add references to xrt_prober_found_function_t in all relevant docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
3a22c74aa6
xrt: Update some xrt_device docs
2021-11-13 12:29:58 +00:00
Ryan Pavlik
b5bcea758d
xrt: Rename a prober-related define that wasn't namespaced.
2021-11-13 12:29:58 +00:00
Ryan Pavlik
46fdb32991
xrt: Factor out a function pointer type for the prober "found" functions.
2021-11-13 12:24:15 +00:00
Antonio Ospite
d20f8f4363
st/oxr: fix building on linux with OPENGL_GLX OFF
...
When building on linux and OPENGL_GLX OFF compilation fails with the
following error:
-----------------------------------------------------------------------
../../state_trackers/oxr/libst_oxr.a(oxr_session_gfx_gl.c.o): In function `oxr_session_populate_gl_xlib':
oxr_session_gfx_gl.c:(.text+0x5c): undefined reference to `xrt_gfx_provider_create_gl_xlib'
collect2: error: ld returned 1 exit status
src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/build.make:126: recipe for target 'src/xrt/targets/openxr/libopenxr_monado.so' failed
make[2]: *** [src/xrt/targets/openxr/libopenxr_monado.so] Error 1
CMakeFiles/Makefile2:2490: recipe for target 'src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all' failed
make[1]: *** [src/xrt/targets/openxr/CMakeFiles/openxr_monado.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
-----------------------------------------------------------------------
Apparently the gl_xlib backend really depends on GLX specifically, so
fix the issue by reflecting that in the conditionally compiled blocks.
2021-11-13 12:16:29 +00:00
Ryan Pavlik
185bf61dd8
comp: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
2e323add6f
drivers: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
4957f6577f
st/p: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
dfa0aba496
aux: Migrate num_ to _count
2021-11-13 12:04:38 +00:00
Ryan Pavlik
469b9d907d
st/oxr: Rename all num_ in the state tracker, too.
2021-11-13 12:04:38 +00:00
Ryan Pavlik
33c0287f8b
xrt: Rename all "num" parameters and fields to "count" (or "capacity" as appropriate)
...
This matches the OpenXR usage: the array is the plural of the element type,
and the count is the singular element type plus "count" (usually CountOutput
because of the two-call idiom)
Includes fixes to other code to match API changes.
2021-11-13 12:04:38 +00:00
Ryan Pavlik
5e55b9d992
xrt: Prober docs.
2021-11-13 12:04:38 +00:00
Mateo de Mayo
b94b7d1f52
u/json: Implement C++ wrapper for cJSON
2021-11-12 15:33:06 -03:00
Mateo de Mayo
87a1198b0a
misc: Address compilation warnings and fix u_json_get_bool
2021-11-12 15:33:06 -03:00
Ryan Pavlik
cc4007a69e
cmake: Substantial cleanups and simplifications
...
We now have a cmake-format config file.
We no longer use list variables for sources, instead using
target_sources when we need to add, in accordance with current
best practice. (This makes it a lot easier to edit too.) There's no more
include_directories(), add_definitions(), or other gently-deprecated
directory-scoped commands, nor any CMake scripts that include
a parent directory reference (named targets instead)
2021-11-12 09:48:37 -06:00
Ryan Pavlik
19947a2d27
cmake: Refactor how we build imgui
2021-11-12 09:38:50 -06:00
Jakob Bornecrantz
62ca16c70e
a/math: Make sure it's safe to pass in the result as either left or right
2021-11-12 10:27:54 +00:00
Ryan Pavlik
b180b244e3
st/oxr: Populate oxr_system's blend modes list from the system compositor, not the device.
2021-11-12 03:05:10 +00:00
Ryan Pavlik
201765d3a7
comp: Populate blend mode list in system compositor info from device
2021-11-12 03:05:10 +00:00
Ryan Pavlik
cd5ac5f1c9
xrt: Support multiple blend modes in system compositor info
2021-11-12 03:05:10 +00:00
Jakob Bornecrantz
7ecf649ac2
c/render: Use new Vulkan helpers
2021-11-10 14:22:28 +00:00
Jakob Bornecrantz
e8b0ab3b35
aux/vk: Add many more helper functions
2021-11-10 14:22:28 +00:00
Jakob Bornecrantz
5554b0fa00
st/prober: Fix warning and tidy code
2021-11-10 11:32:54 +00:00
Ryan Pavlik
35d7e85266
a/vk: Return of the justification and function rename
2021-11-09 15:36:24 -06:00
Ryan Pavlik
b816c08141
a/vk: Add to the file comments mentioning the script.
2021-11-09 11:05:15 -06:00
Ryan Pavlik
8a56046c1d
a/vk: Also generate the extension list/checking
2021-11-09 11:05:15 -06:00
Ryan Pavlik
9fc992d540
a/vk: Normalize member names in extensions
2021-11-09 11:05:15 -06:00
Ryan Pavlik
01c02897dc
a/vk: Update vulkan files: generate from script
2021-11-09 11:05:15 -06:00
Nima01
2a1e6debfb
st/prober: Support for querying of 'Product name' from Bluetooth devices.
2021-11-09 01:10:20 +00:00
Jakob Bornecrantz
a081bacc5d
aux/vk: Guard vkSignalSemaphore with VK_KHR_timeline_semaphore
2021-11-08 17:36:58 +00:00
Jakob Bornecrantz
4c4e30d875
aux/vk: Add more functions
2021-11-08 17:21:31 +00:00
Ryan Pavlik
fa308848ab
android: Update source link for licenses
2021-11-08 09:45:00 -06:00
Moses Turner
c1d4314aad
d/ht: move DEBUG_GET_ONCE_LOG_OPTION to ht_driver.cpp (NFC)
...
Fixes an annoying warning.
2021-11-08 08:11:26 -06:00
Simon Zeni
49d2d81940
d/ht: split ht_algorithm into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
39bc129564
d/ht: split ht_models into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
7618a7e34d
d/ht: split ht_nms into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
83630efc3d
d/ht: split ht_image_math into source and header
2021-11-08 13:56:37 +00:00
Simon Zeni
44b46a28bf
d/ht: split ht_hand_math into source and header
2021-11-08 13:56:37 +00:00
Jakob Bornecrantz
f10951b5ac
t/openxr: Only link against qwerty driver if built
2021-11-08 13:07:22 +00:00
Jakob Bornecrantz
551c1f19a9
st/prober: Depend on VF driver since we refer to it directly
2021-11-08 13:07:22 +00:00
Jakob Bornecrantz
42b0361852
c/main: Use Vulkan helper in util
2021-11-07 15:14:04 +00:00
Jakob Bornecrantz
7703b7104b
c/main: Tidy extensions
2021-11-06 10:51:19 +00:00
Jakob Bornecrantz
a97523591f
c/util: Add Vulkan helper
2021-11-06 10:51:19 +00:00
Jakob Bornecrantz
2a536f17d1
cmake: Remove missed source array
2021-11-05 15:56:14 +00:00
Jakob Bornecrantz
56b5918d69
c/main: Fix tab CVK_ERROR macro
2021-11-04 20:57:55 +00:00
Jakob Bornecrantz
c912c67dc6
c/main: Use comp_base
2021-11-04 20:57:53 +00:00
Jakob Bornecrantz
a1b515616a
c/render: Documentation
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
6e28533bdc
c/render: Break out into own library
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
e08c1b1f04
c/util: Add comp_base native compositor helper base class
2021-11-04 20:56:21 +00:00
Jakob Bornecrantz
c3b8810bb0
c/util: Documentation
2021-11-04 20:56:20 +00:00
Jakob Bornecrantz
029031cfd3
c/util: Break out swapchain and sync into own library
2021-11-04 20:55:48 +00:00
Jakob Bornecrantz
78936d2b4e
c/main: Use get_vk more
2021-11-04 20:54:11 +00:00
Jakob Bornecrantz
c6031a26e8
c/main: Refactor fence to be more independent
2021-11-04 20:46:09 +00:00
Jakob Bornecrantz
293d617dd5
c/main: Refactor swapchain to be more independent
2021-11-04 20:46:03 +00:00
Ryan Pavlik
3bd0a07aa2
cmake: Split out finding GLX from the rest of OpenGL on Linux.
...
Fixes #132 .
2021-11-04 15:36:58 +00:00
Ryan Pavlik
15c8414155
cmake: Un-nest a conditional
2021-11-04 15:36:58 +00:00
Jakob Bornecrantz
36765256a6
c/render: Free command buffer when closing rendering
2021-11-03 23:10:47 +00:00
Ryan Pavlik
4759ddda63
ipc: Fix it's vs its
2021-11-03 17:29:13 -05:00
Ryan Pavlik
9ab69a2c99
d/arduino/device: Fix it's vs its
2021-11-03 17:28:56 -05:00
Ryan Pavlik
85dab57936
a/util: Fix some it's vs its
2021-11-03 17:28:41 -05:00
Ryan Pavlik
7a26a2339b
comp: Fix some it's vs its.
2021-11-03 17:28:17 -05:00
Ryan Pavlik
afc2af549f
xrt: Improve docs for ref-counting functions.
2021-11-03 17:27:56 -05:00
Ryan Pavlik
334bd83619
a/tracking: Fix some it's vs its and other minor doc tweaks
2021-11-03 17:27:36 -05:00
Ryan Pavlik
f4b61d9e41
a/os: Fix some it's vs its.
2021-11-03 17:24:17 -05:00
Ryan Pavlik
a6ae6eb095
a/math: Fix some it's vs its.
2021-11-03 17:23:51 -05:00
Ryan Pavlik
86c7a27156
a/tracking: Fix doxygen warnings about invalid link requests
2021-11-03 17:13:38 -05:00
Ryan Pavlik
ebde5344a1
cmake: Make compilation of the sample driver optional.
2021-11-03 17:04:05 -05:00
Ryan Pavlik
55d16046eb
doc: Update driver writing documentation
2021-11-03 17:04:02 -05:00
Ryan Pavlik
33e367ee42
drivers: Add a sample driver intended for use as a template.
2021-11-03 17:00:28 -05:00
Ryan Pavlik
e2c6fbdd9a
cmake: Inline lists of sources for drivers, per current best practice
2021-11-03 17:00:28 -05:00
Jakob Bornecrantz
ec9cfa690d
c/render: s/rts/rtr/g
2021-11-03 13:28:15 +00:00
Jakob Bornecrantz
12bfc8b5c9
c/render: Do not depend on the compositor
2021-11-03 13:26:42 +00:00
Jakob Bornecrantz
c346d812c7
c/render: Add helpers to access the vk_bundle
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
648f49f4ef
c/render: Change argument order to object first
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
ccc4bbcf86
c/render: Remove unused disable_atw argument
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
56f4466ffa
c/render: Move shaders to render
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
8c8d72647b
c/render: Refactor out timewarp matrix into util file
2021-11-03 13:25:15 +00:00
Jakob Bornecrantz
60024efba9
c/render: If we only have a projection layer skip the layer renderer
2021-11-03 13:25:14 +00:00
Jakob Bornecrantz
4ca35b8b3c
c/render: Don't cache comp_rendering
2021-11-03 13:24:20 +00:00
Jakob Bornecrantz
847e322fe5
c/render: Remove stub function decls
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
d8a580d875
c/render: Tidy compute rendering
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
f74812f02e
c/render: Refactor rendering code so target data is it's own struct.
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
08135b6365
c/shaders: Tidy and codestyle
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
0b9bf9c772
c/main: Do not go via target for compositor
2021-11-02 20:19:05 +00:00
Jakob Bornecrantz
765feb6fe1
c/main: Refactor mesh descriptor and UBO upload
2021-11-02 20:19:05 +00:00
Moses Turner
67430358c2
ipc: add a newline at the end of ipc_protocol_generated.h (NFC)
2021-11-01 18:01:40 -05:00
Simon Zeni
c67587c066
d/ht: improve anchor data for hand detector
2021-11-01 17:54:26 -05:00
Jason McNew
fd065cca6e
d/wmr: Fix segfault if unsupported HoloLens Sensors device is present.
2021-10-31 17:07:55 +00:00
Jakob Bornecrantz
c8ee075b8d
ipc/server: Add error messages for init failures
2021-10-28 22:58:44 +00:00
Mario Kleiner
a6185490e8
c/direct: Fix direct display RandR leased output on multi-X-Screen.
...
The old code assumes the HMD is always connected to a RandR
output on X-Screen 0, but this is not neccessarily the case
on multi-X-Screen setups. Use a loop to iterate over all
X-Screens outputs until the HMD output is found.
Tested on single and dual X-Screen setups, also with Oculus
Rift CV1 connected to 2nd X-Screen.
This is rather useful for porting applications from "OpenHMD Rift
on separate X-Screen for performance" to OpenXR Monado direct
mode, so one can quickly switch between Monado and OpenHMD native
without cumbersome xorg.conf + logout + login games.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2021-10-28 12:29:36 +00:00
Mateo de Mayo
f407536279
st/prober: Hook the realsense SLAM source into the prober
2021-10-28 11:40:49 +00:00
Mateo de Mayo
f84629ccbc
d/rs: Split SLAM source out of rs_hdev
...
(This temporarily disables the RealSense SLAM stream as there is
nothing starting it until the next commit)
2021-10-28 11:40:49 +00:00
Mateo de Mayo
0202cb9223
st/prober: Improve usage of SLAM tracking frameservers
...
Use a similar "hardcoded" idea as in p_factory_ensure_frameserver.
This fix usage of SLAM sources in other contexts like calibration, at the
cost of requiring a device to call create_tracked_slam at least once.
(again, similar to how psmv/psvr/hand tracking work already)
2021-10-28 11:40:49 +00:00
Mateo de Mayo
773eccad6c
docs: Move some driver entities into @addtogroup and other NFC
2021-10-28 11:40:49 +00:00
Mateo de Mayo
891842cb51
os: Change os_nanosleep parameter to int64_t
2021-10-28 11:40:49 +00:00
Christoph Haag
cbc018239b
st/gui: Fix editing tracking override when tracker is not connected
...
Fixes an assertion.
2021-10-28 11:21:58 +00:00
Christoph Haag
8da1b10010
st/gui: More consistent variable names in tracking overrides
2021-10-28 11:21:58 +00:00
Christoph Haag
9f7ef73429
st/gui: better wording for tracking override delete button
2021-10-28 11:21:58 +00:00
Ryan Pavlik
9688cd37dd
xrt: Improve doc comments in compositor header
2021-10-27 17:05:55 -05:00
Jarvis Huang
6b8349c887
ipc/android: Force client entering resume state before IPC setup
2021-10-27 13:44:20 +00:00
Jarvis Huang
c635375dc7
aux/android: Remove unused header file
2021-10-27 13:44:20 +00:00
Jarvis Huang
210a6908cd
ipc/android: Avoid deadlock on Android
2021-10-27 13:44:20 +00:00
Christoph Haag
13f7fa3b82
ipc: Pack ipc message structs to make valgrind happy
2021-10-26 23:20:28 +02:00
Moses Turner
0dee9094b3
aux/math: encourage people to use normalized inputs to math_quat_from_plus_x_z
2021-10-26 10:56:41 +00:00
Ryan Pavlik
409541427d
st/oxr: MSVC-specialized version of macro in oxr_xrResultToString
2021-10-19 16:49:23 -05:00
Ryan Pavlik
05ed361601
t/psvr: Fix some truncation warnings.
2021-10-19 16:49:13 -05:00
Ryan Pavlik
b62fb33e36
d/wmr: Fix some truncation warnings.
2021-10-19 16:11:34 -05:00
Ryan Pavlik
4ae1a1753c
util: Fix typo
2021-10-19 16:11:34 -05:00
Ryan Pavlik
d4d6a1a73f
util: Fix some truncation warnings, mostly by explicitly casting
2021-10-19 16:11:34 -05:00
Ryan Pavlik
5f8cb4e227
a/math: Fix some truncation warnings.
2021-10-19 15:31:29 -05:00
Mateo de Mayo
1095c3a2c1
d/rs: Add pose correction for Basalt
2021-10-16 17:03:02 -03:00
Mateo de Mayo
ab2da01631
build: Add Basalt as an external SLAM system
2021-10-16 17:02:27 -03:00
Ryan Pavlik
782aa11754
comp/main: Initial wiring, but don't actually allow closing the window on Windows for now.
2021-10-15 15:29:58 -05:00
Ryan Pavlik
cb3fc65f14
comp/main: Win32: Spawn a thread for our windowed output.
2021-10-15 15:13:00 -05:00
Ryan Pavlik
c47463b4eb
aux/util: Fix log message formatting on Windows.
2021-10-15 15:05:34 -05:00
Ryan Pavlik
c40553580d
util: Fix copyright typo.
2021-10-15 14:55:12 -05:00
Ryan Pavlik
d6177777e5
os: Fix os_nanosleep on Windows.
2021-10-15 13:05:18 -05:00
Ryan Pavlik
3351ef5396
os: Add new thread helper methods
2021-10-15 13:05:18 -05:00
Ryan Pavlik
793a7d659d
os: Improve docs for thread helper.
2021-10-15 11:57:44 -05:00
Ryan Pavlik
2790f6d29f
comp: Fix windows build - near and far are keywords.
2021-10-15 10:15:16 -05:00
Moses Turner
d440a23888
d/dai: rename things to either 'monocular' or 'grayscale'
2021-10-13 16:26:26 -05:00
Jakob Bornecrantz
0d07971ebb
st/gui: Make it possible to use depthAI as a stereo and single source
2021-10-13 15:47:48 -05:00
Jakob Bornecrantz
21f6842e49
st/gui: Add some debugging to the paranoia
2021-10-12 20:44:32 +01:00
Jakob Bornecrantz
be9a91fd12
d/dai: Explicitly close queue to avoid use after free errors from asan
2021-10-12 20:44:32 +01:00
Jakob Bornecrantz
6f22d4d819
d/dai: Handle cameras without calibration data
2021-10-12 15:37:42 +01:00
Jakob Bornecrantz
c5b2c5827b
d/dai: Some tidy
2021-10-11 21:45:38 +01:00
Jakob Bornecrantz
a5fc2fa49e
d/dai: Expose function to get stereo calibration
2021-10-10 00:16:39 +01:00
Jakob Bornecrantz
3fd740e6e9
d/dai: Add support for a stereo pipeline via slam_stream_start
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
344b5d9755
d/dai: Refactor out create function
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
e1dd59f749
d/dai: Refactor out pipeline setup to helper function
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
b8e2cbd9ee
d/dai: Add code to extract calibration of gray stereo cameras
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
8c242c1bc1
d/dai: Work around RGB_OV_9782 not yet being supported on main
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
c2b00ebb18
d/dai: Switch default logging to info
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
580a2f6fff
u/sink: Add u_sink_combiner helper to combine frames to stereo frames
2021-10-09 22:28:11 +01:00
Jakob Bornecrantz
e8f7f2de0a
t/util: Add function to dump a stereo camera calibration
2021-10-09 22:28:11 +01:00
Mateo de Mayo
7f247604e3
build: Use pkg-config for finding SLAM systems in CMake and other minor improvements
2021-10-07 14:33:10 -03:00
Mateo de Mayo
9b21b7d36c
t/slam: Use debug assertions and ensure timestamps come in order
2021-10-06 16:41:18 -03:00
Mateo de Mayo
df3c36ba0c
d/rs: Improve how hdev handles IMU samples
...
- Prevent race conditions with a lock
- Check that timestamps "domains" are the same across samples
- Use faster sensor to push the IMU sample instead of always gyro
2021-10-06 16:41:18 -03:00
Mateo de Mayo
67a5946778
xrt: Add units to xrt_imu_sample fields
...
After using the structure a bit more, and realizing that while different components
sometimes use different units, it is easier to force them to send the imu_samples
in a standardized unit.
2021-10-06 16:41:18 -03:00
Mateo de Mayo
5845155229
xrt: Use doubles in xrt_vec3_f64
2021-10-06 15:23:28 -03:00
Moses Turner
5abd3b3570
d/ht: Switch to new get_hand_tracking signature and update tracking
2021-10-02 23:09:36 +01:00
Moses Turner
322d5b8f2d
d/remote: Switch to new get_hand_tracking signature
2021-10-02 23:09:25 +01:00
Moses Turner
621681ffb4
d/vive: Switch to new get_hand_tracking signature
2021-10-02 23:09:14 +01:00
Moses Turner
9f0de997d1
d/ulv2: Switch to new get_hand_tracking signature
2021-10-02 23:08:12 +01:00
Moses Turner
193dcc8776
d/survive: Switch to new get_hand_tracking signature
2021-10-02 23:08:09 +01:00
Moses Turner
bec03a09bc
d/multi: Switch to new get_hand_tracking signature
2021-10-02 23:08:06 +01:00
Moses Turner
8fdeaccbc7
st/oxr: Switch to new get_hand_tracking signature
2021-10-02 23:06:43 +01:00
Moses Turner
1a4dd31b5e
ipc: Switch to new get_hand_tracking signature
2021-10-02 23:06:29 +01:00
Moses Turner
ca007be4d5
xrt: Switch to new get_hand_tracking signature
2021-10-02 23:05:46 +01:00
Moses Turner
e134b24f8f
u/var: Add u_var_draggable_f32
2021-10-02 23:05:35 +01:00
Moses Turner
5efdea78da
aux/gst: Expose function to get offset from global time to video timestamp
2021-10-02 23:05:26 +01:00
Ryan Pavlik
37c5eee02a
a/math: Refactor one euro filter code
2021-10-02 23:05:22 +01:00
Moses Turner
52f1ce14ca
aux/math: Add m_vec2_lerp
2021-10-02 23:05:19 +01:00
Moses Turner
b067d3b0c2
d/vf: Fix typo
2021-10-02 23:05:16 +01:00
Mateo de Mayo
a409ed6141
d/rs: Fix build errors and warnings when compiling without a SLAM dependency
2021-10-01 23:22:16 -03:00
Moses Turner
140a39f9c4
d/ns: move ns_hmd_create to ns_hmd.h
2021-10-01 13:54:19 -05:00
Ryan Pavlik
884a312011
build: Fix build with CMake before 3.14
2021-10-01 11:21:35 -05:00
Simon Zeni
036eb19343
d/ht: fix stack overflow on hand detection
2021-09-30 14:30:22 -04:00
Jakob Bornecrantz
9a4cc80e87
st/prober: Tidy and re-order functions
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
874d48a810
st/prober: Add some tracing functions
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
c8d57a4ff3
d/vive: Add some more tracing
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
98c1cb5358
d/vive: Add tracing support focusing on device message processing
2021-09-29 21:38:33 +00:00
Jakob Bornecrantz
73d631c775
cmake: Make math depend on util
...
This fixes the build when tracing is enabled.
2021-09-29 21:38:33 +00:00
Christoph Haag
d2e64d8b75
d/survive: Add SURVIVE_LH_GEN env var
...
On some systems libsurvive gets randomly confused and misdetects lh2 as lh1.
This causes the config to be pruned and is very annoying.
2021-09-29 23:03:20 +02:00
Jakob Bornecrantz
6f66ada6d9
u/vive: Remove old code and tidy camera calibration extraction
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
08721858dc
u/vive: Compare calibration solutions
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
4430dbe5d5
u/vive: Rework how calibration is extracted
2021-09-29 20:48:54 +00:00
Jakob Bornecrantz
a15e37587b
u/vive: Add more camera fields
2021-09-29 20:48:54 +00:00
Mateo de Mayo
6f20b6d88f
d/rs: Add host-SLAM tracked device (hdev)
...
This device was tested on a D455 but should work on any other RealSense camera
that supports camera and IMU streams (even the T265), given that you properly
configure the external SLAM config file.
2021-09-28 16:11:42 -03:00
Mateo de Mayo
95e22ae7c8
d/rs: Implement new probing logic to choose between ddev and hdev creation
...
Also adds a rs_container to keep track of RealSense created objects that
are useful to have during execution.
2021-09-28 16:07:14 -03:00
Mateo de Mayo
961c7c8ed1
d/rs: Rename 6dof to ddev
...
This commit introduces the term `ddev` for a "Device-SLAM tracked device",
it will be useful to differentiate itself from the `hdev`
("Host-SLAM tracked device") that will be introduced in next commits.
Note that "config_realsense" json field was renamed to "config_realsense_device"
and the device's serial (used for tracking overrides) changed from
"Intel RealSense 6-DOF" to "Intel RealSense Device-SLAM".
2021-09-28 16:07:08 -03:00
Mateo de Mayo
f70752aeda
d/qwerty: Fix tracking overrides and correct multi typo
2021-09-28 16:07:03 -03:00
Mateo de Mayo
e561d312f6
st/prober: Handle SLAM tracker creation failure for the Euroc player
...
This also adds a do-nothing section to `p_factory_create_tracked_slam`
that could be replicated by new SLAM frame servers.
2021-09-28 16:06:58 -03:00
Mateo de Mayo
f88befbdbc
t/slam: Replace assertion with return -1 if SLAM_CONFIG is not provided
2021-09-28 16:06:52 -03:00
Mateo de Mayo
debdb11e02
t/slam: Miscelaneous NFC changes
...
- Use @todo instead of TODO for doxygen
- Improve the slam_tracker interface documentation
- Move euroc functions declared by macros into extern C
2021-09-28 12:49:36 +00:00
Mateo de Mayo
1a5af03111
t/slam: Move pose corrections into the tracked devices
...
This discards the pose correction logic used that was for the D455 not for
an euroc dataset. It will be reintroduced in a later commit with an
appropriate device.
2021-09-28 12:49:36 +00:00
Moses Turner
1c99e8edb5
meson: add option for tracing; align messages
2021-09-28 12:41:01 +00:00
Mateo de Mayo
d61a695f13
meson: Allow percetto to be used with meson
...
You may need to specify --libdir=$installdir/lib when installing percetto,
otherwise it gets installed on $installdir/lib/x86_64-linux-gnu by default and
meson might not look for the appropriate pkgconfig in there.
2021-09-28 12:41:01 +00:00
quic_zhibinw
f9d0bfb80a
aux/vk: Apply the protected content flag if app pass it when create swapchain
2021-09-28 15:33:15 +08:00
Ryan Pavlik
7b5102dc28
t/oxr-android: Clean up about libraries usage and fix mangled comments.
2021-09-27 09:29:29 -05:00
Ryan Pavlik
61feb03d0e
gradle: Format
2021-09-27 09:26:15 -05:00
Ryan Pavlik
e8ed9c95f6
ipc/android: Require the OpenXR permission.
2021-09-27 09:26:15 -05:00
Ryan Pavlik
52e75e8e27
t/oxr_android: Update Hilt to a stable release
...
Only one change in our usage was needed.
2021-09-27 09:26:15 -05:00
Ryan Pavlik
690141a7ee
gradle: Update Android build tools
2021-09-27 09:26:15 -05:00
Ryan Pavlik
995866a576
cmake: Improve use of percetto
2021-09-27 09:26:15 -05:00
Jakob Bornecrantz
de283a8b0c
t/calibration: Add support for findChessboardCornersSB
2021-09-20 15:54:00 +00:00
Jakob Bornecrantz
d86adce39d
u/historybuf: Tidy code and work around clang-format CI troubles
2021-09-20 15:54:00 +00:00
Ryan Pavlik
a10a4ab123
a/math: Fix truncation warning due to double literal in float parameter.
2021-09-20 10:06:33 -05:00
Mateo de Mayo
0b7f3d92ef
d/euroc: Use new debug frame sinks
2021-09-20 14:59:18 +00:00
Ryan Pavlik
967efb4a12
a/os: SetWaitableTimer wants durations in hundreds of ns.
2021-09-20 09:25:31 -05:00
Christoph Haag
2ef9e0aa61
comp: Don't disconnect from NULL wayland_display
...
Fixes crash when not running on wayland.
2021-09-20 13:54:36 +00:00
Christoph Haag
d54c489738
st/oxr: Enumerate outputs too in xrEnumerateBoundSourcesForAction
...
Fixes #118
2021-09-20 00:28:46 +02:00
Jakob Bornecrantz
b4ce66a5dc
u/var: Remove sink variable tracking
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
7e8428a4d2
st/gui: Remove U_VAR_SINK support
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
b0b4034a93
st/gui: Add support for u_sink_debug
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
bef417b5a8
st/gui: Handle setting recording info from the first frame
2021-09-17 15:27:23 +01:00
Jakob Bornecrantz
2b72672cc2
st/gui: Expose bitrate as a combobox in recording window
2021-09-17 15:27:15 +01:00
Jakob Bornecrantz
7a6412672d
st/gui: Refactor out recording code into own window
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
9bfabdf706
d/ht: Disable sink variable tracking
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
5d4adebbbe
d/euroc: Disable sink variable tracking
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
0157b2d4b0
t/debug: Update HelperDebugSink to use new u_debug_sink
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
2404257077
t/hsv: Switch to u_sink_debug
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
8ccd0c3dff
d/v4l2: Use u_sink_debug for debugging
2021-09-17 13:39:50 +01:00
Jakob Bornecrantz
b8055eba6a
u/var: Add u_sink_debug
2021-09-17 13:01:02 +01:00
Jakob Bornecrantz
da628514d8
u/sink: Add u_sink_debug struct helper
2021-09-17 13:01:02 +01:00