Jakob Bornecrantz
77ba132452
u/logging: Add u_log_set_sink implementation
2022-03-17 15:37:09 +00:00
Jakob Bornecrantz
6f10a20ce0
d/multi: Use xrt_device_get_tracked_pose function
2022-03-17 02:08:33 +00:00
Ryan Pavlik
81eaf5c28c
gradle: update NDK and build tools versions to be consistent.
2022-03-16 20:29:50 +00:00
Jakob Bornecrantz
71d9887b5b
xrt: Tidy xrt_instance.h (NFC)
2022-03-16 15:46:14 +00:00
Moses Turner
d2366b31dc
d/multi: Correctly override the head pose in get_view_poses
2022-03-15 20:13:10 -05:00
Moses Turner
e4805c07e2
d/rs: Tracking origin probably should have an identity pose
2022-03-15 20:13:10 -05:00
utzcoz
b2ccc8419c
t/oxr_android: Move import under license for openxr_android build.gradle
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz
45f1de0c53
t/oxr_android: Replace DisplayOverOtherAppsStatusFragment instead of adding
...
If we click button to enable DisplayOverOtherApps for monado, use
back button to com back to Launcher and hot-start monado app, the
disabled status fragment is not removed, and enabled status fraqgment is
added top on disabled status fragment, that causes text overlap.
This CL will use FragmentTransaction#replace instead of
FragmentTransaction#add to ensure there is only one
DisplayOverOtherAppsStatusFragment, and new status will replace old
status without any overlap.
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
utzcoz
b6e8801ea4
t/oxr_android: Replace full-name qualified with importing for build.gradle
...
Signed-off-by: utzcoz <utzcoz@outlook.com>
2022-03-15 14:28:40 +00:00
Jakob Bornecrantz
b2d2cf3ade
st/oxr: Tidy oxr_space_locate
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
587d26bb45
st/oxr: Only access space velocity through chain helper
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
85a2abaec6
st/oxr: Refactor pose and fov copies into helpers
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
1fb5656862
st/oxr: Improve logging in xrLocateSpace
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
4fc02cf60e
st/oxr: Ensure velocities flags and values are zeroed
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
798932fbf2
st/oxr: Set position to identity and zero velocities if the spaces are locatable
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
291e795728
st/oxr: Add XRT_CHECK_RESULT to some space functions
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
e89e3d5276
aux/vk: Add XRT_CHECK_RETURN to sync functions
2022-03-15 00:16:17 +00:00
Jakob Bornecrantz
57d1394941
xrt: Add XRT_CHECK_RESULT define
2022-03-15 00:16:17 +00:00
Mateo de Mayo
2bb0c5cda5
t/slam: Implement CSV writers for trajectories and timing info
...
This CSV files can be used for offline analysis.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
c9f7184d64
t/slam: Implement timing and trajectory error UI graphs
2022-03-14 23:42:13 +00:00
Mateo de Mayo
af2dde11c3
misc: Fix some release build warnings and minor changes
...
- Add CMakeUserPresets.json to .gitignore
- Fix DASSERTs warning for release builds
- Do not use one euro filter with invalid poses
- Other NFC style changes
2022-03-14 23:42:13 +00:00
Mateo de Mayo
e889ee7562
d/euroc: Implement ground truth trajectory load
2022-03-14 23:42:13 +00:00
Mateo de Mayo
71694b80fd
d/euroc: Refactor player to stream samples more like a real device
...
Splits the image and IMU producers into their own threads.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
1dbda3d8c8
t/euroc: Tie CSV file opening to recorder lifecycle
...
This is a better way of handling writing small but high frequency data
like IMU samples so as to avoid continuous opening and closing of a file.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
2d9c1b2b11
external: Update slam_tracker 2.0.0 with support for timing
...
Adds pose extension functionality with a timing pose extension that
allows SLAM/VIO systems to report internal timestamps for performance
measurement.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
147d4c5d26
xrt: Add groundtruth sink to xrt_slam_sinks
2022-03-14 23:42:13 +00:00
Mateo de Mayo
88bd7a669d
xrt: Add pose sink interface
2022-03-14 23:42:13 +00:00
Jakob Bornecrantz
c766411b50
c/client: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
ef373662f2
ipc: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
ca7526a3e2
c/multi: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
8a9a8aeeba
c/util: Impelement xrt_compositor_semaphore interfaces
2022-03-14 19:53:05 +00:00
Jakob Bornecrantz
851224123e
xrt: Add compositor semaphore interface
2022-03-14 19:52:48 +00:00
Jakob Bornecrantz
37354b953c
aux/vk: Add more timeline semaphore functions
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
16bae922e2
c/main: Enable timeline semaphores where available
2022-03-14 18:58:35 +00:00
Christoph Haag
dbb21715b0
st/oxr: Enable timeline semaphores where available
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-14 18:58:35 +00:00
Christoph Haag
02c456c192
st/oxr: Port XR_KHR_vulkan_enable2 init to u_string_list
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
f4f2196e34
xrt: Add a way to say that timeline semaphores have been enabled
2022-03-14 18:58:35 +00:00
Jakob Bornecrantz
d0f6ea10bc
u/worker: Fix some late feedback
2022-03-14 18:57:35 +00:00
Jakob Bornecrantz
84069cc4f0
u/logging: Add logging sink to intercept log messages
2022-03-14 17:21:20 +00:00
Antonio Ospite
6ca4522de0
d/ns: really silence -Wunused-result warning
...
A previous change didn't really ignore the return value of fread() and
a warning was still emitted:
-----------------------------------------------------------------------
[103/1571] Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
../src/xrt/drivers/north_star/ns_hmd.c:512:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
512 | (void)fread(json, 1, file_size, config_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------
Check the return value of fread to fix the warning for good, and declare
the return value of ftell as long as stated in the man page.
2022-03-14 14:06:02 +00:00
Antonio Ospite
37852ffa65
xrt: fix -Wreturn-type warnings
...
Add some missing returns pointed out by -Wreturn-type:
-----------------------------------------------------------------------
[75/1571] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_config_json.c.o
.../src/xrt/auxiliary/util/u_config_json.c: In function ‘u_gui_state_scene_to_string’:
.../src/xrt/auxiliary/util/u_config_json.c:524:1: warning: control reaches end of non-void function [-Wreturn-type]
524 | }
| ^
-----------------------------------------------------------------------
2022-03-14 14:06:02 +00:00
Jakob Bornecrantz
771aeda784
u/worker: Add task worker helper
2022-03-11 15:29:16 +00:00
Jakob Bornecrantz
76d8944765
os/threading: Add os_cond wrapper
2022-03-11 15:29:16 +00:00
Christoph Haag
7894039962
st/oxr: return defined result early on fail in xrLocateViews
2022-03-11 00:38:35 +01:00
Christoph Haag
4501088312
st/oxr: Don't return invalid pose after local space set up
2022-03-11 00:23:12 +01:00
Jakob Bornecrantz
a0c8cc14f5
external: Update to Catch2 version 2.13.8
2022-03-09 22:34:40 +00:00
Jakob Bornecrantz
e1b0f55a87
d/ns: Always check to close file on error path
2022-03-09 22:34:37 +00:00
Antonio Ospite
a4167ee500
d/ns: silence -Wunused-result warning, close config_file in error paths
...
On some systems fread() is declared with attribute warn_unused_result
and this results in a build warning:
-----------------------------------------------------------------------
Building C object src/xrt/drivers/CMakeFiles/drv_ns.dir/north_star/ns_hmd.c.o
.../src/xrt/drivers/north_star/ns_hmd.c: In function ‘ns_config_load’:
.../src/xrt/drivers/north_star/ns_hmd.c:512:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
512 | fread(json, 1, file_size, config_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------
Explicitly ignore the return value of that fread() to silence the
warning.
And while at it also close config_file in some error paths between
fopen() and fclose() which where leaking the file pointer when jumping
to the parse_error label.
2022-03-09 16:10:43 +01:00
Antonio Ospite
beda8f35b2
xrt: fix -Wmissing-field-initializers warning in comp_window_wayland.c
...
Newer wayland protocols have a new filed in xdg_toplevel_listener which
is not initialized:
-----------------------------------------------------------------------
[215/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_window_wayland.c.o
.../src/xrt/compositor/main/comp_window_wayland.c:182:1: warning: missing field 'configure_bounds' initializer [-Wmissing-field-initializers]
};
^
1 warning generated.
-----------------------------------------------------------------------
Detect the version when this is needed and initialize the field to
silence the warning.
2022-03-09 14:53:06 +01:00
Antonio Ospite
e8c9d8f575
xrt: fix -Wunused-variable warnings
...
Some variables are only used in asserts, so they may be unused
depending on the build type:
-----------------------------------------------------------------------
[68/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_util.dir/util/u_sink_combiner.c.o
.../src/xrt/auxiliary/util/u_sink_combiner.c:188:11: warning: unused variable 'diff_ns' [-Wunused-variable]
int64_t diff_ns = frames[0]->timestamp - frames[1]->timestamp;
^
1 warning generated.
[205/315] Building C object src/xrt/compositor/CMakeFiles/comp_main.dir/main/comp_renderer.c.o
.../src/xrt/compositor/main/comp_renderer.c:872:17: warning: unused variable 'layer_count' [-Wunused-variable]
const uint32_t layer_count = c->base.slot.layer_count;
^
1 warning generated.
-----------------------------------------------------------------------
Mark them as XRT_MAYBE_UNUSED to fix the build warnings.
2022-03-09 14:53:06 +01:00
Antonio Ospite
14a1ced0e4
xrt: fix -Wreturn-type warnings
...
Add some missing returns pointed out by -Wreturn-type:
-----------------------------------------------------------------------
[32/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_gstreamer.dir/gstreamer/gst_sink.c.o
.../src/xrt/auxiliary/gstreamer/gst_sink.c:53:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
1 warning generated.
[84/315] Building C object src/xrt/auxiliary/CMakeFiles/aux_vk.dir/vk/vk_compositor_flags.c.o
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:117:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
.../src/xrt/auxiliary/vk/vk_compositor_flags.c:146:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
}
^
2 warnings generated.
-----------------------------------------------------------------------
For the function returning VkImageAspectFlags return a literal 0 because
the enum values VK_IMAGE_ASPECT_NONE or VK_IMAGE_ASPECT_NONE_KHR may not
always be defined.
2022-03-09 14:52:29 +01:00
Jakob Bornecrantz
17e9e06de7
aux/vk: Detect external semaphore support
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
c0bd8ce3ba
aux/vk: Let vk_init_from_given enable timeline semaphores
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
3c8378631f
aux/vk: Properly set log_level in given vk_bundles
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
3044794f93
aux/vk: Rename timeline_semaphores to features.timeline_semaphore
2022-03-08 21:04:56 +00:00
Jakob Bornecrantz
8bda87c855
xrt: Correct xrt_compositor_fence::wait docu
2022-03-08 21:04:56 +00:00
Moses Turner
30b779e515
t/hand: Add ht_sync
2022-03-08 20:44:25 +00:00
Moses Turner
012c86352e
t/hand: Add async wrapper around sync helper
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-03-08 20:44:18 +00:00
Jakob Bornecrantz
60cd630271
tracking: Add new hand tracking interface header
...
Co-authored-by: Moses Turner <moses@collabora.com>
2022-03-08 20:38:58 +00:00
Moses Turner
7235b6a45a
u/sink: Add some comments
2022-03-08 20:38:58 +00:00
Moses Turner
37f0c901d2
u/sink: Add sink to convert from stereo to two SLAM frames
2022-03-08 20:38:58 +00:00
Moses Turner
a9db1a6f6e
d/ht_crtl_emu: Free driver
2022-03-08 13:52:23 -06:00
Jakob Bornecrantz
7b0cee5a85
u/trace_marker: Add new tracking category
2022-03-08 10:46:48 +00:00
Jakob Bornecrantz
d06bb04357
u/trace_marker: Tidy
2022-03-08 10:46:47 +00:00
Jakob Bornecrantz
0ebb1c3be9
t/psmv: Make TrackerPSMV be standard layout
2022-03-07 16:48:28 +00:00
zhibinw
41db1e5e12
st/oxr: Increase active_wait_frames count after previous xrBeginFrame has been called
2022-03-07 16:35:58 +00:00
Christoph Haag
7c55c51408
st/gui: Add warning when v4l driver is disabled on linux
...
"Failed to open camera!" is a very uninformative error
2022-03-07 13:53:59 +00:00
Jakob Bornecrantz
bf1edf96eb
d/dai: Add OV7251 sensor info
2022-03-04 14:04:13 +00:00
Christoph Haag
61024ab9a1
st/oxr: Use correct timestamp for layer space transform
2022-03-03 23:34:31 +01:00
Christoph Haag
76c18bda47
st/oxr: Fix layer poses sent to the compositor
2022-03-03 17:03:36 +01:00
Christoph Haag
b863aa2629
st/oxr: don't run the timestamp conversion in a loop
2022-03-03 01:42:35 +01:00
Christoph Haag
075fde3613
st/oxr: propagate a few more space handling return codes
2022-03-03 01:42:02 +01:00
Christoph Haag
58c9679087
st/oxr: remove another unused function
2022-03-03 01:41:25 +01:00
Christoph Haag
ed0bd9c244
st/oxr: rework spaces
2022-03-02 17:40:00 +00:00
Christoph Haag
f633680506
st/oxr: Fix local[e]_ref_space typo
2022-03-02 17:40:00 +00:00
Antonio Ospite
031a53d6fd
c/render: assign comp_buffer.size when creating a buffer
...
The size field in comp_buffer was never assigned, and also never used as
all comp_buffer users rely on the allocation_size field.
Use the size field to store the size originally requested when creating
the buffer which could be different from the value returned in the
allocation_size field.
Having both sizes available allows a user to check if allocation_size is
in fact different from the requested size.
2022-03-02 16:41:00 +00:00
Jakob Bornecrantz
eca2e2535f
c/util: Return timeout on fence timeout
2022-03-02 11:01:07 +00:00
Jakob Bornecrantz
772b6256d6
c/multi: Handle fence timeouts
2022-03-02 11:01:07 +00:00
Jakob Bornecrantz
7e8f4f46c6
xrt: Add XRT_TIMEOUT to xrt_result_t
2022-03-01 20:59:35 +00:00
Jakob Bornecrantz
e13cfd2fec
c/shader: Fix color values in compute clear shader
2022-03-01 13:58:07 +00:00
Moses Turner
ffee6c360b
u/sink: Don't sleep when combining frames; we're not testing
...
Where's the dunce cap?
2022-03-01 01:14:57 -06:00
Jakob Bornecrantz
8229905233
c/client: Set default logging level for vk_bundle in vk compositor
2022-02-25 17:11:38 -06:00
Jakob Bornecrantz
f6788f5548
c/client: Create and pass down sync_handles to native compositor
2022-02-25 17:11:38 -06:00
Jakob Bornecrantz
ac752a651e
c/client: Add tracing to Vulkan client compositor
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
f5c77dfb32
aux/vk: Add vk_create_and_submit_fence_native
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
78f3340bf5
aux/vk: Check which fence types support import and export
2022-02-24 20:54:47 +00:00
Jakob Bornecrantz
ebe895bdb8
aux/vk: Add vkGetPhysicalDeviceExternal[Buffer|Fence|Semaphore]PropertiesKHR (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
543f28abf9
aux/vk: Add vkGetFenceWin32HandleKHR (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
36025886ee
aux/vk: Refactor our sync primitives (NFC)
2022-02-24 17:51:59 +00:00
Jakob Bornecrantz
d6e0c45855
aux/vk: Order files in build scripts (NFC)
2022-02-24 17:51:59 +00:00
Connor Smith
e1c180240e
Create VkQueue with queueIndex from XrGraphicsBindingVulkanKHR.
...
Per XR_KHR_vulkan_enable: "the OpenXR runtime must interpret the image
as being owned by the VkQueue specified in XrGraphicsBindingVulkanKHR."
(https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_KHR_vulkan_enable )
2022-02-23 17:45:46 -05:00
Henry Che
add7b5723f
Update illixr_device.cpp: There is no function called get_view_pose in xrt_device.h.
2022-02-23 17:13:38 +00:00
Mateo de Mayo
cee1571625
d/euroc: Fix euroc player skip functionality
2022-02-22 22:56:07 +00:00
Mateo de Mayo
a0021dc7d0
t/euroc: Fix memory leak in euroc recorder
...
This was the reason the recorder was eating so much RAM.
SSD write speeds should be enough for common use cases to keep RAM stable.
2022-02-22 22:56:07 +00:00
Ryan Pavlik
7b3a2e7c1a
a/math: C wrapper for the float low-pass filter too.
2022-02-22 16:44:44 -06:00
Ryan Pavlik
cf07791e93
a/math: Add a C wrapper for the integer low-pass filter.
2022-02-22 16:42:53 -06:00
Ryan Pavlik
a0e2df4cf0
tracking/math: Move the generic low pass filters to a/math
2022-02-22 16:42:53 -06:00
Jakob Bornecrantz
dfb1b8d469
c/render: Do not assume nullDescriptor is available
2022-02-22 21:49:06 +00:00
Jakob Bornecrantz
b1b6978069
c/main: Pass in correct pipeline stage to wait on
2022-02-22 21:49:06 +00:00
Ryan Pavlik
4156cabedf
a/tracking: Add an integer version of the low-pass filter.
2022-02-22 09:58:19 -06:00
Ryan Pavlik
928254ffed
a/math: Add a rational number struct template.
2022-02-22 09:58:19 -06:00
Mateo de Mayo
4b94d83c11
a/math: Fix one euro implementations not dividing by dt
...
The dy name was kept. It can now be thought of as "[d]erivative of [y]"
instead of the previous "change of y". Also, the beta parameters of the
one-euro users were adjusted by approximately multiplying them by 0.016
to compensate.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
17dee2bb68
t/slam: Cache tracked pose timestamp
...
This is mainly to avoid problems with filters that calculate
their dt from previous calls. In particular the one euro filter fix
that gets implemented in the next commit would crash because of dt=0.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
b04c26e522
a/math: Expose quat_{exp, ln} and test them
2022-02-22 13:34:45 +00:00
nima01
be3546eb92
d/wmr: Reverb G1: Avoid camera buffer related hangs
2022-02-20 14:57:36 +00:00
Moses Turner
8972778e00
a/vk: Remove superfluous format assignment in the readback pool
...
This also caused a segfault when the readback pool filled up.
2022-02-20 00:51:26 -06:00
Jakob Bornecrantz
4ba68a7008
st/oxr: Remove direct access or mention of hmd distortion fov
...
The overrides didn't do anything unless Monado was compiled for
in-process, and even then the device might return a differnt fov.
The todo was for a driver and shouldn't be in the state tracker.
2022-02-19 13:45:26 +00:00
Jakob Bornecrantz
ab5e863116
ipc: Do not copy fov in distortion information
...
No other distortion info is passed along
2022-02-19 13:22:25 +00:00
Christoph Haag
49b81e219f
aux/util: Move fov from u_device_simple_info::views to top level
2022-02-19 13:04:32 +00:00
Christoph Haag
996a5d3e9a
xrt: Move fov from xrt_view to xrt_hmd_parts::distortion
2022-02-19 13:04:32 +00:00
Christoph Haag
5e1805f04b
build: Add sample driver to meson build
2022-02-19 13:04:32 +00:00
Moses Turner
86a1ba32e5
c/main: Add readback to gui_window_record
2022-02-18 20:26:27 -06:00
Moses Turner
2e8f572a4d
aux/vk: Add util to read VkImages back to a pool of xrt_frames
...
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2022-02-18 20:26:27 -06:00
Moses Turner
43fb248271
c/main: Allow framebuffers to be transfer sources
2022-02-18 20:26:27 -06:00
Moses Turner
8f792c9165
u/sink: Add u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8
2022-02-18 20:06:20 -06:00
Moses Turner
0dcc73d5cf
st/gui: Support RGBA, unusual strides, and add higher bitrate option
2022-02-18 20:06:20 -06:00
Moses Turner
433ae0d9c6
aux/gst: Support RGBA and images with unusual row strides
2022-02-18 20:06:20 -06:00
Moses Turner
727c087366
aux/vk: Add helper for adding image memory barriers
2022-02-18 20:06:20 -06:00
Moses Turner
5a2088ee3e
aux/vk: Add vkCmdBlitImage to vk_helpers
2022-02-18 20:06:20 -06:00
Moses Turner
3a7569a7b0
u/trace_marker: Add COMP_TRACE_IDENT
2022-02-18 20:06:20 -06:00
Moses Turner
00984aa021
aux/vk: Add advanced create image function
2022-02-18 20:06:20 -06:00
Moses Turner
d8c33cd22d
t/oxr: Come on, we can be more sparkly than that
2022-02-18 20:06:20 -06:00
Ryan Pavlik
4ecbcc2d27
d/wmr: Fix doxygen warning
2022-02-19 01:15:36 +00:00
Ryan Pavlik
80ab7243ca
st/oxr: Additional doxygen fix
2022-02-19 01:15:35 +00:00
Ryan Pavlik
de6e237a9f
xrt: Additional doxygen fix.
2022-02-19 01:15:33 +00:00
Christoph Haag
5b1d15f143
d/survive: Change license to BSL, as originally intended
2022-02-19 00:55:54 +00:00
Christoph Haag
b2e7fc0f11
d/survive: Add pragma once and c++ compatibility
2022-02-19 00:55:54 +00:00
Christoph Haag
bab6858eb8
d/multi: Change license to BSL, as originally intended
2022-02-19 00:55:54 +00:00
Christoph Haag
43f0bb4343
xrt: Fix tracking override docs
2022-02-19 00:43:30 +00:00
Jakob Bornecrantz
ba0f7cba8b
aux/vk: More comments
2022-02-19 00:34:01 +00:00
Jakob Bornecrantz
5222dfd728
aux/vk: Refactor and document various compositor swapchain image flags
...
This also fixes two errors:
* VK_IMAGE_USAGE_SAMPLED_BIT was not always added to depth formats.
* VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT was added to image
views for sampling, where the spec only allows one of them.
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
05771e7b9e
aux/vk: Rename compositor swapchain image helper functions (NFC)
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
ad5a057737
aux/vk: Refactor out swapchain functions to own file (NFC)
2022-02-18 21:32:05 +00:00
Jakob Bornecrantz
4539b74e56
aux/vk: Re-org one function (NFC)
2022-02-18 21:32:05 +00:00
Ryan Pavlik
9a440d9bce
st/oxr: Fix doxygen warning
2022-02-18 21:22:32 +00:00
Ryan Pavlik
1eb6aecdc0
xrt: Improve docs and fix doxygen warnings
2022-02-18 21:22:32 +00:00
Ryan Pavlik
010599baa6
comp/main: Fix debug typo
2022-02-18 21:22:32 +00:00
Jakob Bornecrantz
20c7e30304
aux/vk: Remove unnecessary breaks
2022-02-18 18:29:28 +00:00
Jakob Bornecrantz
0126819f21
aux/vk: Use aspect mask that covers both depth and stencil for mixed formats
2022-02-18 18:29:28 +00:00
Christoph Haag
c162ff655b
st/oxr: add renderdoc API to xrBeginFrame/xrEndFrame
...
Usually renderdoc captures frames by hooking the present functions to
recognize when an application is finished rendering a frame.
OpenXR applications might not present to a window. Therefore use the
renderdoc API to capture application frames between xrBeginFrame and
and xrEndFrame.
This allows renderdoc to capture application frames without the need
to modify the application.
2022-02-18 13:44:15 +01:00
Christoph Haag
93bf83e8f6
xrt: Add clang format, disabling formatting in external
2022-02-18 13:44:15 +01:00
Jakob Bornecrantz
9a884931bb
c/client: Use correct VkImageAspectFlags in barriers
2022-02-17 19:29:57 +00:00
Christoph Haag
fc77db6eca
comp/main: Fix debug print of available direct mode modes
...
fixes 3dfec5f1ab
2022-02-17 17:22:18 +01:00
Nova
f2ec7a7dd5
d/survive: Add SURVIVE_DISABLE_HAND_EMULATION env variable
2022-02-17 13:20:59 +00:00
Jakob Bornecrantz
7f33a55c77
c/client: Wait on Vulkan clients to complete rendering
2022-02-17 00:39:53 +00:00
Christoph Haag
9cd3b47f94
st/oxr: Rework composition of head relation for xrLocateViews
2022-02-16 23:15:28 +00:00
Jakob Bornecrantz
9b656cde77
xrt: Remove xrt_device::get_view_pose
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:24 +00:00
Christoph Haag
b81ab3f09a
st/steamvr_drv: Use xrt_device_get_view_poses
2022-02-16 23:15:21 +00:00
Jakob Bornecrantz
49f95164a7
st/oxr: Use xrt_device_get_view_poses
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:16 +00:00
Jakob Bornecrantz
3eb921b899
c/main: Use xrt_device_get_view_poses
2022-02-16 23:15:14 +00:00
Jakob Bornecrantz
0511b319ba
drivers: Implement xrt_device::get_view_poses
...
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2022-02-16 23:15:08 +00:00
Jakob Bornecrantz
223aa515fd
u/device: Add u_device_get_view_poses helper
2022-02-16 23:15:07 +00:00
Jakob Bornecrantz
be4f4969c0
ipc: Add support for xrt_device::get_view_poses
2022-02-16 23:15:06 +00:00
Jakob Bornecrantz
780f1763e3
xrt: Add xrt_device::get_view_poses function
2022-02-16 23:15:02 +00:00
Jakob Bornecrantz
b322ff689b
d/wmr: Add trace markers to some common functions
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
4aa2ae985c
d/wmr: Refactor hololens code a bit
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
8f5a7b88c7
d/wmr: Tidy todos
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
47ae7c19c3
u/trace_marker: Add driver category
2022-02-16 22:25:55 +00:00
Jakob Bornecrantz
a998987efd
c/main: Refactor fast path detection
2022-02-16 20:25:41 +00:00
Jakob Bornecrantz
91a2a5d29d
c/client: Set correct optimal layout for client swapchains
2022-02-16 18:20:44 +00:00
Jakob Bornecrantz
7791a04069
d/rs: Add math include to fix build and org includes
...
Fixes build on Ubuntu 21.10
2022-02-14 14:34:06 +00:00
Mateo de Mayo
83fceec521
t/slam: Add filtering methods to the tracker
...
Adds three toggleable filters:
- Moving average
- Exponential smoothing
- One euro filter
2022-02-14 10:22:05 -03:00
Mateo de Mayo
b90d60a9ce
t/slam: Add prediction types that integrate gyro and accel samples
2022-02-14 10:22:05 -03:00
Mateo de Mayo
3cba6dc700
d/rs: Add exposure controls to the debug UI
2022-02-14 10:22:05 -03:00
Mateo de Mayo
4d491c8c8e
misc: Fix bad matrix usage on calibration save and fields doc
2022-02-14 10:22:05 -03:00
Mateo de Mayo
8820a3e99c
a/math: Add m_filter_euro_quat
2022-02-14 10:22:05 -03:00
Mateo de Mayo
06597a0655
a/math: Add math_quat_{len, unrotate}
2022-02-14 10:22:05 -03:00
Mateo de Mayo
cf5574a4e9
m/space: Add m_space_relation_interpolate
2022-02-14 10:22:05 -03:00
Christoph Haag
dd81085a04
ipc/server: print monado version in info log on startup
2022-02-14 00:26:09 +01:00
nima01
41edf12a0d
d/wmr: Debug GUI support for enabling/disabling HMD screen and displaying IPD and proximity values
2022-02-12 03:45:16 +00:00
Moses Turner
e553d1993b
u/sink: refactor u_sink_combiner
...
So you can use the enforcing-genlock bit elsewhere
2022-02-10 10:55:06 -06:00
Moses Turner
7ee8a7dba0
d/dai: add stereo-RGB pipeline behind ifdef, waiting for Luxonis to upstream multicam support
2022-02-10 10:55:06 -06:00
Ryan Pavlik
c30acbf9f8
d/ht: Forward declarations and IWYU
2022-02-08 17:27:42 -06:00
Ryan Pavlik
5b8c869b56
d/ht: Fix header and usages of helpers
2022-02-08 17:21:46 -06:00
Ryan Pavlik
acc9683e0f
a/util: Fix copy/move assign of history buf
2022-02-08 17:08:00 -06:00
Ryan Pavlik
8c7af28904
d/ht: Fix build issues against updated history structure.
2022-02-08 16:58:24 -06:00
Ryan Pavlik
a904914e6e
a/util: Wrap "just enough" of the ring buffer stuff for generic use from C.
2022-02-08 13:18:15 -06:00
Ryan Pavlik
3b0252bda8
a/util: Don't make the RingBufferHelper compile-depend on max size.
2022-02-08 13:18:05 -06:00
Ryan Pavlik
c079eabfdf
a/util: iterator cleanups to reduce diffs, using a self typedef.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
6908486022
a/util: Add age clamping to history buffer.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
603117a1d1
a/util: Split history buf file up, factor out more generic iterator base
2022-02-08 17:00:11 +00:00
Ryan Pavlik
65ef8d58f1
d/ht: Cleanup usage of history buffer.
...
May wish to reconsider whether all these usages are required: they appear to only use the back (latest) element.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
94e053d0d4
a/math: More relation history cleanup
2022-02-08 17:00:11 +00:00
Ryan Pavlik
1c183a9eeb
a/math: Simplify m_history_relation using standard algorithms
2022-02-08 17:00:11 +00:00
Moses Turner
614e0e58ae
d/ht: use new HistoryBuf api
2022-02-08 17:00:11 +00:00
Ryan Pavlik
90c74578d1
a/util: Refactor HistoryBuffer to be more like a standard container.
2022-02-08 17:00:11 +00:00
Ryan Pavlik
d05df584b2
d/ht: Some cleanups
2022-02-08 17:00:11 +00:00
Ryan Pavlik
8030468f95
os: Add a c++ wrapper for our mutex types
2022-02-08 17:00:11 +00:00
Ryan Pavlik
73220b268e
comp/multi: Zero the predicted GPU time that we don't compute
2022-02-08 10:51:40 -06:00
Ryan Pavlik
9ad96455a1
xrt: Small doc/interface cleanups.
2022-02-08 10:51:40 -06:00
Ryan Pavlik
9b6d117970
a/util: Some reorg and renaming in upa to be closer to upc
2022-02-08 10:51:40 -06:00
Ryan Pavlik
78e9acc6c4
a/util: Remove unused member in upc
2022-02-08 10:51:39 -06:00
Ryan Pavlik
0f8565ec71
a/util: Some further internal renames for pacing
2022-02-08 10:51:39 -06:00
Ryan Pavlik
6345962d66
a/util: Rename app_time_* in u_pc to comp_time_*
2022-02-08 10:51:39 -06:00
Ryan Pavlik
d176b18598
a/util: Allow upc present offset to be variable.
2022-02-08 10:51:39 -06:00
Ryan Pavlik
2238aff403
a/util: Catch frame_id mismatch in u_pacing_compositor
2022-02-08 10:51:39 -06:00
Ryan Pavlik
a2e1eb7e75
a/util: Have all timestamps be injected into pacing.
...
No more calling os_monotonic_get_ns() inside the pacing helpers.
Much better testability.
2022-02-08 10:51:39 -06:00
Ryan Pavlik
40caa24d4b
c/main: Rename to calc_frame_pacing
2022-02-07 13:11:00 -06:00
Ryan Pavlik
d969bc334f
a/util: More pacing documentation
2022-02-07 13:11:00 -06:00
nima01
45466e419b
d/wmr: Reverb G1 proximity sensor support
2022-02-02 02:27:55 +01:00
Jakob Bornecrantz
309c45f4c4
aux/bindings: Tidy
2022-01-31 22:43:09 +00:00
Jakob Bornecrantz
037b161fb4
aux/binding: Rename function
2022-01-31 22:43:09 +00:00
Jakob Bornecrantz
f0a5f1977c
aux/bindings: Add OpenXR Identifier
2022-01-31 22:43:09 +00:00
Simon Zeni
003acb4d5f
meson: configure systemd service files only if systemd is found
2022-01-31 16:35:06 +00:00
Christoph Haag
c9b1fcf572
comp/main: Re add accidentally deleted WINDOW_XCB case
...
Fixes 856d2d39c8
2022-01-25 22:22:02 +01:00
Christoph Haag
0640728969
t/steamvr: Attempt to fix spurious CI failure
...
fix suggested by thaytan.
2022-01-25 19:24:49 +00:00
Ryan Pavlik
856d2d39c8
comp/main: Simplify use of u_string_list
2022-01-24 16:34:45 -06:00
Ryan Pavlik
9b9e23be62
a/util: Add a new constructor and a new method to u_string_list
2022-01-24 16:34:45 -06:00
Ryan Pavlik
d057f00b54
doc: Fix broken link
2022-01-24 14:08:06 -06:00
Christoph Haag
2ad634bd1e
d/wmr: print json config on debug log level
2022-01-21 20:32:35 +00:00
Christoph Haag
6e339014a5
d/wmr: Add Medion Erazer X1000
2022-01-21 20:32:35 +00:00
Christoph Haag
45adabe135
d/wmr: Clarify comment in headset_map assert
2022-01-21 20:32:35 +00:00
Christoph Haag
88d55c6e22
d/wmr: Sort HP G2 controller PID to the other HP devices
2022-01-21 20:32:35 +00:00
Christoph Haag
96c09e06e7
d/wmr: consolidate interface getters
...
Moving them into one function makes it simpler to add more HMDs.
2022-01-21 20:32:35 +00:00
Ryan Pavlik
c9889f776f
xrt: Rename xrt_space_graph to xrt_relation_chain.
...
Rename all functions and instances accordingly as well,
and add documentation for all methods.
2022-01-21 19:54:30 +00:00
Colin Kinloch
0a783ca208
systemd: Use pkgconfig variable systemduserunitdir as unit install directory
2022-01-18 21:11:44 +00:00
Moses Turner
1b3dadbec5
gui/remote: add pose for XR_EXT_hand_tracking test
2022-01-18 15:02:40 -06:00
Moses Turner
2188d8afc2
d/remote: expose hand active state to remote gui
2022-01-18 14:33:11 -06:00
Moses Turner
7b3378b28a
aux/tracking; st/gui: save/load calibration gui state to file
2022-01-18 17:18:43 +00:00
Moses Turner
254c233c76
util/u_config_json: add functions to save/load gui state to file
2022-01-18 17:18:43 +00:00
Moses Turner
dfd576e0ab
st/gui: skip mode selection if there's only one mode
2022-01-18 17:18:43 +00:00
Moses Turner
c8b9bff356
st/gui: fix typo - Asymetric -> Asymmetric
2022-01-18 17:18:43 +00:00
Ryan Pavlik
6677d42642
a/util: Frame pacing docs and some error handling
2022-01-15 01:06:48 +00:00
Ryan Pavlik
a7c22fd185
a/util: Rename u_render_timing to u_pacing_app and u_frame_timing to u_pacing_compositor.
...
They both control pacing, but for different uses. Neither actually performs any timing.
2022-01-15 01:06:48 +00:00
Ryan Pavlik
365b3ca8d4
a/util: Make display timing helper more configurable.
...
Also comment some display timing interfaces better.
2022-01-15 01:06:48 +00:00
Jakob Bornecrantz
f0e27a88a3
xrt: Clarify call order on some compositor functions
2022-01-15 00:27:00 +00:00
Jakob Bornecrantz
c272549802
xrt: Correctly tag out arguments
2022-01-15 00:05:38 +00:00
Christoph Haag
f978f2691d
aux/vk: Don't leak VkExtensionProperties
2022-01-13 23:48:44 +01:00
Christoph Haag
a60fab80e6
c/main: Don't leak non_desktop_reply
2022-01-13 23:46:43 +01:00
Christoph Haag
147851ffdc
aux/ft: Add some documentation comments
2022-01-13 23:07:57 +01:00
Christoph Haag
a6935dcc4b
c/main: Check surface counter flags
2022-01-13 23:07:46 +01:00
Christoph Haag
8fe465e88f
c/main: Make VkDisplayKHR from direct mode accessible in target swapchain
2022-01-13 23:07:34 +01:00
Christoph Haag
73d75aa522
c/main: cache VkDisplayKHR in wayland direct mode window
2022-01-13 23:07:16 +01:00
Christoph Haag
3eecb0f991
aux/vk: Add vkGetPhysicalDeviceSurfaceCapabilities2EXT function
2022-01-13 23:07:16 +01:00
Christoph Haag
693aceb755
aux/vk: Add VK_EXT_display_control functions
2022-01-13 23:07:16 +01:00
Christoph Haag
ec64a856b4
aux/vk: Use VK_DEBUG instead of U_LOG for vk device ext selection
2022-01-13 23:07:01 +01:00
Christoph Haag
8e020fac2d
c/main: Add and enable VK_EXT_display_control optional device ext
2022-01-13 23:06:40 +01:00
Christoph Haag
b7d179b1b3
c/main: Add display surface counter optional vk instance ext
2022-01-13 23:06:15 +01:00
Christoph Haag
ff4d492b74
c/util: add optional vk instance extensions
2022-01-13 23:05:38 +01:00
Christoph Haag
ce6339e237
c/main: Make more use of string list for device ext
2022-01-13 23:05:06 +01:00
Christoph Haag
f34816872c
c/main: Use u_string_list for vk extensions
2022-01-13 23:04:34 +01:00
Christoph Haag
171a3830b9
u/string_list: Add constructor from existing list
2022-01-13 23:04:17 +01:00
Christoph Haag
ee366e16e5
c/main: rename extensions num -> count
2022-01-13 23:03:56 +01:00
Christoph Haag
13e3db6128
aux/vk: Add vkEnumerateInstanceExtensionProperties
2022-01-13 23:03:38 +01:00
Christoph Haag
7174545ee8
aux/vk: remove duplication of vk_get_loader_functions functionality
2022-01-13 23:03:38 +01:00
Christoph Haag
1ae1e695e2
c/util: Fix device extension list comment
2022-01-13 23:03:25 +01:00
Christoph Haag
20f265d9ae
u/string_list: Add contains function
2022-01-13 22:37:25 +01:00
Christoph Haag
07ddac523c
build: Build u_string_list with meson too
2022-01-13 22:37:25 +01:00
Christoph Haag
8d5847d5a9
comp: Fix running with XRT_COMPOSITOR_XCB_FULLSCREEN=1
...
It required XRT_COMPOSITOR_XCB_DISPLAY to be set to a valid display or the
swapchain creation would fail because the requested width x height was 0x0.
Now the first display with a size other than 0x0 is selected when the current
selected display is 0x0.
fixes #148
2022-01-13 20:50:48 +00:00
Christoph Haag
77f19161fb
aux/binding: extract monado_binding earlier from list
2022-01-13 14:16:20 +01:00