Lubosz Sarnecki
fc3b7fef25
comp/vk: Lock command pool calls with a mutex.
...
This patch resolves multithreading issues as detected by the Vulkan
validation when running the OpenXR CTS using OpenGL.
2021-01-13 12:33:15 +01:00
Lubosz Sarnecki
9a9d46b85a
comp/vk: Lock our only VkQueue with a mutex.
...
This resolved mutlithreading issues as seen in the `multithreading` test
of the OpenXR CTS.
This patch fixes the test on Vulkan Android and resolves Vulkan
validation errors when running on Linux with OpenGL.
2021-01-13 12:33:15 +01:00
Christoph Haag
e785053c0a
aux/math: special case delta_s == 0 in m_predic
...
Rather than asserting in the underlying math functions we return the
trivial values for prediction with 0s.
2021-01-11 23:50:01 +00:00
Jakob Bornecrantz
1e4a540bb9
aux/math: Add prediction module
...
For the time being all angular velocities are relative to the space a xrt_space_relation is in.
2021-01-11 23:50:01 +00:00
Christoph Haag
8f3816a5fc
u_time: Make time_s_to_ns take double, not floa
2021-01-11 23:50:01 +00:00
Christoph Haag
726c752db2
comp: Add support for list of optional device extensions
...
If one of the supplied optional extensions is VK_GOOGLE_display_timing and it is
supported by the driver, vk_bundle::has_GOOGLE_display_timing will be set to true.
2021-01-07 19:12:41 +01:00
Christoph Haag
3085e29c97
u/hand_tracking: Curl fingers based on joint, increase total curl angle
...
When making a fist, different joints curl at different angles, reflect
this more directly in the code.
Also increase total curl to make it easier to hold ingame objects.
2021-01-06 13:34:31 +00:00
Christoph Haag
e2c1bc1d16
xrt: Rename hand_origin to hand_pose
...
hand_origin is confusing because it implies it is the origin of the coordinate system the hand is in.
It actually is the hand pose in the "global" coordinate system.
2021-01-06 13:29:36 +00:00
Christoph Haag
c84dbad03e
u/device: Add U_DEVICE_ALLOC_NO_FLAGS
...
Allows using U_DEVICE_ALLOCATE without flags without a cast.
2021-01-06 13:29:36 +00:00
Christoph Haag
7831e38c02
u/device: Assign left/right hand trackers if no controllers are available
...
Previously the left/right role assignment considered only device types
* XRT_DEVICE_TYPE_LEFT_HAND_CONTROLLER
* XRT_DEVICE_TYPE_RIGHT_HAND_CONTROLLER
* XRT_DEVICE_TYPE_ANY_HAND_CONTROLLER
This adds XRT_DEVICE_TYPE_HAND_TRACKER for consideration, but only if none
of the above are present.
2021-01-06 13:29:36 +00:00
Christoph Haag
3848d2be3f
st/oxr: Add env vars for global tracking origin offset
...
This commit is a band aid until a more proper room setup is implemented.
It allows moving the tracking offset for the device roles head, left and right by a fixed value.
A y tracking offset OXR_TRACKING_ORIGIN_OFFSET_Y=1.0 would tell monado that the current tracking
origin is 1 meter above the desired tracking origin, e.g. when the headset was calibrated to a
(0,0,0) position while sitting on table 1 meter above the floor.
This environment variable affects STAGE space, but not LOCAL space.
2021-01-06 13:03:47 +00:00
Lubosz Sarnecki
55d6d57392
aux/math: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
ba1d966f9f
aux/vk: Port to u_logging.
...
Fix log calls where no valid state struct was provided.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
58ecf67515
aux/tracking: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
e350e42ca9
aux/os/ble_dbus: Use printf padding.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
79dde59f7e
aux/os/ble_dbus: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
853458ed37
xrt: Port commented printfs to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
adcd0aff1a
u/logging: Implement global log level.
...
Adds a `XRT_LOG` environemnt option.
Example:
```
XRT_LOG=debug
```
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
8bdff9a61a
u/logging: Implement optional color logging.
...
Check if stderr is a tty.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
9ce9fa9238
u/logging: Align log level prefixes.
2020-12-28 13:04:11 +00:00
Jakob Bornecrantz
a5bf14502c
t/hand: Remove per frame printing
2020-12-09 21:03:50 +00:00
Christoph Haag
7b4ac89a8f
t/hand: warn when rectification matrix doesn't match image matrix
2020-12-07 12:30:26 +00:00
Christoph Haag
693cd77ca3
t/hand: Add comment that rectification is expensive
2020-12-07 12:30:26 +00:00
Christoph Haag
e480352cee
t/hand: Add hand tracking module
2020-12-07 12:30:26 +00:00
Ryan Pavlik
90e307bf8a
util: Port logging to OutputDebugString on Windows
2020-12-06 23:07:05 +00:00
Lubosz Sarnecki
37e87d1942
android/MonadoView: Make native pointer optional.
2020-12-01 18:05:32 +01:00
Lubosz Sarnecki
0a6bfe6d96
aux/android_globals: Provide API to store a native window globally.
2020-12-01 18:05:32 +01:00
Lubosz Sarnecki
020df327fa
MonadoView: Don't be a Hilt view. Resolve exception.
...
Resolves:
java.lang.IllegalStateException: class org.freedesktop.monado.auxiliary.MonadoView, Hilt view must be attached to an @AndroidEntryPoint Fragment or Activity.
2020-12-01 18:05:32 +01:00
Ryan Pavlik
94d747cac9
aux/android: Create an interface for handling foreground service notification
2020-12-01 18:05:32 +01:00
Ryan Pavlik
2fe699d7c1
xrt/android: Actually start using dependency injection in Java/Kotlin code.
2020-12-01 18:05:32 +01:00
Ryan Pavlik
885dd1d4d5
gradle: Handle kotlin in multiple parts of the build
2020-12-01 18:05:32 +01:00
Ryan Pavlik
b2f751ae99
aux/android: More null checks
2020-12-01 18:05:31 +01:00
Ryan Pavlik
635542f905
gradle: Break release build on a // STOPSHIP comment
2020-12-01 18:05:31 +01:00
Ryan Pavlik
23e01fc656
gradle: Factor out the dependency versions to a build-wide variable
2020-12-01 18:05:31 +01:00
Lubosz Sarnecki
4d45bfeb1b
cmake: Fix Android linking error
2020-12-01 18:05:31 +01:00
Lubosz Sarnecki
c0ab34a355
aux/android: Implement display metrics acquisition.
2020-12-01 17:36:15 +01:00
Jakob Bornecrantz
6fc0e1cda5
u/sink_converter: Silence warning
2020-11-30 17:52:58 +00:00
Jakob Bornecrantz
242faf9b60
u/sink_converter: Refactor allocation function a bit more
2020-11-30 17:52:58 +00:00
Christoph Haag
3b992a4508
u/sink_converter: Remove u_sink_converter::frame
2020-11-30 15:38:21 +00:00
Christoph Haag
5a4df61885
u/sink_converter: Clarify dst frame of format conversions
2020-11-30 15:38:19 +00:00
Christoph Haag
49587412bd
u/sink_converter: clarify ensure_data()
2020-11-30 15:38:15 +00:00
Christoph Haag
3d3361706c
os/threading: Fix typo in comment
2020-11-30 15:38:07 +00:00
Lubosz Sarnecki
bd68c0e5f5
aux/math: Implement math_matrix_2x2_multiply.
2020-11-27 16:50:55 +01:00
Christoph Haag
f7cbe37c2d
u/hand_tracking: Tweak hand model parameters
...
* shortened way too long bones
* tweaked offset positions
2020-11-23 20:42:54 +00:00
Christoph Haag
006971ae7a
u/hand_tracking: Calculate joint velocities
...
And return them in the state tracker
2020-11-23 20:42:54 +00:00
Christoph Haag
aa6e5f7fdf
u_hand_tracking: Fix typo in u_hand_tracking_model
2020-11-23 20:42:54 +00:00
Christoph Haag
f5ef3985ba
xrt: Add support for locating hand joints in action spaces
2020-11-23 20:42:54 +00:00
Christoph Haag
95af586654
aux: Add m_space_graph_add_inverted_relation
2020-11-23 20:42:54 +00:00
Christoph Haag
d6b072805a
aux: Add m_space_relation_invert
2020-11-23 20:42:54 +00:00
Ryan Pavlik
66811b436a
xrt: Have the vk_helper vk_create_device take in a list of device extensions, and fix usages.
2020-11-23 14:27:21 -06:00
Jakob Bornecrantz
ef6c8430d2
m/space: Make sure to not drop positions
2020-11-18 18:05:07 +00:00
Christoph Haag
9e788df463
xrt: Remove lens center from xrt_view
...
It's only used internally in drivers now.
2020-11-12 16:04:00 +01:00
Ryan Pavlik
86a19e6697
gradle: Remove unused dependencies.
2020-11-10 18:44:03 +00:00
Ryan Pavlik
5115124bb3
aux/android: Factor out a "native counterpart" class.
2020-11-10 18:44:03 +00:00
Ryan Pavlik
a792b08ed7
aux/vk: Minimal, untested implementations of these for Windows - fixes build
2020-11-10 03:09:07 +00:00
Ryan Pavlik
cc15bfa7ed
a/util: FIx ambiguity of directories for docs.
2020-11-10 03:09:07 +00:00
Ryan Pavlik
8f10d9c2b8
u_hand_tracking: Fix usage of M_PI
2020-11-10 03:09:07 +00:00
Ryan Pavlik
d2955a3967
aux/util: Adjust conditional log macros to handle msvc correctly
2020-11-10 03:09:07 +00:00
Jakob Bornecrantz
aa7f922e35
os/time: Add a Linux specific way to get the realtime clock (for RealSense)
2020-11-09 23:42:13 +00:00
Jakob Bornecrantz
4bbe25148b
os/time: Make timespec argument const
2020-11-09 23:42:11 +00:00
Ryan Pavlik
7cebdb4763
aux/os: More defines to calm clang-tidy.
2020-11-09 16:18:00 -06:00
Ryan Pavlik
b855fd1ae2
a/util: Appease clang-tidy with a define for ns per second
2020-11-09 16:18:00 -06:00
Ryan Pavlik
ab82c5b8e2
u_debug: Remove duplicate declaration
2020-11-09 16:18:00 -06:00
Christoph Haag
9d894ab5ff
xrt: Move tracking origin setup code to u_device
2020-11-09 00:32:33 +01:00
Christoph Haag
c60b7412e5
xrt: Move device assignment code to u_device
2020-11-09 00:32:33 +01:00
Christoph Haag
803e9531ec
aux: Use time since time_state creation for time_state timestamps
...
Easy to read timestamps and somewhat meaningful.
2020-11-05 23:11:03 +00:00
Ryan Pavlik
ce3750bfe1
a/android: Store a native pointer in the MonadoView.
2020-10-30 18:20:35 -05:00
Ryan Pavlik
3bc84cca9e
a/android: Migrate to using the MonadoView generated wrapper.
2020-10-30 18:20:35 -05:00
Ryan Pavlik
b6a12f8522
a/android: Add some partially-generated wrappers for our own Java code.
2020-10-30 18:20:35 -05:00
Ryan Pavlik
fc78b5de86
a/android: Use android_custom_surface constructor/destructor
2020-10-30 18:20:34 -05:00
Ryan Pavlik
66d6281a7f
a/android: Monitor whether MonadoView is still being used by native code.
2020-10-30 18:20:34 -05:00
Ryan Pavlik
26cd22b232
a/android: Move class name to a constant.
2020-10-28 12:12:31 -05:00
Ryan Pavlik
da3959e642
a/android: C++ headers use .hpp as the extension
2020-10-28 12:12:31 -05:00
Ryan Pavlik
8301c9d1b4
a/android: Fix some file comments.
2020-10-28 12:12:31 -05:00
Ryan Pavlik
1acadb8a18
a/android: Make MonadoView fullscreen.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki
d61faff421
aux/android/ahardwarebuffer_allocator: Use Vulkan enums in format switch.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki
633b7839c2
aux/vk+comp/sc: Initialize extra structs for hardware buffer extension.
...
Fix sRGB format for Android hardware buffers.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki
3cc8793d7d
aux+comp: Add Android hardware buffer device extension.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki
2cc8252c05
aux/vk: Add vkGetAndroidHardwareBufferPropertiesANDROID.
2020-10-28 12:12:31 -05:00
Lubosz Sarnecki
2df2daa00c
aux/android/ahardwarebuffer_allocator: Add function to allocate a single buffer.
2020-10-28 12:12:31 -05:00
Ryan Pavlik
436886852d
a/android: Improve monadoview, including fixing deleted ref problem.
2020-10-28 12:12:31 -05:00
Ryan Pavlik
dfd771f768
aux/android: Enhance custom surface
...
Includes fixes to my mistakes by Lubosz.
Co-authored-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2020-10-28 09:41:03 -05:00
Lubosz Sarnecki
e78ad12634
aux/android/custom_surface: Make JNI happy.
...
Keep android_load_class methods in C++, since
casting the class handle to void results in:
```
JNI DETECTED ERROR IN APPLICATION: use of deleted global reference.
```
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2020-10-28 09:33:47 -05:00
Lubosz Sarnecki
2a8db3d780
aux/android/load_class: Use pkgClassLoader.loadClass to load MonadoView class.
2020-10-28 09:33:46 -05:00
Lubosz Sarnecki
dbe0338956
android/MonadoView: Register surface callback and fix imports.
...
Run UI things on UI thread.
2020-10-28 09:33:46 -05:00
Ryan Pavlik
43d724b6bf
aux/vk: Fix a place where we were missing an android ifdef
2020-10-28 09:33:46 -05:00
Ryan Pavlik
d4b19f3d47
aux/android: Add custom surface code.
2020-10-28 09:33:46 -05:00
Ryan Pavlik
9b67c0a09f
aux/android: Add code to load Java from a package
2020-10-28 09:33:46 -05:00
Ryan Pavlik
d0187cee9a
aux/android: Add Java code
2020-10-28 09:33:26 -05:00
Ryan Pavlik
06f75e03b4
a/android: Fix typo in comment
2020-10-28 09:32:49 -05:00
Ryan Pavlik
59d2285c8e
aux/util: Port logging for Android.
...
Now if u_logging is used, it goes to logcat.
2020-10-28 09:32:49 -05:00
Jakob Bornecrantz
463330d5d5
u/distortion: Set blend mode incase it is zero
2020-10-27 21:34:29 +00:00
Jakob Bornecrantz
ecbde55752
m/space: Normalize orientation when returning result
2020-10-27 16:20:12 +00:00
Jakob Bornecrantz
bd6ea43de5
m/headers: Fix doxygen warnings
2020-10-26 22:55:22 +00:00
Jakob Bornecrantz
8730ff479a
u/hand_tracking: Tidy header
2020-10-26 22:50:54 +00:00
Jakob Bornecrantz
75153a7066
u/distortion: Add simple cardboard distortion code
2020-10-26 21:53:55 +00:00
Jakob Bornecrantz
ed2040a571
u/mesh: Tidy header
2020-10-26 20:36:30 +00:00
Lubosz Sarnecki
7035490ed7
aux/math: Implement math_matrix_4x4_inverse_view_projection.
2020-10-26 01:34:10 +00:00
Jakob Bornecrantz
2528583c55
xrt: Add git tag/description
2020-10-20 17:43:11 +01:00
Jakob Bornecrantz
438a8e71f9
aux/vk: Add vkFreeDescriptorSets
2020-10-13 18:59:28 +01:00