Jakob Bornecrantz
67dd88ec4a
a/vive: Refactor out calibration getters into own file [NFC]
2023-05-16 23:34:32 +01:00
Jakob Bornecrantz
3487923eab
d/qwerty: Remove old prober code
2023-05-16 22:25:05 +00:00
Jakob Bornecrantz
fb30f5e077
t/common: Put simulated, remote and qwerty higher up in list
2023-05-16 22:25:05 +00:00
Jakob Bornecrantz
be58024ffb
t/common: Add Qwerty builder
2023-05-16 22:25:05 +00:00
Jakob Bornecrantz
76c5d677d7
d/qwerty: Add helper create function
2023-05-16 22:25:05 +00:00
Jakob Bornecrantz
ef59d8e85d
d/qwerty: Tidy header [NFC]
2023-05-16 22:25:05 +00:00
Ryan Pavlik
ae6b0ad445
st/p,t/common: Protect tracker-creation calls
2023-05-16 22:04:53 +00:00
Ryan Pavlik
cd79bef0cf
cmake: Fix build flags on MSVC
2023-05-16 22:04:53 +00:00
Ryan Pavlik
f0cc05d09b
cmake: Turn off two drivers that are currently incompatible with MSVC
2023-05-16 22:04:53 +00:00
Ryan Pavlik
173b36c3a2
t/sdl_test: Fix macro collision on Windows
2023-05-16 22:04:53 +00:00
Ryan Pavlik
8603e5d63e
i/client: Fix return type incompatibility on Windows
2023-05-16 22:04:53 +00:00
bjorn
d16576252f
c/main: Fix XRT_COMPOSITOR_FORCE_WAYLAND_DIRECT;
2023-05-16 14:40:10 -07:00
samuel degrande
ea7ec1bda8
xrt: Fail to build with Clang 16
2023-05-16 14:25:36 +00:00
Christoph Haag
2f4a926184
t/legacy: Ensure all legacy drivers can be disabled [NFC]
2023-05-16 08:53:55 +00:00
samuel degrande
1ad168cfc5
cmake: Fix build failure on msys2/mingw64
...
This is due to the use of `${SDL2_LIBRARIES}` over `SDL2::SDL2`.
On some 'old' OSes such as Ubuntu 20.04, the SDL2 CMake config does
not set an SDL2:SDL2 target but rather defines SDL2_LIBRARIES and
SDL2_INCLUDE_DIRS variables.
This patch creates an SDL2::SDL2 target, if not already set, based on
those 2 variables.
2023-05-15 16:41:34 +00:00
Jakob Bornecrantz
adc609d7c9
t/sdl_test: Compile as UTF-8 to fix MSVC warning
...
Fix the following warning:
sdl_program.cpp(25): warning C4566: character represented by universal-character-name '\u2603' cannot be represented in the current code page (1252)
2023-05-14 15:57:08 +01:00
Ryan Pavlik
4ffb271c6a
cmake: Build all math-heavy code with optimization.
2023-05-14 08:28:37 +00:00
Jakob Bornecrantz
8c97342732
u/pacing: Add minimum compositor time
2023-05-14 06:52:55 +00:00
Jakob Bornecrantz
f5e33e59c8
u/pacing: Add minimum app time option
2023-05-14 06:52:55 +00:00
Jakob Bornecrantz
fd55a0f1ef
u/pacing: Use helpers for ms <-> ns conversion
2023-05-14 06:52:55 +00:00
Jakob Bornecrantz
e3ce39926a
u/pacing: Improve comments
2023-05-14 06:52:55 +00:00
Jakob Bornecrantz
bfb3d7029c
u/time: Add ms to ns helper
2023-05-14 06:52:55 +00:00
Jarett Millard
f1bc10003d
d/pssense: Basic 3DoF pose tracking from IMU data
2023-05-13 10:58:33 -04:00
Jakob Bornecrantz
ca20f359b5
ipc: Allow UWP/AppContainer and others to connect
...
Including: UWP/AppContainer, Authenticated user and Administrator. Currently
guarded with IPC_RELAXED_CONNECTION_SECURITY env variable.
2023-05-06 16:21:30 +01:00
Jakob Bornecrantz
5e19ae6a5b
st/oxr: Refactor wait frame function to avoid setting state before we should
...
We would leak frame_id and active_wait_frames increment that would cause bad
states where we hadn't fully waited but would allow xrBeginFrame to complete.
Also improve error handling so that on error conditions the semaphore is
properly decremented and the application can call xrWaitFrame again.
This was caused by unreal doing something like this:
* xrBeginFrame <-- Error
* xrWaitFrame
* xrBeginFrame
* xrEndFrame
* Called at the same time:
* xrWaitFrame
* xrBeginFrame <-- Would get state from non-completed xrWaitFrame
2023-05-03 16:18:10 +01:00
Jakob Bornecrantz
cfb63abac1
ipc: Do not leak arguments before fully having waited
2023-05-03 16:16:13 +01:00
Jakob Bornecrantz
0fc9796a74
u/pacing: Improve debug printing in app pacer
2023-05-03 16:16:11 +01:00
Jakob Bornecrantz
5511be3c2d
u/pacing: Add variable tracking to fake pacer
2023-05-03 12:23:20 +01:00
Jakob Bornecrantz
04d5942fa5
c/main: Try to detect when we miss frames
2023-05-03 12:23:20 +01:00
Jakob Bornecrantz
73f68fd111
c/main: Prefer only two swapchain images
2023-05-03 12:23:19 +01:00
Jakob Bornecrantz
2ab43f7494
c/main: Only do early acquire if we are ready
2023-05-03 12:23:02 +01:00
Jakob Bornecrantz
27fafacf63
c/main: Refactor frame handling a bit
2023-05-03 12:23:02 +01:00
Jakob Bornecrantz
2a17212d7f
c/main: Use vk_surface_info when creating images
2023-05-03 12:23:01 +01:00
Jakob Bornecrantz
622e09bc19
a/vk: Add vk_surface_info helpers
2023-05-03 00:09:03 +01:00
Jakob Bornecrantz
5432e4c1b0
d/twrap: Log errors in twrap_slam_create_device
2023-05-02 23:39:58 +01:00
Jakob Bornecrantz
1f2d444ffc
t/common: Fix typo
2023-05-02 23:27:57 +01:00
Fernando Velazquez Innella
6096f2199d
c/client: Signal D3D12 fence from GPU instead of CPU
2023-05-02 21:23:19 +00:00
Ryan Pavlik
887b79f577
t/common: Add a missing result and null check in North Star builder
2023-05-02 21:19:40 +00:00
Jan Schmidt
2d418ac14a
d/wmr: Allow direct BT HP Reverb G2 controllers
...
Don't skip HP Reverb G2 controllers when they are directly
connected via bluetooth
2023-05-01 16:32:33 +01:00
Jan Schmidt
51097c9ecd
d/wmr: Implement HP Reverb G2 controller
...
Implement the HP Reverb G2 controller subclass
and device specific input parsing.
2023-05-01 16:32:33 +01:00
Jan Schmidt
3c641c8490
xrt: Add extra HP Reverb G2 controller click controls
...
Add XRT_INPUT defines for HP G2 WMR controller home and squeeze click
inputs
2023-05-01 16:32:33 +01:00
Jan Schmidt
7e18fac224
d/wmr: Differentiate Odyssey+ controller
...
Switch the device name and input/binding mappings for
Odyssey+ controllers to differentiate them from OG WMR
controllers, allowing applications to load the correct
controller model
2023-05-01 16:32:33 +01:00
Jan Schmidt
3d0c898e22
d/wmr: Add Home button click to the OG WMR controller
2023-05-01 16:32:33 +01:00
Jan Schmidt
ea53d274a5
d/wmr: Split out OG WMR controller handling
...
Move the original WMR controller specific handling
into a subclass of wmr_controller_base, and add
a stub placeholder for HP Reverb G2 controllers
2023-05-01 16:32:33 +01:00
Jan Schmidt
f33326e90b
d/wmr: Fix crash on invalid firmware
...
Don't access invalid memory on a short firmware read.
2023-05-01 16:32:33 +01:00
Jan Schmidt
d326ff9890
d/wmr: Split the connection from controller
...
Factor out the bluetooth connection behaviour from
the WMR controller, so the connection can be
provided from the headset as well.
2023-05-01 16:32:33 +01:00
Jan Schmidt
35f72696fb
xrt: Add WMR and Odyssey home click
...
Add xrt input entries to expose the home button on OG and
Odyssey+ WMR controllers
2023-05-01 16:32:33 +01:00
Jakob Bornecrantz
cb6201f297
st/oxr: Set extensions earlier
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
ce5669aabb
st/oxr: Handle LOCAL_FLOOR enums
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
2b921ab673
t/slam: Enable some tracing
2023-05-01 14:03:41 +01:00
Jakob Bornecrantz
c0cc22e101
d/wmr: Expand tracing in camera
2023-05-01 14:03:40 +01:00
Jakob Bornecrantz
cfdea265f4
c/client: Avoid using shared context on synchronization
2023-05-01 14:03:01 +01:00
Jan Schmidt
96d188803c
d/wmr: Fix typo in debug output
...
correnntly -> currently
2023-05-01 13:51:44 +01:00
Jan Schmidt
236e732404
d/wmr: Fix prober crash after failing to load fw
...
Fix a double-free. The wmr_hmd_create() method
already cleans up the hid devices on failure.
2023-05-01 13:51:44 +01:00
Jan Schmidt
87d804c7d6
d/wmr: Log larger Device Status messages
...
HP Reverb G2 sends larger device status messages with unknown
content. Log how large they are, and at least dump the first
11 bytes
2023-05-01 13:51:44 +01:00
Jan Schmidt
ed54b7899c
d/wmr: Don't wait forever for HMD firmware
...
Add a 100ms timeout for firmware reads from the HMD,
and error out if it takes longer. Fixes problems
sometimes waiting forever on my G2 when it gets
into a bad state.
2023-05-01 13:51:44 +01:00
Jan Schmidt
7b4fffed8f
d/wmr: Improve readability in the camera source
2023-05-01 13:51:44 +01:00
Jan Schmidt
e9c977243f
u/logging: Add hexdump logging method
...
Add macros for logging hexdumps of memory blocks to help
with driver development. Only macros for trace and debug
level logging are provided, as noone should be logging
hexdumps except for development.
2023-05-01 13:51:44 +01:00
utzcoz
4f171b3d55
ext/openxr: Update headers to 1.0.27
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-27 21:48:50 +08:00
Jakob Bornecrantz
5197b4a42f
d/vive: Add a slider to adjust all tracked pose timestamps
2023-04-26 22:17:36 +01:00
Jakob Bornecrantz
ce3c5d59fb
d/wmr: Add a slider to adjust all tracked pose timestamps
2023-04-26 22:17:36 +01:00
Jakob Bornecrantz
9d8668a0a6
cmake: Remove _SLAM suffixes on KIMERA and BASALT have defines
2023-04-26 21:39:16 +01:00
Jakob Bornecrantz
99c1742c82
ext/slam: Use LDFLAGS instead of libraries
...
This lets us avoid LIBRARY_PATH in order to build Monado.
2023-04-26 21:39:16 +01:00
Ryan Pavlik
c924157c59
a/android: Only look up the standardized intent to find our own package.
...
Should allow a constrained query manifest in client apps.
2023-04-25 10:40:58 -05:00
Ryan Pavlik
f57bc4a849
android-jni-wrap: Update to add more things
2023-04-24 11:43:30 -05:00
Christoph Haag
aa052046a8
cmake: Delete active_runtime.json if it already exists
2023-04-24 13:57:00 +00:00
Jakob Bornecrantz
c0d242e1ed
a/vk: Fix doccomment style [NFC]
2023-04-21 14:28:18 +01:00
Jakob Bornecrantz
17ea4a73eb
a/vk: Mark unexported function as static [NFC]
2023-04-21 14:28:18 +01:00
Jakob Bornecrantz
c7fa7fe701
a/vk: Loop over all optional extensions, not just the first
...
This caused the event thread to not start
because the needed extensions where not enabled.
2023-04-21 14:27:33 +01:00
Jakob Bornecrantz
05792ff150
st/oxr: Refactor OXR_NO_PRINTING env vars
2023-04-18 22:28:53 +01:00
Jakob Bornecrantz
fa0b3ad73c
st/oxr: Refactor logging functions and use OutputDebugStringA on Windows
...
The OXR logging functions are not called during normal opperation so it's okay
to always copy into a full buffer.
2023-04-18 22:28:53 +01:00
Jarvis Huang
0d31791092
comp/android: Refine surface creation flow
...
Reuse MonadoView when "Display over other apps" is enabled. Move surface
creation logic to compositor for consistency. With this approach, compositor
implementer controls the way surface is created.
2023-04-18 16:24:35 -05:00
Jarvis Huang
cf7e44b710
aux/android: Refactor MonadoView
2023-04-18 16:22:42 -05:00
Jarvis Huang
7c02d466e2
externl: Update android-jni-wrap
2023-04-18 16:22:42 -05:00
Jarvis Huang
d60db29295
aux/android: Refactor SystemUiController
2023-04-18 16:22:42 -05:00
Jakob Bornecrantz
7147e47508
c/client: Implement excplicit transitions in Vulkan and D3D12
2023-04-18 14:31:55 +01:00
Jakob Bornecrantz
45fe1d6ed0
st/oxr: Refactor swapchains to use explicit transitions
2023-04-18 14:31:55 +01:00
Jakob Bornecrantz
6415480f1c
st/oxr: Tidy includes [NFC]
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
b49cd74114
st/oxr: Rename and document common swapchain creation function [NFC]
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
9055b9d2ec
st/oxr: Remove unneeded prefixes on functions [NFC]
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
52f790289d
st/oxr: Swapchain destroy was the same for all APIs
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
a56caf762e
st/oxr: Refactor swapchain functions a bit
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
505e4e8c2f
c/client: Refactor image barrier submission into a helper function
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
0d21b73b05
c/client: Implement transition image stubs
2023-04-18 14:21:10 +01:00
Jakob Bornecrantz
b7362f27e6
xrt: Add image transition inteface
2023-04-18 14:21:10 +01:00
Ryan Pavlik
9840730169
ipc/android: Run spotlessApply to format Java and Kotlin code
2023-04-17 10:58:38 -05:00
Ryan Pavlik
fc3af6f711
a/android: Run spotlessApply to format Java and Kotlin code
2023-04-17 10:58:38 -05:00
utzcoz
b5b0c30936
t/android: Run spotlessApply to format Java and Kotlin code
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-17 10:58:38 -05:00
utzcoz
8e93bbde4b
gradle: Integrate spotless to format Java and Kotlin code
...
See https://github.com/diffplug/spotless .
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-17 10:58:38 -05:00
utzcoz
c8c5d6444e
gradle: Remove redundant dependency of lifecycle-viewmodel
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-15 16:20:50 +00:00
Mario Kleiner
ff9ad4016f
c/multi: Refine some logging messages a bit.
...
Add some timestamps and extra logging to the frame scheduling code.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:43:20 +00:00
Mario Kleiner
ae2e7405dd
c/multi: Move log_frame_time_diff() to avoid false late frame reports.
...
In its original call location, this diagnostic/warning function gets
called for each composition cycle even for client frames which have
not yet been delivered for display, because the frames target display
time "XrFrameEndInfo frameEndInfo.displayTime" (as provided by the
OpenXR client) has not been reached yet. Iow. if a OpenXR client
specifies a target frameEndInfo.displayTime in the future, to request
frame presentation in the future, this will cause a flood of false
"Frame late ..." messages by the compositor, despite nothing being
wrong with the timing, until the frame is actually delivered.
E.g., if frameEndInfo.displayTime is 1 second in the future, we'll
get this for each client xrEndFrame() invocation:
WARN [log_frame_time_diff] Frame late by 11.11ms!
WARN [log_frame_time_diff] Frame late by 22.22ms!
... another 87 like these ...
WARN [log_frame_time_diff] Frame late by 988.43ms!
I think what we want is to only check client frames that are actually
delivered the first time by multi_compositor_deliver_any_frames() for
initial display in the current compositor work cycle, and then report
if this first frame display onset was not on or close to the OpenXR
client requested frameEndInfo.displayTime, but too early or too late,
in violation of the clients wishes.
Moving the call check and call of log_frame_time_diff() achieves this
and gives meaningful debug output.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:43:20 +00:00
Mario Kleiner
1c96ee619d
u/metrics: Add option to fflush after writing each metrics record.
...
This allows to use the metrics logging in "streaming mode" where
records are written out with low delay, e.g., into a Unix fifo
file / pipe for live consumption by some tracing or recording
application.
XRT_METRICS_EARLY_FLUSH=true enables this "streaming mode".
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-15 00:32:22 +00:00
Mario Kleiner
9e647f9a46
d/vive: Parse/Recognize HTC Vive Pro Eye HMD headphone audio buttons.
...
Does not do anything yet within Monado, but documents how to parse
button state of left headphone volume up/down buttons and right
headphone microphone mute button.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-14 10:48:39 +00:00
Mario Kleiner
0116a76db5
d/vive: Add Vive Wand controller name string for the HTC Vive Pro Eye.
...
Behave like other Wands, just a different name string.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-04-14 10:48:39 +00:00
Jakob Bornecrantz
86262e8b4e
a/vk: Remove global command pool
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
e9475b1313
c/main: Use cmd helpers for main submission
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
231a743896
c/main: Use cmd pool helpers in peek code
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
185bc2bc3c
c/main: Use cmd pool helpers in mirror window code
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
5ef2b647f1
c/main: Use cmd pool helpers in layer render
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
1ddfcaa5ab
c/client: Use cmd pool helpers
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
d1906d1cf8
c/util: Use cmd pool helpers in swapchain code
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
197461b4cd
c/render: Refactor close loops [NFC]
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
6598760522
c/render: Put distortion image functions in own file
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
f536ec2009
c/render: Use cmd pool helpers in init code
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
e5fed9c3be
c/render: Improve error handling
2023-04-14 02:34:49 +01:00
Jakob Bornecrantz
68b8a2f371
a/vk: Add command pool helpers
2023-04-14 02:34:49 +01:00
Moshi Turner
4d3c1cf7c5
t/common: Parse upside-down DepthAI device in North Star builder
2023-04-13 11:50:38 +00:00
Moshi Turner
bdc33510a1
h/mercury: Dump camera calibration if debugging
2023-04-13 11:50:38 +00:00
utzcoz
667a0404c2
a/util: Remove unused headers for u_var.cpp
2023-04-13 06:41:06 +00:00
Moshi Turner
ec59e97bda
st/gui: Use IMU in EuRoC recorder scene
2023-04-12 16:43:20 -05:00
Moshi Turner
c05c5d5c2e
st/gui: Add EuRoC recorder for DepthAI cameras
2023-04-12 12:19:13 +00:00
Moshi Turner
53e738a093
d/dai: Add manual exposure controls
2023-04-12 12:11:06 +00:00
Jakob Bornecrantz
ee0dad22d5
c/main: Tidy readback code [NFC]
2023-04-12 12:49:24 +01:00
Moshi Turner
f2bea2c7c6
d/ns; a/util: Remove old name from Moshi's distortion correction method
...
I don't hate my old name that much, but this is my last chance to change it before there's some "moshi-style" North Stars floating around.
2023-04-11 23:45:23 -05:00
Moshi Turner
19e0af55d2
c/main: Bounce readback images off temporary image
...
Most NVidia graphics cards don't support blitting straight from device memory to host memory, but all GPUs support doing it this way.
2023-04-11 22:27:36 -05:00
Moshi Turner
51ff80e802
st/gui: Lazily create debug sinks so that they can be created at any time
...
Useful for deferred-creation compositors, and for repositories submoduling Monado.
2023-04-11 19:50:41 -05:00
utzcoz
39d701a30c
t/common: Fix small typo for target_builder_simulated.c's comment [NFC]
2023-04-11 12:00:01 +00:00
utzcoz
5565564e70
gradle: Fix building with JDK11+
...
1. Bump Kotlin version to 1.7.10.
2. Bump Hilt version to 2.45.
3. Add implementation of lifecycle-viewmodel-ktx dependency explicitly
to fix duplicate class error.
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-11 11:43:57 +00:00
utzcoz
08831237f5
gradle: Migrate compileSdkVersion to compileSdk
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-11 11:43:57 +00:00
Christoph Haag
c248670f2f
d/survive: Add vive ipd range
2023-04-11 11:42:21 +00:00
Ryan Pavlik
af29da2545
gradle: Use static C++ runtime library by default when building Monado, for compatibility.
...
We do not export any C++ symbols.
Added property to allow selection of shared C++ standard lib.
2023-04-10 14:11:41 -05:00
Ryan Pavlik
788973926a
gradle: Fix warning related to dagger
2023-04-10 14:11:41 -05:00
Ryan Pavlik
8bc8abe904
gradle: Fix parsing OpenXR version
2023-04-10 14:11:41 -05:00
Ryan Pavlik
048552f914
gradle: Adjust where we generate files to
2023-04-10 14:11:41 -05:00
Ryan Pavlik
8b50c5cb9e
gradle: Do not need the CDDL anymore because Dagger changed its deps
2023-04-10 14:11:41 -05:00
Ryan Pavlik
4369640ecc
android: Clean up manifest and silence warnings
2023-04-10 14:11:41 -05:00
Ryan Pavlik
35b1bc063d
gradle: Update dependencies further and fix conflicts
2023-04-10 14:11:41 -05:00
Jakob Bornecrantz
5f1b54bcd5
a/vk: Add blit and copy helpers
2023-04-09 14:04:53 +01:00
Jakob Bornecrantz
c0287b690b
a/vk: Add command helpers
2023-04-09 12:01:27 +01:00
Jakob Bornecrantz
14f15284a1
a/vk: Update comments for command buffer writers
2023-04-08 00:03:20 +01:00
Jakob Bornecrantz
585e23054d
a/vk: Use helper define in vk_csci_get_image_usage_flags
2023-04-07 21:44:22 +01:00
Jakob Bornecrantz
732c4a23ae
a/vk: Don't unconditionally set colour attachment usage bit for swapchains
2023-04-07 21:44:22 +01:00
Jakob Bornecrantz
748ec59ddf
a/vk: Don't hardcode sampled bit anymore
2023-04-07 21:44:22 +01:00
Jakob Bornecrantz
9f06b1a25e
c/util: Always request sampled in extra bits
2023-04-07 21:44:22 +01:00
Jakob Bornecrantz
a03d1421b8
c/client: Respect native compositor's extra usage bits
2023-04-07 21:44:22 +01:00
Jakob Bornecrantz
1adf46b02a
c/client: Use correct format in get_swapchain_create_properties funtions
2023-04-07 21:44:20 +01:00
Jakob Bornecrantz
94c9c8a253
xrt: Allow compositor to request extra usage bits
...
Some compositors might need extra usage bits set beyond just the constant
sampled bit, make it all generic and extend the xrt interface to allow it.
2023-04-07 21:33:52 +01:00
Jakob Bornecrantz
b193c3bdd2
t/sdl_test: Make sure to init devices before system devices
2023-04-07 16:11:16 +01:00
Jakob Bornecrantz
bab4a126ae
xrt: Remove product_name from xrt_prober_device struct
...
And move it to an internal struct instead. Better to keep it internal to the
prober as it was only used for the bluetooth probing. And there was a function
that applications should use to get strings from xrt_prober_device.
2023-04-07 15:37:22 +01:00
Jakob Bornecrantz
d40805e777
c/client: Silence VK_FORMAT_R32_SFLOAT warning in OpenGL code
2023-04-07 14:27:08 +00:00
Jakob Bornecrantz
8e087ac5ac
d/vive: Use vive_poses helpers for offsets of poses
2023-04-07 13:37:05 +00:00
Jakob Bornecrantz
ea97960b9e
d/vive: Change how the pose GUI variable is updated
2023-04-07 13:37:05 +00:00
utzcoz
990ce39fa1
c/main: Remove unused headers for comp_renderer.c
2023-04-07 11:23:43 +00:00
Mateo de Mayo
c0f7a5ed01
d/vive: Improve handling of controller pose
2023-04-06 16:46:11 +00:00
Jakob Bornecrantz
e9c43a7ca6
d/wmr: Remove legacy found functions
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
2ddf868735
d/wmr: Do device creation via builder interface
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
56dd75c14d
d/wmr: Add stub WinMR builder
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
05b83d5102
d/wmr: Move wmr_headset_type to wmr_common.h
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
3819a21e44
d/wmr: Tidy interface and common headers
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
6ee235ac3b
d/wmr: Tidy camera destroy function
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
1410afc330
d/wmr: Reject timestamps that are older then the last sample received
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
a5d3fff573
t/common: Add NorthStar to doxygen
2023-04-05 16:53:24 +01:00
Jakob Bornecrantz
85886e53e1
c/client: Make it clear where we break the OpenXR spec
2023-04-04 13:56:55 +01:00
Jakob Bornecrantz
a6764b751a
c/client: Don't use vkDeviceWaitIdle
...
As per the documentation for vkDeviceWaitIdle, it requires that the VkQueue
host access is externally synchronized. And the application may have other
VkQueue's in use that we do not know about.
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkDeviceWaitIdle.html
2023-04-04 13:56:55 +01:00
Jakob Bornecrantz
50838f5801
xrt: Introduce xrt_layer_frame_data
2023-04-04 13:38:21 +01:00
Jakob Bornecrantz
bec9a30bfe
xrt: Re-order compositor header for better grouping [NFC]
2023-04-04 13:30:22 +01:00
Mateo de Mayo
3a11afa846
d/wmr: Fix null dereference
2023-04-03 17:55:08 -03:00
Mateo de Mayo
3ecee6d0ca
d/wmr: Support head tracking with more than two cameras
2023-04-03 12:17:11 -03:00
utzcoz
629c4b67f1
ipc/android: Remove unnecessary toString for log
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
utzcoz
d30b015b39
aux/android: Remove unnecessary toString for log
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
utzcoz
a4cea7c0e3
t/android: Remove unnecessary toString for log
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2023-04-02 16:14:15 +00:00
Jakob Bornecrantz
a2081db38a
st/oxr: Fix typo in OXR_CHECK_XRET define usages [NFC]
...
Fix typo that I introduced in !1727 (95512594a0
).
2023-04-01 16:32:03 +01:00
Mateo de Mayo
24de185b6c
t/openvr: Add openvr tracker for recording lighthouse groundtruth
...
With the SLAM_OPENVR_GROUNDTRUTH_DEVICE we can select a device (HMD, right/left
controller, vive tracker) to use as the groundtruth provider for a SLAM tracker.
This is useful to record euroc datasets with lighthouse groundtruth.
2023-04-01 14:56:39 +00:00
Jarvis Huang
95512594a0
st/oxr: Convert session IPC error to XR_ERROR_SESSION_LOST
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-04-01 15:44:32 +01:00
Jakob Bornecrantz
c006ac138f
st/oxr: Add helper for xrt_result_t checking
2023-04-01 15:44:32 +01:00
Jarvis Huang
c560ff5592
st/oxr: xrPollEvent should not return XR_SESSION_LOSS_PENDING
2023-04-01 14:43:40 +01:00
Jarvis Huang
7cd1d4886f
st/oxr: Support session lost error in session related APIs
2023-04-01 14:43:40 +01:00
Jarvis Huang
f9d83c8b1f
st/oxr: Handle XR_SESSION_STATE_LOSS_PENDING
2023-04-01 14:43:40 +01:00
Jarvis Huang
971947f722
c/multi: Implement xrt_multi_compositor_control::notify_surface_lost
2023-04-01 14:43:40 +01:00
Jarvis Huang
aa9c559f96
xrt: Add new API in xrt_multi_compositor_control interface
2023-04-01 14:43:40 +01:00
utzcoz
982932158c
c/main: Remove unused comp_renderer including for comp_window_peek
2023-04-01 10:37:09 +00:00
Ryan Pavlik
c1ba8ff74f
t/oxr_android: Fix manifest by specifying the full classname of the activity
...
Needed in order to fix the move of the default namespace.
2023-03-29 14:10:17 -05:00
utzcoz
62d1510458
c/main: Remove unused header files from comp_target_swapchain.c
2023-03-29 17:36:56 +00:00
utzcoz
7676fa0a93
gradle: Bump AGP to 7.1.2
...
1. Bump AGP to 7.1.2.
2. Bump hiltVersion to 2.38.1.
3. Migrate lintOptions to lint.
4. Move package from AndroidManifest to Gradle.
5. Fully qualify application class name.
6. Fix packagingOptions usage with resources wrapper.
Signed-off-by: utzcoz <utzcoz@outlook.com>
Signed-off-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2023-03-29 16:48:16 +00:00
Jakob Bornecrantz
92f7e36083
st/oxr: Validate view array types
2023-03-28 19:30:57 +01:00
utzcoz
c1f4f41dd7
xrt/comp: Clean up comp_client's cmake conditions with D3D
2023-03-27 12:12:19 +00:00
Jakob Bornecrantz
3000028512
d/pssense: Link with aux_util
...
Fixes build with tracing, and should be linked since utilities are used.
2023-03-22 15:07:04 +00:00
utzcoz
2d6db97ea0
sdl_test: Fix building on Windows platform
2023-03-22 14:18:25 +00:00
Jarett Millard
b975545764
d/pssense: Add PlayStation Sense controller driver
...
The driver probes the Sense controller devices and interprets the button presses from HID packets
2023-03-20 23:20:34 -04:00
Jakob Bornecrantz
191ca7dbfd
u/hand: Remove unused field
...
When we need this enum we can add it back in the xrt headers.
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz
531b10fa4c
xrt: Tidy various header includes
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz
0c83cd350b
xrt: Do not include util headers in xrt headers
...
This lead to some files getting u_misc for free, and also
other things being pulled in when they shouldn't have been.
2023-03-16 14:19:38 +00:00
Jakob Bornecrantz
7ce5a729b1
d/survive: Add SURVIVE_TIMECODE_OFFSET_MS to set timecode offset at launch
2023-03-16 13:07:22 +00:00
Jakob Bornecrantz
ea7fbd4444
d/survive: Use u_var_draggable_f32 for timecode offset
2023-03-16 13:07:22 +00:00
Jakob Bornecrantz
0be1a3c512
u/debug_gui: Fix assert if window has been closed before exiting service
2023-03-16 12:27:43 +00:00
Moshi Turner
749d034a14
d/vive, d/survive, aux/vive: Fix hand offsets
2023-03-15 23:57:27 +00:00
Moshi Turner
570a5513be
d/opengloves: Remove left-over code
2023-03-15 23:42:46 +00:00
Jakob Bornecrantz
6b45e22164
d/survive: Make it possible to add offset to timecode calculation
2023-03-13 23:55:00 +00:00
Jakob Bornecrantz
b4e901f674
t/common: Print what driver is being used in Lighthouse driver
2023-03-13 23:49:50 +00:00
Mateo de Mayo
5503d75c43
d/vive: Fallback to v4l2 camera timestamps when lighthouse is on
...
The pulse 0xFD of the report 0x25 comes at 54hz and thus we are assuming its
timestamp are the camera frame timestamps. However, it seems that this report
stops coming when the lighthouses are enabled and instead we get a 0x28 report.
This commit silently handles the 0x28 instead of throwing errors and fallbacks
to using v4l2 timestamps instead of the previous timestamps from pulse 0xFD.
2023-03-13 17:58:24 +00:00
Mateo de Mayo
642549b5a0
t/euroc: Fix race condition in imu and gt csv writers
...
Multiple cameras were flushing the imu/gt queues but only one should do so.
2023-03-13 17:58:24 +00:00
Fernando Velazquez Innella
4b78b4c58e
aux/d3d: Add missing cubemap support
2023-03-13 17:29:56 +00:00
Jakob Bornecrantz
fc6fb265ff
t/file: Only read matrix sizes that are with in reasonable limits
2023-03-13 16:50:01 +00:00
Christoph Haag
be093c4e06
a/tracking: Fix psvr tracker OpenCV parameters
...
Fixes OpenCV exception on startup with Playstation Move controller:
what(): OpenCV(4.7.0) /usr/src/debug/opencv/opencv-4.7.0/modules/features2d/src/blobdetector.cpp:93: error: (-5:Bad argument) 0<minArea<=maxArea in function 'validateParameters'
2023-03-13 01:36:26 +00:00
Christoph Haag
9dbfdf97ce
d/ohmd,svr: Fix build
...
fixes d601f893da
2023-03-13 01:32:34 +00:00
Jakob Bornecrantz
63a180cb97
h/mercury: Remove unused variable to fix warning
2023-03-11 14:06:59 +00:00
Jakob Bornecrantz
5da159ce8f
ext/tracy: Silence warnings
2023-03-11 13:00:38 +00:00
Jakob Bornecrantz
be7d5c0c2a
ext/tracy: Update to v0.9.1
2023-03-11 12:54:50 +00:00
Jakob Bornecrantz
7c024b3994
st/oxr: Use xrt_space
2023-03-10 00:03:46 +00:00
Jakob Bornecrantz
c70bc60084
xrt: Also create a space overseer when creating system devices
2023-03-10 00:03:46 +00:00
Jakob Bornecrantz
4aaefc7588
ipc: Add xrt_space support
2023-03-10 00:03:46 +00:00
Jakob Bornecrantz
ad2542124b
u/builders: Add helper function to create space overseer
2023-03-10 00:03:46 +00:00
Jakob Bornecrantz
4d782620d1
u/space: Add default Space Overseer
2023-03-10 00:03:46 +00:00
Jakob Bornecrantz
1c00a596af
xrt: Add xrt_space interface
2023-03-09 20:42:58 +00:00
Jakob Bornecrantz
bff220b6f8
ipc: Implement xrt_device::compute_distortion
2023-03-09 15:51:29 +00:00
Jakob Bornecrantz
d601f893da
xrt: Tidy compute_distortion function
2023-03-09 15:51:12 +00:00
Christoph Haag
b0e164db19
d/survive: Fix warning
2023-03-08 22:12:18 +01:00
Christoph Haag
8cc5db3a6c
d/survive: Add some debug gui entries
2023-03-08 21:46:42 +01:00
Christoph Haag
24b53c0f1a
d/survive: Apply device IPD to view poses
2023-03-08 21:46:19 +01:00
Jakob Bornecrantz
062dec59b7
cmake: Sort print list and general tidy [NFC]
...
* Sort lists
* Add all entries to exposed cmakedefines list
* Remove duplicate hand-tracking entry
* Move SLAM entry to feature list as it's called feature
2023-03-08 01:03:21 +00:00
Moshi Turner
03546e0b99
h/mercury: Add wrist pose initialization guesser
2023-03-07 17:41:49 -06:00
Moshi Turner
3f2b71a9d5
h/mercury: Use post-rotation residual that'll handle big rotations
...
Fixes a long-standing bug
2023-03-07 17:41:49 -06:00
Moshi Turner
cdd0a6df67
h/mercury: Have a post-translation as well as post-rotation
...
For better numerical stability. Shouldn't significantly affect tracking besides slight jitter reduction and very slightly higher accuracy.
2023-03-07 17:41:49 -06:00
Moshi Turner
7c93b1ccfd
h/mercury: Move all defines to lm_defines.hpp
2023-03-07 17:40:45 -06:00
Moshi Turner
4ccc133ac5
h/mercury: Split lm_rotations into two files to make copyright ownership clear
2023-03-07 17:40:45 -06:00
Moshi Turner
7485afbeaa
xrt: Refactor oxr_sdl2_hack to u_debug_gui
...
And OXR_DEBUG_GUI to XRT_DEBUG_GUI
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-03-06 16:39:52 -06:00
Jakob Bornecrantz
e338d57945
st/gui: Remove unused pointer [NFC]
2023-03-06 14:38:36 +00:00
Moshi Turner
c0af2327fd
h/mercury: Push frame timestamp back before predicting next frame ROIs
...
Fixes minor logic error and stops crash if hands are detected on the very first frame
2023-03-05 22:41:10 -06:00
Moshi Turner
bc152f6983
h/mercury: Dynamically allocate arrays for stereographic projection
...
Also factor out stereographic_unprojection into its own file because we're gonna need it elsewhere
2023-03-04 17:52:15 -06:00
Moshi Turner
0931cbaf0f
h/mercury: Add option to run hand detection model in all views
2023-03-03 20:27:39 -06:00
Moshi Turner
7f5562c765
h/mercury: Don't show hands until tracked for 10 frames
2023-03-03 20:27:39 -06:00
Moshi Turner
84bae0b8ca
h/mercury: Add debug instrumentation header
...
So that we can run automated tests on our hand tracking
2023-03-03 20:27:39 -06:00
Moses Turner
a934bf4ae3
h/mercury: Bump the hand detection threshold up
2023-03-03 20:27:39 -06:00
Jakob Bornecrantz
006bdbc400
u/pp: Add new xrt input enums to printing function
2023-03-03 21:38:54 +00:00
Jakob Bornecrantz
3ab34071be
st/oxr: Extract space type conversions
2023-03-03 21:38:54 +00:00
Jakob Bornecrantz
a980392b9e
st/oxr: Refactor out conversion helper to own header
2023-03-03 21:38:54 +00:00
Jakob Bornecrantz
b15ac35e76
st/oxr: Refactor some things into oxr_defines.h
2023-03-03 21:38:54 +00:00
Jakob Bornecrantz
d84a679eb9
u/builders: Move setup tracking origin function here
2023-03-03 21:38:54 +00:00
Jakob Bornecrantz
05de788168
d/multi: Remove all uses of tracking_origin offsets
2023-03-03 21:38:54 +00:00
Moshi Turner
5519aecd2c
cmake: Don't build t_euroc_recorder on Windows
2023-03-03 15:13:23 -06:00
Moshi Turner
8d2d90432a
cmake: Add XRT_MODULE_MONADO_GUI
2023-03-03 15:13:23 -06:00
Moshi Turner
ed086ea423
cmake: Add XRT_MODULE_MONADO_CLI
2023-03-03 15:13:23 -06:00
Moshi Turner
ae7167dbab
cmake: Add XRT_MODULE_AUX_VIVE
2023-03-03 15:13:23 -06:00
Moshi Turner
85a701a4a0
cmake: Add XRT_MODULE_MERCURY_HANDTRACKING
2023-03-03 15:13:23 -06:00
Moses Turner
58399cd993
h/mercury: Remove duplicate include
2023-03-03 15:13:23 -06:00
Moshi Turner
54bd4b844f
a/math: Fix m_filter_f32_run -> m_filter_euro_f32_run
...
This is currently used in the delay filter in the Mercury SteamVR driver
2023-03-03 15:13:23 -06:00
Moses Turner
c596b31327
h/mercury: Add interface header define
2023-03-03 15:07:45 -06:00
Moshi Turner
c750d714a9
d/ht_ctrl_emu: Fix pinch detection
2023-03-03 15:07:45 -06:00
Jakob Bornecrantz
4b6491aa16
cmake: Introduce a new module category
2023-03-03 20:56:59 +00:00
Ryan Pavlik
2a3157b087
cmake: Do not install a test binary
2023-03-03 01:06:11 +00:00
Ryan Pavlik
fd77b84938
st/oxr: Suppress clang-tidy removing a forward declaration.
2023-03-03 01:05:14 +00:00
Ryan Pavlik
ae61287f4c
a/vk: Enlarge buffer to fix warning
2023-03-03 01:05:14 +00:00
Ryan Pavlik
124c9ecf3f
st/oxr: Suppress a warning.
...
It looks more serious than it actually is, this is normal usage.
2023-03-03 01:05:14 +00:00
Ryan Pavlik
9348130fe7
a/util: Fix bitwise operation on signed integer warnings
2023-03-03 01:05:14 +00:00
Ryan Pavlik
bdc526b77d
xrt: Fix bitwise operation on signed integer warnings
2023-03-03 01:05:14 +00:00
Ryan Pavlik
cff131da36
st/oxr: Fix bitwise operation on signed int warnings.
2023-03-03 01:05:14 +00:00
Ryan Pavlik
f43ac4841b
d/wmr: Fix warnings/issues, mostly related to 32-bit builds
2023-03-03 01:05:14 +00:00
Ryan Pavlik
f230446cec
c/util: Fix printf on 32-bit
2023-03-03 01:05:14 +00:00
Ryan Pavlik
06b91dabc8
c/main: Fix printf formatting on 32bit
2023-03-03 01:05:14 +00:00
Ryan Pavlik
43ac5d44cf
d/euroc: Fix printf formatting on 32bit
2023-03-03 01:05:14 +00:00
Ryan Pavlik
fd2c7c6a98
a/util: Fix printf formatting on 32-bit
2023-03-03 01:05:14 +00:00
Ryan Pavlik
44d6755814
external: Fix typo in DearImGui demo.
2023-03-02 17:49:26 -06:00
Ryan Pavlik
172a5baf23
st/oxr: Add missing calling convention macros for entry points.
...
Fixes 32-bit Windows build.
2023-03-02 13:48:25 -06:00
Moshi Turner
3c1880448e
a/vive: Remove unused zlib linkage
2023-03-02 04:35:44 +00:00
Moshi Turner
e26a272c17
d/dai, st/gui, t/common: Make DepthAI frameserver work with multicam sinks
2023-03-01 14:37:26 -06:00
Ryan Pavlik
9cf124254e
c/main: Constify target factories
2023-03-01 19:54:36 +00:00
Ryan Pavlik
3058f1c149
c/main: Fix typo
2023-03-01 19:54:11 +00:00
Mateo de Mayo
59c3c911e6
d/rift_s: Add initial multicamera support
...
Tested-by: Nova <technobaboo@gmail.com>
2023-03-01 19:47:10 +00:00
Mateo de Mayo
813cb31cc6
t/euroc: Support euroc recording for multiple cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
c39dc977c4
d/euroc: Support datasets with more than two cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
186ca8258e
t/slam: Adapt camera calibration data for multiple cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
d8e1b7d921
t/slam: Handle multiple camera sinks
2023-03-01 19:43:06 +00:00
Mateo de Mayo
09d7aac89e
external/slam: Update interface to support multiple cameras
2023-03-01 19:43:06 +00:00
Mateo de Mayo
52cac31d3a
xrt: Support more than two cameras in a SLAM sink
2023-03-01 19:43:06 +00:00
Mateo de Mayo
a93dc650a1
u/debug: Export debug_to_num function
2023-03-01 19:43:06 +00:00
Jakob Bornecrantz
84ccf3a78e
a/math: Tidy m_filter_one_euro.[h|c]
2023-03-01 19:34:50 +00:00
Ryan Pavlik
534d2e9f66
a/math: Improve comments for one euro filter
2023-03-01 19:33:48 +00:00
Ryan Pavlik
8f02541c27
a/math: Add a zeroing in the generic init for one euro
2023-03-01 19:31:59 +00:00
Ryan Pavlik
0c8d78fe49
a/bindings: JSON schema for bindings
2023-03-01 17:10:48 +00:00
Ryan Pavlik
2d056e6606
a/math: Add comment for searching in the lever arm math.
2023-03-01 17:08:39 +00:00
Ryan Pavlik
66a303f809
st/oxr: Internal docs
2023-03-01 17:08:39 +00:00
Jan Schmidt
699a92d9f8
rift_s: Ignore the first 100 samples for the clock
...
After turning on the display, the Rift S
sends a burst of stale data and it can lead to
wildly incorrect clock estimates that then
recover really slowly and cause SLAM tracking to
lag horribly.
Throw away the first 100 samples, which seems to be
enough (only the first 20 or so seem to be bad).
Also reduce the clock a2b cutoff frequency, for
faster adaptation to changes.
Tested-By: Nova <technobaboo@gmail.com>
2023-03-01 17:08:09 +00:00
Ryan Pavlik
f6ab734b2e
a/math: Add floating point conversion methods to Rational
2023-03-01 10:53:18 -06:00
Jakob Bornecrantz
9a19a91f2d
ipc: Refactor out common ipc_client_xdev
2023-02-28 21:27:56 +00:00
Jakob Bornecrantz
a86cb86c80
st/oxr: Remove unused out_xdev argument
2023-02-28 21:27:53 +00:00
Jakob Bornecrantz
78f069a10d
a/math: Make argument const
2023-02-28 21:27:19 +00:00
Ryan Pavlik
f66d60cb2c
aux/android: The Android XINA already always adds "sampled"
2023-02-28 13:56:58 -06:00
Jarvis Huang
9b2384f1fb
t/android: Fix unable to connet to runtime if process is still alive
2023-02-28 19:38:41 +00:00
Jakob Bornecrantz
494e17e173
c/util: Filter Vulkan formats for AHardwareBuffer formats
...
Some drivers says that they can export/import Vulkan formats that doesn't
have a direct mapping to a AHardwareBuffer format. Our import/export code
doesn't handle that case so make sure to filter out those formats.
2023-02-28 16:05:39 +00:00
Jarvis Huang
5380b6c149
st/oxr: Use xrt_device_is_form_factor_available
2023-02-22 23:52:21 +00:00
Jarvis Huang
693641b70b
ipc: Add support for xrt_device::is_form_factor_available
2023-02-22 23:52:21 +00:00
Jarvis Huang
b93d1ea8b8
xrt: Add xrt_device::is_form_factor_available
2023-02-22 23:52:21 +00:00
Simon Zeni
fdec80cd99
d/survive: add hand tracking pose offsets to controller
2023-02-22 23:51:50 +00:00
Simon Zeni
0402a1e1a0
aux/vive: add hand tracking values to vive_poses transforms
2023-02-22 23:51:50 +00:00
Fernando Innella
80a8048c39
c/render: Fix handling of alpha channel in compute layer renderer
2023-02-21 11:10:10 -05:00
Mateo de Mayo
e9e0cf9f2c
t/slam: Recover fallback measurements for systems without timing extension
...
Fixes #235
2023-02-18 13:49:56 +00:00
Mateo de Mayo
b666b8b017
t/slam: Use accel for prediction by default
...
Before we were not doing this because we have a hardcoded gravity vector.
Due to this, if the IMU gravity is too different, it causes the prediction to
bounce around slightly.
In practice the difference seems to be sufficiently small so as to be almost
not noticeable and we get the latency improvements we get are probably worth it.
2023-02-17 15:31:59 -06:00
Mateo de Mayo
4ac9d985e5
st/steamvr_drv: Silence warning
2023-02-17 15:31:53 -06:00
Mateo de Mayo
5ba9efd522
t/euroc: Implement trajectory recording
2023-02-17 21:03:08 +00:00
Connor Smith
8b8358f0c9
Fix typo in Magic Leap 2 controller shoulder button path.
2023-02-17 15:05:41 -05:00
Moses Turner
3bfc87f76d
(NFC) h/mercury: Fix typo
2023-02-16 17:03:17 -06:00
Moses Turner
8621acd899
d/ht, h/mercury: Use u_file_get_hand_tracking_models_dir
...
Needed for Windows SteamVR driver
2023-02-16 17:03:17 -06:00
Moses Turner
8b2d62cf57
a/util: Add u_file_get_hand_tracking_models_dir
...
Needed for Windows SteamVR driver
2023-02-16 17:03:15 -06:00
Moses Turner
266aec20e1
(NFC) h/mercury: Random nit in if case
2023-02-16 17:01:12 -06:00
Moses Turner
79701d8567
h/mercury: Remove __builtin_expect on MSVC
2023-02-16 17:01:12 -06:00
Moses Turner
3155765aed
h/mercury: IWYU hg_image_distorter
2023-02-16 17:00:48 -06:00
Moses Turner
b32ee5bbfb
a/vive: Add extern "C" so we can use from C++
...
Needed for Windows SteamVR driver
2023-02-16 17:00:48 -06:00
Moses Turner
2835b597be
a/tracking: Support JPEG output in euroc recorder
2023-02-16 16:53:13 -06:00
Moshi Turner
73416db7ba
a/tracking: Remove break statement that broke OPENCV_RADTAN promotion/demotion
2023-02-13 11:30:44 -06:00
Ryan Pavlik
0b7c822007
a/bindings: Fix typos
2023-02-08 17:35:58 -06:00
Ryan Pavlik
f32ed406d8
a/android,ipc/android: Fix typos
2023-02-08 17:35:49 -06:00
Ryan Pavlik
a87fb2be93
a/tracking: Fix typo
2023-02-08 17:35:33 -06:00
Ryan Pavlik
a51c2bcb1a
d/rift_s: Fix typo
2023-02-08 17:35:22 -06:00
Ryan Pavlik
992066ea7e
c/shaders: Fix typos
2023-02-08 17:35:14 -06:00
Christoph Haag
60b8b6e8fc
a/binding: reverb g2 input/menu/click is on both hands
...
Spec:
On both hands
…/input/menu/click
2023-02-07 11:27:39 +00:00
Ryan Pavlik
999c67975a
st/oxr: Fix inconsistent naming related to subaction paths
2023-02-06 17:58:00 -06:00
Ryan Pavlik
b2e65ed08c
st/oxr: Add some const correctness
2023-02-06 17:58:00 -06:00
Ryan Pavlik
573cbb12ee
st/oxr: Fix typo
2023-02-06 17:58:00 -06:00
Daniel Willmott
795de613c1
d/survive: Add aim pose offset to index controllers
2023-02-05 20:19:52 +00:00
Daniel Willmott
ab857e8f74
aux/vive: Add vive_poses
2023-02-05 20:19:52 +00:00
Daniel Willmott
e383609cbc
aux/math: Add math_quat_from_euler_angles()
2023-02-05 20:19:52 +00:00
Moses Turner
e9f79c45bf
h/mercury: Update hand tracking with new half-artificial model
2023-02-04 15:23:04 -06:00
Moses Turner
bfdeaa7d8f
a/tracking: Introduce t_camera_models.h
2023-02-04 15:23:04 -06:00
Mateo de Mayo
3cdc02c1bb
a/vk: Small improvements
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-02-04 18:52:59 +00:00
Jakob Bornecrantz
a8c4d1299e
a/vk: Fix crash caused by different signedness comparisons
...
Closes #234 .
All credit for debugging and figuring out what the problem is goes to Mateo, I
made a different fix for it.
Co-authored-by: Mateo de Mayo <mateo.demayo@collabora.com>
2023-02-04 18:52:35 +00:00
Mateo de Mayo
5b431152e1
t/common: Remove invalid parameter
2023-02-03 10:13:41 -03:00
Jakob Bornecrantz
c7e3a358b3
c/main: Prettier print of VkSurfaceFormats
2023-02-02 20:50:42 +00:00
Jakob Bornecrantz
e5b28c491a
c/main: Refactor instance extension selection
...
Add also add VK_EXT_swapchain_colorspace
2023-02-02 20:50:42 +00:00
Jakob Bornecrantz
a7f7023570
c/main: Add optional VK_KHR_format_feature_flags2
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
3a143cadd1
a/vk: Print more color space formats
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
7576ce0960
a/vk: Track VK_EXT_swapchain_colorspace
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
b7addee249
a/vk: Track VK_KHR_format_feature_flags2
2023-02-02 20:40:20 +00:00
Jakob Bornecrantz
3dc0415374
ipc: Tidy client includes (NFC)
...
Fixes some clang-tidy warnings about duplicated includes.
2023-02-02 20:05:06 +00:00
Jakob Bornecrantz
0938a1a02b
xrt: Fix missing function declaration without a prototype warnings
...
Found by clang-15.
src/xrt/auxiliary/math/m_permutation.c:133:15: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
m_do_the_thing()
^
void
2023-02-02 13:03:08 +00:00
Patrick Nicolas
559e145934
c/main: Record pose used in compositor
2023-01-31 09:30:47 +00:00
Patrick Nicolas
7a0d87db25
c/main: Allow providing comp_target_factory in constructor
2023-01-31 09:30:47 +00:00
Guillaume Meunier
76dff0b42f
ipc: make the pid filename, the socket filename, and the client library suffix customizable
2023-01-31 09:30:47 +00:00
Moses Turner
86e31f54f3
xrt: Refactor t_camera_calibration to use a tagged union instead of a bare array
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-30 17:09:27 -06:00
Jakob Bornecrantz
3b0f938028
d/simulated: Add builder
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
d1b7e3e557
d/simulated: Add controllers
...
Supports simulating Simple, WinMR and ML2 controllers
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
c562930cdc
d/simulated: Export logging level
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
0494777d1a
d/simulated: Make hmd center be pose and make it possible to pass it in at start
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
121bcf028a
d/simulated: Make it possible to pass in movement mode
...
And a little bit of tidy.
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
06806cc6ef
t/common: Tidy builder list
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
9b8de2f155
t/common: Sort builder definitions alphabetically
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
84ebd4d687
t/common: Add comment to NorthStar builder create function
2023-01-30 13:20:57 +00:00
Jakob Bornecrantz
17a14d5b10
t/cli: Add calib-dump command
2023-01-29 01:38:01 +00:00
Moses Turner
7d72b74a68
c/main: Make peek window struct private, and fix build with old SDL2
2023-01-28 12:47:57 -06:00
Jakob Bornecrantz
9bd63cb37d
d/dai: It's using aux_util so depend on it
2023-01-27 20:17:27 +00:00
Moses Turner
1bba34e944
xrt: Remove old_rgb hand tracking
2023-01-27 12:37:33 -06:00
Moses
10cdde859a
a/math, comp/main, comp/render: Change math_matrix_2x2_* to m_mat2x2_*
2023-01-27 12:37:22 -06:00
Moses Turner
7d8d1ad8e7
a/math: Add m_matrix_2x2_invert
2023-01-27 12:37:22 -06:00
Moses Turner
da16e64982
a/math: Move m_matrix_2x2 functions into their own header
2023-01-27 12:37:22 -06:00
Moses Turner
2c73485ecd
d/ht: Tidy header
2023-01-26 19:10:57 -06:00
Mateo de Mayo
da50a2499f
d/wmr: Adjust exposure and gain individually for each camera
2023-01-26 18:07:10 +00:00
Mateo de Mayo
60b996239c
u/aeg: Add optional prefix for having multiple aeg UIs
2023-01-26 18:07:10 +00:00
Mateo de Mayo
d22f58bee4
u/var: Add nested headers
2023-01-26 18:07:10 +00:00
Christoph Haag
6f263dbda4
a/vk: allow VkImageViewUsageCreateInfo in Vulkan 1.1
...
Some drivers do not advertise support for VK_KHR_maintenance2 in
Vulkan 1.1, because it has been promoted to core.
This caused a validation error on compositors that use Vulkan 1.1
because the scratch image is allocated with unorm format and STORAGE
usage: an image view with srgb format can not be created with STORAGE
usage on many GPUs.
2023-01-26 12:30:13 +00:00
Christoph Haag
a188ef219c
a/vk: Store vulkan version in vk_bundle
...
Also adds code in c/util's Vulkan code to store it.
2023-01-26 12:30:13 +00:00
Christoph Haag
e7fff3e435
d/hdk: handle 0 bytes read
2023-01-26 00:23:18 +01:00
Christoph Haag
bc1d355e26
d/hdk: Zero initialize buffer
2023-01-26 00:17:37 +01:00
Christoph Haag
4030b474ad
d/hdk: Use 100 ms hid read timeout
...
Avoids burning cpu cycles with busy looping
2023-01-26 00:17:37 +01:00
Moses Turner
c9405e946f
t/common: Add environment variable for replacing RiftS controllers with hand tracking
2023-01-25 22:24:53 +00:00
Jakob Bornecrantz
c21a8ef0cc
st/oxr: Add controller extensions
...
Extensions enabled:
* XR_EXT_hp_mixed_reality_controller
* XR_EXT_samsung_odyssey_controller
* XR_ML_ml2_controller_interaction
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
6ce2978648
xrt: Add ML2 controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
d231850771
xrt: Add Samsung Odyssey Controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
958911fd0b
xrt: Add HP Reverb G2 Controller
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
ed1f18bb74
xrt: More space in xrt_input_name enum list
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
213cc271f6
xrt: Sort xrt_device_name enums
2023-01-24 22:40:53 +00:00
Jakob Bornecrantz
da5323642d
m/space: Correct comments
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
c7fdaacd02
m/space: Make sure to use valid poses in linear and angular calculations
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
f7118d7a93
m/space: Refactor pose part first
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
02aad19c78
m/space: Make pose validity upgrading clearer
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
2c1d413bf0
m/space: Add missing extern "C"
2023-01-24 16:11:56 +00:00
Jakob Bornecrantz
1c046dc523
m/space: Move functions to correct section
2023-01-24 16:11:56 +00:00
Robbie Bridgewater
17560d0618
a/util,st/gui: Add i64 as a debug GUI type
2023-01-24 15:35:39 +00:00
Fernando Velazquez Innella
e035d060d1
c/render: implement render_resources_get_duration
...
Useful for systems that don't support calibrated timestamps and caseas where only execution time measuring is needed.
2023-01-24 15:35:31 +00:00
Ryan Pavlik
85a897a0b5
a/d3d,a/vk,c/client,ipc: D3D Depth texture / DXGI handle support
...
a/d3d: Improve allocation
Enable D3D11 and D3D112 depth images using DXGI handles
Allow D3D depth by default
D3D: only use DXGI handles
NT handles don't support depth formats and may fail to properly interop with Vulkan with some image dimensions.
Removed D3D_COMPOSITOR_ALLOW_DEPTH env.
D3D now always imports depth.
Added authorship.
Format pass
Fix D3D compositor tests
ipc: Fix HANDLE bit twiddling code
Merge into commits related to D3D depth changes. Makes the code compile
as C++, useful for Windows traceing
Co-authored-by: Robbie Bridgewater <ebridgewater@magicleap.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-24 15:35:22 +00:00
Robbie Bridgewater
3802e737bb
a/d3d,a/vk: Add R32_SFLOAT formats
...
Co-authored-by: Catalin Slobodeanu <cslobodeanu@magicleap.com>
2023-01-24 15:35:01 +00:00
SJakab
e4a40a6e4e
st/oxr: Skip oxr_session_end if connected to Unreal 4.
2023-01-24 11:42:46 +00:00
Moses Turner
4709ab85ca
d/wmr: Fix grammar
2023-01-23 14:24:28 -06:00
Christoph Haag
87680c69d4
d/ohmd: Get rid of enum alias
...
The last enum index was used to determine the size of the inputs array.
The "clever" solution of aliasing enum values saved a minor amount of space
when allocating the xrt_device, while still allowing to dynamically assign
any input profile.
It also has drawbacks of being confusing and making it impossible to
validate that inputs from the correct xrt_input_name is requested.
Therefore just get rid of it, the minor space savings is not worth it.
fixes 2be4cbf4c3
2023-01-23 17:46:33 +01:00
Mario Kleiner
887b770f9e
aux/binding: Implement optional "steamvr_controllertypes" for SteamVR input bindings
...
Add an optional switch -s or --steamvr to steamvr_profiles.py, which enables
a different naming scheme for the "controller_type" field in the generated
SteamVR profile json files.
If the switch is provided and an interaction profile in bindings.json
provides the optional new property "steamvr_controllertype", that property
will be used for the "controller_type" field of the written out .json,
instead of the regular auto-generated name.
This allows to generate json files which use controller_type names normally
used by SteamVR, so Monado provided controllers are mapped to the same
OpenXR interaction profiles that SteamVR would normally map them to.
E.g., the standard controller_type for Oculus touch controllers used by
SteamVR is "oculus_touch" instead of Monado's "monado_oculus_touch_controller".
That in turn allows OpenXR clients to use the SteamVR/OpenXR runtime to
access controllers provided by Monado's SteamVR driver plugin. Without such
compatible json files, only standard OpenVR clients can use controllers
exposed by Monado's SteamVR driver by default, but not OpenXR clients.
Tested with an Oculus Rift CV-1, and shown to now enable OpenXR clients
to make full use of the Oculus touch controllers.
The mappings for controllers other than Oculus Touch are derived from
SteamVR log output, but not actually tested due to lack of suitable hw.
Per discussion for the merge request, we enable this '-s' flag by
default in the make file for SteamVR style naming scheme.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Mario Kleiner
d3893c229f
aux/binding: Implement optional "steamvr_path" for SteamVR input bindings
...
When using the Monado SteamVR driver plugin together with an Oculus
Rift CV-1 and Oculus touch controllers, the grip / squeeze sensors
(e.g., /user/hand/left/input/squeeze/value) and the thumbsticks did not
work.
This because SteamVR expects those controls to be exposed under a
different path than what one would use for OpenXR, e.g.,
OpenXR /input/squeeze --> SteamVR /input/grip and
OpenXR /input/thumbstick --> SteamVR /input/joystick
The same is true for some other controller types.
To fix this, add some new code for input subpath substitution, to perform
this remapping, depending on binding type:
For type "trigger": Substitute squeeze with grip
For type "joystick": Substitute thumbstick with joystick
For rare controller types where this would be the wrong thing to do,
e.g., Valve Index (for type "joystick", needs the path to remain
"thumbstick" as before), and for special cases not covered, we add
a new optional parameter 'steamvr_path' which can be used in bindings.json
to handle such mismatches in path flexibly to allow a dedicated path
name for SteamVR, overriding the regular "OpenXR style" input path or
auto-substituted path is if the parameter is omitted.
This makes the Oculus Rift CV-1 touch controllers fully work under SteamVR.
I haven't tested this with other controllers, as I only have Oculus
controllers for testing atm. But after reading about the HTC Vive controllers,
i did add a "steamvr_path" override for /input/menu -> /input/application_menu.
Cfe. https://github.com/ValveSoftware/openvr/wiki/IVRDriverInput-Overview
Also, a minor typo fix in steamvr_profiles.py as a bonus.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Mario Kleiner
50f7b5ba5f
d/ohmd: Fix input from controls_mapping[0].
...
Use INPUT_INDICES_LAST instead of 0 for checking if control_mapping[i]
is unassigned for index i, ie. for skipping input.
As 0 is a valid mapping assignment defined in "enum input_indices", this
lead to dead input for SIMPLE_SELECT_CLICK and OCULUS_TOUCH_X_CLICK, both
assigned to 0.
This commit makes the Oculus Rift CV-1 left touch controllers X-Button
work in Monado OpenXR native and SteamVR via. Monado driver plugin.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
2023-01-23 16:30:27 +00:00
Jakob Bornecrantz
cb94bc2df0
t/common: Fix warning in lighthouse builder (NFC)
2023-01-23 13:42:20 +00:00
Christoph Haag
694baebd07
d/ohmd: Fix build
...
fixes 2be4cbf4c3
2023-01-22 22:04:47 +01:00
Christoph Haag
2be4cbf4c3
d/ohmd: Support generic trackers and clean up
2023-01-21 19:21:59 +00:00
Moses Turner
dcbdcede5a
a/util: Fix edge cases in Moses's distortion method
...
Before this, we read out of bounds at the bottom of the display. Unsure why nothing but Valgrind caught it.
2023-01-21 03:50:20 +00:00
Christoph Haag
bb75281907
ext/tracy: Link dl
2023-01-19 20:00:30 +00:00
Jarvis Huang
503dae2883
ipc/android: Early reject if server failed to start
2023-01-19 19:50:28 +00:00
Moses Turner
8d8b0d03b0
a/util: Constify u_box_iou's Box constructor
2023-01-17 23:46:46 -06:00
Moses Turner
1ef49b92f2
d/dai: Control floodlight brightness with an env var
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2023-01-15 09:54:54 -05:00
Jakob Bornecrantz
4643d4f089
st/gui: Add small hand-tracking demo scene
2023-01-14 20:11:49 -05:00
Christoph Haag
01dd02dc83
d/hdk: initialized thread helper
...
Fixes assert in debug mode.
2023-01-08 23:42:31 +01:00
Mateo de Mayo
6bd921b390
d/wmr: Fix unused corrected IMU timestamp
2023-01-02 16:21:08 -03:00
Jarvis Huang
aa6b8cd88d
ipc: Change init order to avoid assertion
2023-01-01 17:00:43 +00:00
Moses Turner
cd163e366b
c/main: Add another string for Reverb G2 to the nvidia direct mode allowlist
2022-12-31 03:11:41 -06:00
Moses Turner
946141ce40
h/mercury: Remove kine_ccdik optimizer
...
Goodbye, sweet prince.
This was my first attempt at the "optimizer" piece of our optical hand tracking, and it *did work* dammit! It just wasn't anywhere near as flexible or efficient as Levenberg-Marquardt.
It's worse in every way to the `kine_lm` optimizer, and getting hard to maintain, so we're getting rid of it. Gone, but never forgotten.
2022-12-29 20:03:05 +00:00
Jakob Bornecrantz
7da72f4697
external/nanopb: Generate monado_metrics with same version as files
2022-12-22 22:06:39 +00:00
Ryan Pavlik
a7b9c7b69c
external/nanopb: Update nanopb from upstream nanopb-0.4.7
...
GitOrigin-RevId: b97aa657a706d3ba4a9a6ccca7043c9d6fe41cba
2022-12-21 21:24:14 +00:00
Jakob Bornecrantz
966878b1db
t/sdl_test: Make sure to include inttypes.h for PRIu64 define
2022-12-21 00:49:06 +00:00
Ryan Pavlik
9705b1e763
external/cjson: Update cJSON from upstream v1.7.15
...
GitOrigin-RevId: d348621ca93571343a56862df7de4ff3bc9b5667
2022-12-20 18:51:08 +00:00
Ryan Pavlik
00b1c9531d
external/stb: Update stb libraries from upstream
...
GitOrigin-RevId: 1ee679ca2ef753a528db5ba6801e1067b40481b8
2022-12-20 11:54:28 -06:00
Jakob Bornecrantz
814170469a
t/sdl_test: Include m_mathinclude to fix compile on Windows
2022-12-20 16:02:18 +00:00
Jakob Bornecrantz
1472bdf6b6
c/client: Create a share context instead of using context directly
2022-12-19 16:38:51 +00:00
Jakob Bornecrantz
0cf18ae044
c/client: Refactor context mutex locking to helper function
2022-12-19 16:38:51 +00:00
Jakob Bornecrantz
b87239e7d8
d/wmr: Increase display init sleep and also add debug variable to control it
2022-12-14 12:20:10 +00:00
Malek
5c013bcecd
a/math: Add stdbool include to m_lowpass_integer.h
2022-12-12 00:45:05 -08:00
Christoph Haag
2abcc17178
c/main: Add XRT_COMPOSITOR_DISABLE_DEFERRED env var
2022-12-09 16:38:06 +00:00
SeungHoon Han
a594d6d86e
a/android: fixed forced applied alpha=0.8 window after Android S
2022-12-08 21:41:16 +00:00
SeungHoon Han
a2f5e5f1b9
a/android: hide display cutout to use full screen
2022-12-08 20:24:53 +00:00
Jakob Bornecrantz
040764c4f1
ipc: Trace around ipc_dispatch
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
50783a4c35
u/trace_marker: Add U_TRACE_[BEGIN|END] for greater control of zones/tracks
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
f8d2c095ee
u/trace_marker: Ensure ENABLE_TRACE is set before including Tracy headers
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
b7748691b7
ext/tracy: Do not define ENABLE_TRACY globally
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
87f7b3426a
t/sdl_test: Fix build on Windows
2022-12-08 00:24:42 +00:00
Jakob Bornecrantz
a29a3c5ef3
c/mutli: Error log on failing semaphore wait
2022-12-06 15:26:40 +00:00
Jakob Bornecrantz
ebb7c3cac2
d/wmr: Tidy prober code
2022-12-05 15:21:20 +00:00
zhibin wang
828dacc10b
c/client: Fix eglDestroyImageKHR error and add AHB buffer release
2022-12-05 14:44:53 +00:00
Jakob Bornecrantz
9b3f9baff3
ipc: Properly cast assignment
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
6450cba854
ipc: Clarify code around xrt_comp_begin_session call
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
bc83130354
ipc: Use correct cast
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
2ffaf7fd46
ipc: Add C++ guards to generated headers
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
09975b0d24
ipc: Use XRT_STRUCT_INIT
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
4a8448fcc3
c/multi: Clarify code around xrt_comp_layer_begin call
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
840febfb57
c/multi: Do not declare variable in switch statement
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f343bb709c
c/multi: Use XRT_STRUCT_INIT
2022-12-04 18:07:53 +00:00
Jakob Bornecrantz
f0021c359f
xrt: Add XRT_STRUCT_INIT define
...
This helps with code that needs to be compiled with both C and C++.
2022-12-04 18:07:53 +00:00
Moses Turner
8c0735feec
d/rift_s: Link to hand tracking driver if necessary
2022-12-04 18:05:02 +00:00
Mateo de Mayo
dad7957fb2
a/math: Add clock_offset.h
...
For now it only has our simple exponential smoothing clock offset estimator.
But more advanced ones can go here too.
2022-12-02 16:10:09 +00:00
Bailey Morgan
35061c1d80
a/vk: Select graphics device based on prefered device type
2022-12-02 14:05:34 +00:00
Maxim Kizub
e600cdaabf
c/main,ipc/android: Deferred render target initialization for Android.
2022-11-30 09:32:18 -06:00
Maxim Kizub
f6e1ea7aa9
t/oxr_android: fixed libmonado-service.so not found UnsatisfiedLinkError in inProcess build variant
...
Co-authored-by: SeungHoon Han <senicy.han@samsung.com>
2022-11-30 09:30:02 -06:00
Maxim Kizub
950f6cc506
a/android: Improve waiting for surface holder
2022-11-30 09:26:38 -06:00
Maxim Kizub
0ee891e7d6
c/main: Deferred render target initialization for windows
2022-11-30 09:25:43 -06:00
Jakob Bornecrantz
f28f3a27e6
c/main: Fix crash on debug print
2022-11-30 13:31:36 +00:00
Moses Turner
85c0c78ac6
a/math: Fix m_vec3_angle function
...
Dot product is equivalent to a.length*b.length*cos(theta), not a.length_squared*b.length_squared*cos(theta)
2022-11-29 03:11:53 -06:00
Jakob Bornecrantz
fec8e13f73
ext/openxr: Update headers to 1.0.26
2022-11-26 14:29:16 +00:00
Jakob Bornecrantz
69238be306
ext/openxr: Update XR_MNDX_force_feedback_curl
2022-11-26 14:26:58 +00:00
Jakob Bornecrantz
2a12f7d661
os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper
...
One alternative to this is to use the CreateWaitableTimerExW function
with the CREATE_WAITABLE_TIMER_HIGH_RESOLUTION flag. On my systems the
function/flag was either as good or worse then timePeriod[Begin|End].
Setting the state globally or just just around the wait didn't seem to
have an impact on the precision.
2022-11-25 17:02:00 +00:00
Jakob Bornecrantz
96552a6caa
t/common: Fix leak of calibration data in RGB-Tracker builder
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
c195608602
a/tracing: Do more tracing in PSMV tracking code
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
f552aacb87
a/tracking: Fix data waiting logic in PSMV tracking
2022-11-25 16:44:24 +00:00
Jakob Bornecrantz
fb15e8aa50
ipc: Tidy Windows mainloop code
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
8271d213f5
ipc: Use u_winerror helper
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
6fc6968387
t/service: Try to raise priority and privilege on Windows
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
3b465b4241
u/windows: Add helper for trying priority or privilege from args
2022-11-25 16:04:20 +00:00
Jakob Bornecrantz
9e57a745b2
u/windows: Add function to raise CPU priority
2022-11-25 16:00:49 +00:00
Jakob Bornecrantz
ef77cb08d0
u/windows: Add function to enable privileges on processes
...
Also add a small helper to add the privilege
SeIncreaseBasePriorityPrivilege, which is needed on
NVIDIA for HIGH and REALTIME priority Vulkan queues.
2022-11-25 15:54:45 +00:00
Jakob Bornecrantz
57820394f4
u/windows: Add files and u_winerror string format helper
2022-11-24 16:17:26 +00:00
Jakob Bornecrantz
ad4c6a7215
u/pacing: More Tracy plots
2022-11-24 15:34:59 +00:00
Jakob Bornecrantz
8d817b773e
st/prober: Print the deviecs we got when looping throught the builders
2022-11-24 12:08:17 +00:00
Jakob Bornecrantz
d1db1dabfd
u/pacing: Work around asserts on slow compositors
...
This isn't the most ideal solution but a proper fix will take longer.
2022-11-24 12:03:53 +00:00
Jakob Bornecrantz
ad045fd271
t/sdl: Increase FPS
2022-11-24 12:03:53 +00:00
Jakob Bornecrantz
37da46b709
u/pacing: Add metrics output
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
87fdedeb68
u/pacing: Track more variables in app pacer
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
f0cbb8a7aa
t/service: Add metrics support
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
7fa20a8b46
u/metrics: Add functions to write a metrics file
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
57a31fde7c
external: Dealing with MSVC in NanoPD
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
2a7c411798
external: Add monado_metrics protocol
2022-11-24 00:34:50 +00:00
Jakob Bornecrantz
58186cc63a
external: Add NanoPB
2022-11-24 00:34:50 +00:00
Moses Turner
f580271291
d/wmr: Guess camera orientation for Reverb G2 based on HT0 twist value
2022-11-23 13:02:35 -06:00
Moses Turner
f5d4d49607
a/math: Add math_quat_to_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
b3c277196e
a/math: Add faster (and correct!) math_quat_from_swing_twist
2022-11-23 13:02:35 -06:00
Moses Turner
9af195fea3
h/mercury: Add faster SwingTwistToQuaternion
2022-11-23 13:02:35 -06:00
Moses Turner
e06dc0dda1
a/math: Correct documentation for math_quat_ln and math_quat_exp
2022-11-23 13:02:35 -06:00
Jakob Bornecrantz
6fe06068e8
c/main: Make XCB window deferred
2022-11-23 16:03:15 +00:00
Jakob Bornecrantz
3e1760fd04
c/main: Introduce comp_target_factory
2022-11-23 16:03:15 +00:00
Jakob Bornecrantz
93fdf0bd74
a/vk: Expose vk_select_physical_device function
2022-11-23 14:53:26 +00:00
Jakob Bornecrantz
d8eb6865da
c/render: Don't include comp_compositor.h
2022-11-23 14:53:26 +00:00
Maxim Kizub
f5a06f9c46
c/main: Add code to defer render target initialization
2022-11-23 14:44:51 +00:00
Jakob Bornecrantz
8efb55403c
d/psvr: Switch to reading sensors from its own thread
...
Tested-by: number-g <g@imagination.eu.org>
2022-11-22 17:58:07 +00:00
Jakob Bornecrantz
58596a5830
u/pacing: Add Tracy plots
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
7bc145d184
cmake: Add XRT_HAVE_TRACY variable
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
65e76e1277
u/trace_marker: Tracy support
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
4cecb768b1
external: Add Tracy client code
2022-11-21 16:46:12 +00:00
Jakob Bornecrantz
b1b63a9397
d/vive: Do more tracing during packet handling
2022-11-21 13:47:58 +00:00
Jakob Bornecrantz
60099fdd71
t/common: Do more tracing during init and fini
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
8637617833
c/main: Do more tracing during init
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
44599a7de7
c/main: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
432bf03981
c/multi: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
3a2dfd850c
t/hand: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
c9bbeac70a
d/v4l2: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
36d1734377
d/vive: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
5142fa7e88
d/psmv: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
0691ed9b89
d/wmr: Use U_TRACE_SET_THREAD_NAME
2022-11-20 14:36:37 +00:00
Jakob Bornecrantz
386aa510bd
ipc: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
d48de0d832
u/worker: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
8b0e7675e4
u/sink: Use U_TRACE_SET_THREAD_NAME
2022-11-20 13:52:38 +00:00
Jakob Bornecrantz
b49dc593b8
u/pacing: Use U_TRACE_PERFETTO define
2022-11-20 13:52:37 +00:00
Jakob Bornecrantz
469a79493c
u/trace_marker: Add U_TRACE_SET_THREAD_NAME
2022-11-20 11:24:27 +00:00
Jakob Bornecrantz
d1e116cb58
u/trace_marker: Check for both tracing and percetto
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
f4a5e599ef
u/trace_marker: Add convenience U_TRACE_PERCETTO define
2022-11-20 00:31:24 +00:00
Jakob Bornecrantz
648f91d35c
u/trace_marker: Refactor define names and split idents from func
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
4ee8aa4054
u/trace_marker: Reorg file (NFC)
2022-11-19 17:38:48 +00:00
Jakob Bornecrantz
7d2bd5b3e0
u/trace_marker: Fix copy paste error (NFC)
...
Define was unused till now.
2022-11-19 17:38:48 +00:00
Simon Zeni
9293c628d7
a/vk: add VK_FENCE_IMPORT_TEMPORARY_BIT to vk_create_fence_sync_from_native
2022-11-18 16:43:07 -05:00
Simon Zeni
278aa4cd41
c/main: use swapchain semaphores for peek window rendering
2022-11-18 11:14:41 -05:00
Jakob Bornecrantz
98b7f7d1c6
xrt: Remove xrt_gfx_native
2022-11-15 23:24:20 +00:00
Jakob Bornecrantz
8d6b794878
c/main: Add own interface for creating the main compositor
2022-11-15 23:24:20 +00:00
Moses Turner
cb2c355ba6
t/hand: fix 90 degree rotation for hand detection
2022-11-15 01:58:41 +00:00
Moses Turner
a9d04045e6
c/main: Add Reverb G2's display to nvidia direct allowlist
2022-11-14 19:50:03 -06:00
Jakob Bornecrantz
89aee1892b
d/remote: Update protocol to allow per view data
2022-11-14 16:07:15 +00:00
Patrick Nicolas
a8dc902468
a/vk Add extentions for DMA-buf
2022-11-13 22:56:06 +00:00
Ryan Pavlik
58e4cb6e15
st/steamvr: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
eac703a106
st/prober: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
aa01868d0f
xrt: can not -> cannot (comments)
2022-11-09 14:52:03 -06:00
Ryan Pavlik
678b27145a
ipc/client: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
11bdba7e64
drivers: can not -> cannot
2022-11-09 14:52:03 -06:00
Ryan Pavlik
73f48d12ec
comp/util: can not -> cannot
2022-11-09 14:51:58 -06:00
Ryan Pavlik
2eb259f26a
aux: can not -> cannot
2022-11-09 14:48:38 -06:00
Ryan Pavlik
724b2288f9
st/oxr: can not -> cannot
2022-11-09 14:48:17 -06:00
Ryan Pavlik
1fb6270194
a/util: Resolve a bothersome clang-tidy complaint in iterators.
2022-11-09 08:26:16 -05:00
Ryan Pavlik
290fafa4f7
a/util: Fix missing pragma once
2022-11-09 08:26:16 -05:00
Ryan Pavlik
a072af398c
t/hand: Fix doxygen warnings
2022-11-09 03:47:44 +00:00
LeGrandToto
987d4ebecb
ext: Updated Catch to v2.13.10
2022-11-08 23:54:05 +00:00
Moses Turner
00bf669e61
t/common: Disable SLAM by default for Valve Index
2022-11-08 12:32:23 -06:00
Mateo de Mayo
77f8972f36
d/vive: Add hardcoded quaternions for SLAM extrinsics
...
These come from my own calibration and are hopefully better than the wrong ones
reported by the factory data.
2022-11-08 12:02:34 -06:00
Mateo de Mayo
c3757792d7
d/vive: Generate SLAM calibration automatically from factory data
...
Use factory data for SLAM calibration. Sensor rotations are off in most calib
files we saw (or at least we can't figure something better) so this won't work
very well. It's still necessary to properly calibrate the headset for good
results but at least now something works without that step.
2022-11-08 17:41:43 +00:00
Mateo de Mayo
0ebc7e042f
d/vive: Improve readability of precompute_sensor_transforms (NFC)
2022-11-08 17:41:43 +00:00
Jakob Bornecrantz
ca83275671
ipc: Move struct declaration into same place
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
f9cd474156
ipc: Use XRT_MAX_IPC_HANDLES and also validate input from client
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
26c4771bfb
ipc: Make _sync struct have the right indentation
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
86a6b4b3e3
ipc: Generated code doesn't need to care about line length
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
8601499a5a
xrt: Add XRT_MAX_IPC_HANDLES
2022-11-07 23:48:59 +00:00
Jakob Bornecrantz
736f1fd671
c/util: Slightly improve device and queue creation
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
3f3e19299f
c/null: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
04f930d99a
c/main: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
1253d58717
t/sdl: Use VK_KHR_global_priority if available
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
6ba07d564c
a/vk: If global priority is not available, only allow medium queues
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
379bf36860
a/vk: Also try to use VK_KHR_global_priority when creating device
2022-11-04 10:46:42 +00:00
Jakob Bornecrantz
b6803b4bf8
a/vk: Add VK_KHR_global_priority
2022-11-04 10:46:42 +00:00
Mateo de Mayo
9d6c29397f
misc: Fix multiple compile warnings in gcc and clang
2022-11-03 20:08:52 +00:00
Jakob Bornecrantz
45937312bd
a/vk: Print out error on too many images to allocate
2022-11-03 17:43:06 +00:00
Jakob Bornecrantz
a41ccb0467
a/vk: Use xrt limits for number of collection images max
2022-11-03 17:43:06 +00:00
Jakob Bornecrantz
04ab47ef3b
st/oxr: Use xrt limits for number of swapchain images max
2022-11-03 17:43:06 +00:00
Jakob Bornecrantz
cf2dbb9334
ipc: Use xrt limits for number of swapchain handles max
2022-11-03 17:43:06 +00:00
Jakob Bornecrantz
589a898c74
xrt: Start collection of limits in one place
2022-11-03 17:43:06 +00:00
Moses Turner
f41596f176
h/mercury: Replace old detection model, and discard overlapping hands
2022-11-03 16:46:33 +00:00
Moses Turner
b8a586175d
a/util: Add header for box intersection over union
2022-11-03 16:46:33 +00:00
Mateo de Mayo
8f14c572ee
d/vive: Apply IMU pose correction for SLAM tracking
...
The offset between IMU and middle-of-eyes for the Index is quite noticeable and
tracking felt very off before this.
2022-11-03 13:08:02 +00:00
Gustavo Alvarez
21788f8650
t/cli: Link with aux_os_ble
...
Fixes build on certain configurations.
2022-11-03 10:03:25 +00:00
Moses Turner
0cd2f4f081
h/mercury: Fix data home
2022-11-02 22:35:27 +00:00
Moses Turner
32da562bc5
h/mercury: Remove really old keypoint estimator and NCNN stuff
2022-11-02 22:35:27 +00:00
Jakob Bornecrantz
ede2292690
d/psvr: Paranoia
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
200bbc9da0
d/psvr: Protect sensore reads with device_mutex
...
Fixes asserts by the fusion code where samples where pushed in the wrong
order to the fusion code.
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
fdac0b5137
d/psvr: Make sure to init the device_mutex before teardown can be called
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
c4a734e546
a/tracking: Do not push empty frames to debug sink
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
0f17fa0f5f
a/tracking: Fix data waiting logic in PSVR tracking
2022-11-02 17:55:58 +00:00
Jakob Bornecrantz
f32eb0d662
c/main: Refactor comp_renderer init/fini slightly
2022-11-02 15:24:26 +00:00
Jakob Bornecrantz
f6d7bfbe0a
c/main: Init render shaders and resources earlier
2022-11-02 15:24:26 +00:00
Jakob Bornecrantz
e76b382bc9
c/main: Destroy target before render resources
2022-11-02 15:24:26 +00:00
Jakob Bornecrantz
f6fb9f715e
c/main: Reorder fields to make dependency slightly clearer (NFC)
2022-11-02 15:24:26 +00:00
Jakob Bornecrantz
7b1c18255a
u/pacing: Work around issues with frame reuse
...
The code creates a frame with the timing information, and keeps track of the
times the applications does various things during the frame loop. Like
starting to render and finished rendering and so on. It keeps track of that
frame until it has determined that the application or the system compositor
will never do anything thing with that frame.
Now the allocation side of thing is very simple, just a long array of
FRAME_COUNT size that is reused with frame_id % FRAME_COUNT. So if the
application or the compositor keeps a frame along for too long it will try to
reuse that frame. The code has asserts to catch this. Making FRAME_COUNT makes
that re-use more unlikely.
2022-11-02 00:22:19 +00:00
Jakob Bornecrantz
a5f10e7aa2
c/multi: Rework logging with session transition a bit
2022-11-02 00:21:31 +00:00
Jakob Bornecrantz
01d195808d
st/oxr: Use snprintf to safely write strings to app
2022-10-31 12:12:35 +00:00
Jakob Bornecrantz
51730d2db1
a/vk: Improve the VkResult to string printing (NFC)
2022-10-30 20:17:09 +00:00
Mateo de Mayo
bf66a9595c
build: Fix undefined reference to u_sink_create_queue
...
When XRT_FEATURE_SLAM is on, t_euroc_recorder.cpp is linked.
This depends on u_sink_queue.c.
2022-10-30 11:34:57 -03:00
Boris-Chengbiao Zhou
cd2f204414
st/oxr: Check if user has already enabled timeline semaphores
...
We aren't allowed to add a second struct of the same type to the pNext
chain during Vulkan device creation.
2022-10-28 23:19:50 +02:00
Jakob Bornecrantz
35b941812a
c/client: Merge have EGL conditional file adding
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
f9c6c0d016
a/ogl: Only link to EGL on Android
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
d33b2b136f
a/os: Add comments about DSOs
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
637c49c1ea
a/os: Refactor out BLE functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
96eabd1347
a/os: Add BLE stub functions
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
d4a77da827
a/util: Add comments about DSOs
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
e629bbbe2b
a/util: Split out process functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
8ca60f4304
a/util: Split out sink functions into own library
2022-10-27 17:19:57 +00:00
Jakob Bornecrantz
c9ef44dd28
t/common: Remove stale comment
2022-10-27 17:19:57 +00:00
Bailey Morgan
67c47fbcb3
st/oxr: Change result code for invalid OpenGL context to match spec
2022-10-25 18:18:15 +00:00
Christoph Haag
9054dc01ca
d/ht_ctrl_emu: Stub set_output
2022-10-24 17:20:59 +00:00
Christoph Haag
7dd0a6e473
st/oxr: Disable XR_KHR_convert_timespec_time on windows
...
This avoids a current CTS issue.
2022-10-20 12:33:02 +02:00
Mateo de Mayo
80fdf7317f
t/slam: Add SLAM_UI option to enable the external system UI
2022-10-17 21:33:17 +00:00
Julian Petrov
fb28f940b5
Fix an IPC protocol issue on windows when receiving zero HANDLEs
2022-10-14 10:49:50 -04:00
Julian Petrov
d0f713c4c4
ipc: Add Windows support
2022-10-13 17:07:27 +00:00
Julian Petrov
7669d2c545
t/ctl: Don't build on Windows
2022-10-13 17:07:27 +00:00
Julian Petrov
5f4f7530d4
xrt: Introduce a new xrt_ipc_handle_t for IPC connections
2022-10-13 17:07:27 +00:00
Ryan Pavlik
6bb976e47f
external: Add some headers from my util-headers project.
2022-10-13 11:43:31 +01:00
Jakob Bornecrantz
12bb18a34c
u/file: Fix define checks being erroneous
2022-10-12 13:05:39 +01:00
Jakob Bornecrantz
1cafa92c3b
u/pacing: Refactor out tracing writing to own function
2022-10-11 20:33:56 +01:00
Jakob Bornecrantz
5ed13c6cc2
u/pacing: Account for present slop in assert
2022-10-11 20:33:56 +01:00
Jan Schmidt
fc3fbd6093
d/ht: Fix rotation/flipping of right hands
...
When dealing with rotated cameras, rotate them backward
to vertical, and then flip the right hand image in
the affine transform to get correct orientation of hands
for the keypoint estimator. Before, the left hand images
were being fed in upside down.
2022-10-10 23:50:58 +00:00
Jakob Bornecrantz
9077261ada
d/dai: Set fields after nullptr check
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
00c3cc4c2f
d/dai: With the latest depthai-core we can support color OV9782 sensors
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
4814f627c6
d/dai: Fix conversion warnings
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
504a2a288e
d/dai: Fix typo
2022-10-10 22:39:38 +00:00
Jakob Bornecrantz
52d225ae3b
t/north_star: Fix build when we have depthai but no hand-tracking
2022-10-10 22:39:38 +00:00
Christoph Haag
751c8034bc
c/main: Remove useless base_space from get_view_poses
...
The compositor doesn't know the concept of requesting view poses in
respect to a "space", so remove this vestigial code.
2022-10-10 15:47:19 +02:00
Julian Petrov
2e4c857a5a
u/process: Make u_process work on non-linux systems
2022-10-09 15:21:37 +01:00
Julian Petrov
c7a5a0bc1b
u/file: Make more functions work on Windows
2022-10-09 15:21:37 +01:00
Robbie Bridgewater
cc2e7b6da3
ipc: Allow IPC path to be set dynamically
...
Uses cache for XRT_IPC_MSG_SOCK_FILE
2022-10-09 15:21:11 +01:00
Christoph Haag
74d82ff37f
d/ht_ctrl_emu: Set xdev serial
2022-10-03 19:23:24 +02:00
Jan Schmidt
e409264ba7
d/wmr: Fix Reverb G2 detection
...
196bf24276
broke Reverb G2
detection. Use the right PID to match the Reverb G2 headset
again.
2022-10-02 03:57:19 +11:00
Jakob Bornecrantz
5fc30a4e22
c/multi: Make sure to retire delivered frames once the session goes invisible or non-active
...
Launching two instances of hello_xr will cause an assert in the app pacer.
2022-10-01 13:10:42 +01:00
Jakob Bornecrantz
88ce42dbf9
c/multi: Paranioa
2022-10-01 13:10:42 +01:00
Christoph Haag
f6821402fd
c/main: Hook up layer squasher in main compositor
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-10-01 13:10:42 +01:00
Christoph Haag
95fb034b92
c/render: Implement layer squashing for compute shader
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
Co-authored-by: Fernando Velazquez Innella <finnella@magicleap.com>
2022-09-30 22:43:58 +01:00
Christoph Haag
fa71462d86
c/render: Move COMP_MAX_LAYERS to render_interfaces.h
2022-09-30 22:38:54 +01:00
Jakob Bornecrantz
13124f019e
d/opengloves: Fix left/right typos
2022-09-29 21:12:44 +00:00
Jakob Bornecrantz
2673787429
d/opengloves: Fix leak of config JSON
2022-09-29 21:12:44 +00:00
Jakob Bornecrantz
1e639fc2f3
d/opengloves: Fix leaks of udev objects
2022-09-29 21:12:44 +00:00
Moses Turner
034099211f
d/dai: Initialize mutex and thread helper
2022-09-28 18:37:49 -05:00
Jakob Bornecrantz
127a467efc
h/mercury: Add missing break statement
2022-09-28 22:56:01 +00:00
Jakob Bornecrantz
da571275c2
st/oxr: Fix enum comparison warning
2022-09-28 22:56:01 +00:00
Jakob Bornecrantz
676e071aca
c/main: Pass GPU info to pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
08f6440aa4
u/pacing: Trace GPU info
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
f63c786ac9
u/pacing: Add gpu_info to u_pacing_compositor
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
da542e3f5e
u/pacing: Introduce latched and retired calls on app pacer
2022-09-28 21:46:56 +00:00
Jakob Bornecrantz
7eacf6bd7a
u/pacing: Refactor out tracing writing to own function
2022-09-28 21:46:56 +00:00