Commit graph

175 commits

Author SHA1 Message Date
Ryan Pavlik 3287c984aa cmake: Reorganize options, renaming some.
Rename XRT_HAVE_SLAM to XRT_FEATURE_SLAM,
moving it from xrt_config_have.h to xrt_config_build.h
accordingly.
2022-05-04 11:24:02 -05:00
Ryan Pavlik 097eeb4f29 cmake: Switch to a new way of setting options more in line with expectations.
If you explicitly request an option, and it's not available due to dependencies,
we now error out instead of silently changing the value.
2022-05-04 11:24:02 -05:00
Ryan Pavlik 1abf73dfbe cmake: Remove debug print, allow renderdoc on Windows. 2022-05-03 22:45:10 +01:00
Ryan Pavlik b487b4d753 cmake: Skip find modules on Windows that don't make sense.
CMake is really slow on Windows...
2022-04-21 17:19:22 -05:00
Ryan Pavlik eec020cc96 cmake: Adjust default manifest options on Windows 2022-04-21 17:17:16 -05:00
Ryan Pavlik aa4f43b049 cmake: Improve manifest installation, allowing relative paths to be generated. 2022-04-20 11:47:04 -05:00
Jakob Bornecrantz b4f2bc88c8 cmake: Introduce XRT_HAVE_HIDAPI to make HIDAPI controllable 2022-03-28 22:35:01 +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
Ryan Pavlik 09603144f9 cmake: Don't build the WMR driver on Windows.
Ironically, it needs a Linux-only byte order header in its current
incarnation.
2022-01-21 20:26:48 +00:00
Mateo de Mayo 6070da19be cmake: Fix realsense build macro not being exported 2021-12-08 12:29:59 -03:00
Jakob Bornecrantz 3e38ada9a5 build: s/rs/realsense/g 2021-12-07 11:26:20 +00:00
Jakob Bornecrantz 849f401a6a cmake: Add XRT_HAVE_REALSENSE to control RealSense usage 2021-12-07 11:26:20 +00:00
Jakob Bornecrantz 986cde6750 cmake: Build the IPC irrespectively of the service or not 2021-11-24 21:30:01 +00:00
Ryan Pavlik cc4007a69e cmake: Substantial cleanups and simplifications
We now have a cmake-format config file.
We no longer use list variables for sources, instead using
target_sources when we need to add, in accordance with current
best practice. (This makes it a lot easier to edit too.) There's no more
include_directories(), add_definitions(), or other gently-deprecated
directory-scoped commands, nor any CMake scripts that include
a parent directory reference (named targets instead)
2021-11-12 09:48:37 -06:00
Ryan Pavlik 3bd0a07aa2 cmake: Split out finding GLX from the rest of OpenGL on Linux.
Fixes #132.
2021-11-04 15:36:58 +00:00
Ryan Pavlik ebde5344a1 cmake: Make compilation of the sample driver optional. 2021-11-03 17:04:05 -05:00
Ryan Pavlik babda5311a cmake: Fix outdated comment 2021-11-03 17:00:28 -05:00
Ryan Pavlik 86a708cee5 cmake: Allow overriding package version 2021-10-28 11:35:47 +00:00
Ryan Pavlik 72995a8298 build: Fix config message spacing 2021-10-19 15:27:01 -05:00
Mateo de Mayo ab2da01631 build: Add Basalt as an external SLAM system 2021-10-16 17:02:27 -03:00
Mateo de Mayo 7f247604e3 build: Use pkg-config for finding SLAM systems in CMake and other minor improvements 2021-10-07 14:33:10 -03:00
Moses Turner 1ee4e0c304 cmake: always export compile commands 2021-10-01 10:25:13 +00:00
Jakob Bornecrantz 5e66533751 cmake: Move XRT_HAVE_PERCETTO to before it's first use 2021-09-29 21:38:33 +00:00
Ryan Pavlik 995866a576 cmake: Improve use of percetto 2021-09-27 09:26:15 -05:00
Ryan Pavlik 7dc61f8d51 cmake: Move where we search for pkgconfig 2021-09-27 09:26:14 -05:00
Ryan Pavlik 524d6f73c3 cmake: Explicitly specify whether we expect a module or a config. 2021-09-27 09:25:15 -05:00
Ryan Pavlik 0fec29687a cmake: Switch to a new FindPercetto module. 2021-09-27 09:23:09 -05:00
Jakob Bornecrantz 4c58d377c1 cmake: Use . instead of comma for version 2021-09-17 11:54:57 +00:00
Christoph Haag 616c04458c build/cmake: Don't build slam if OpenCV is disabled
Fixes build with -DXRT_HAVE_OPENCV=OFF
2021-09-16 23:33:05 +02:00
Mateo de Mayo 8e8a9c14a9 external: Add slam_tracker.hpp and SLAM build flow 2021-09-15 19:03:55 +00:00
Simon Zeni 47be806428 c/main: Implement WINDOW_DIRECT_WAYLAND 2021-09-15 18:44:18 +00:00
Moses Turner 4b5f4b9721 cmake: Add ONNX Runtime as a dependency for the handtracking driver
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>

cmake-rebase
2021-09-03 21:06:18 +00:00
Mateo de Mayo 97c59bd59f d/euroc: Add EuRoC dataset reader driver.
A squash of the following commits.

d/euroc: Add Euroc driver initial boilerplate

d/euroc: Implement xrt_frame_node interface

d/euroc: Implement mainloop thread start flow

d/euroc: Parse samples from data.csv files

d/euroc: Determine dataset information at start

Also use that information to provide a xrt_fs mode and to know if
right camera images are available to use.

d/euroc: Produce frames for left and right sinks

d/euroc: Implement xrt_imu_sink

d/euroc: Implement playback properties

d/euroc: Implement pausing with UI state machine

d/euroc: Show IMU and progress data in UI

d/euroc: Make sure to give in nullptr or valid pointers to wrapL8

d/euroc: Unreference frames when done with them

d/euroc: Fix leaks with debug sinks, and work around free issue

d/euroc: Refactor playback to produce samples with current timestamps

d/euroc: Fix double free by separating debug sinks from downstream sinks
2021-08-27 18:38:40 +01:00
Moses Turner 8c9483d193 cmake: Add address sanitizers 2021-08-16 21:18:52 +01:00
Moses Turner 7461c57043 cmake: make ulv2 build a little better 2021-06-23 23:40:43 +01:00
Moses Turner 960e68a976 cmake: option for forcing coloured compiler output 2021-06-23 23:39:16 +01:00
Moses Turner 37cbbb6660 d/dai: Add simple DepthAI driver
Co-authored-by: Jakob Bornecrantz <jakob@collabora.com>
2021-06-10 14:32:07 -05:00
Jakob Bornecrantz b4dac8d6fc cmake: Tidy whitespace and remove last mention of XRT_HAVE_VF (NFC) 2021-05-26 14:08:57 +01:00
Jakob Bornecrantz 64e1dd3127 cmake: Print out if we have GStreamer (NFC) 2021-05-26 13:42:26 +01:00
Jakob Bornecrantz b3455555c2 u/trace_marker: Use Percetto/Perfetto for tracing 2021-05-05 17:00:35 +01:00
Ryan Pavlik e82fafb186 cmake: Allow C++17 mode on all platforms, all modules.
Remove per-module C++17 settings.
2021-04-30 15:37:04 -05:00
Ryan Pavlik 3e127a1fa3 build: Move finding Python earlier, so it builds in Android Studio on Linux. 2021-04-27 16:43:38 -05:00
nima01 027ce21bd5 d/wmr: Initial 3DoF WinMR driver
Only supports HP Reverb G1 and G2 for now.

Squash of the following commits:

Initial boilerplate code for HP Reverb G1 driver implementation
Detect and open MS HoloLens Sensors interface
Power up HMD display when headset is detected, and som general code cleanup
Add Reverb G2 PID
reverb_g1: Fix defines
reverb_g1: Run clang format
wmr: Rename Reverb G1 driver to WMR driver
d/wmr: Code style
d/wmr: Flesh out driver a bit more
d/wmr: Code style
Add basic 3dof rotational tracking
d/wmr: Code style
d/wmr: More tidy
xrt: Remove XRT_DEVICE_REVERB_G1
d/wmr: Even more tidy
d/wmr: Changes for Reverb G2
d/wmr: Fixes since last commit
wmr: Fix the meson build and auto-enable the driver
d/wmr: Sleep for compositor to get modes
d/wmr: Use os_hid for control device
d/wmr: Remove hidapi as a dependancy
d/wmr: Move sensor reading to own thread and fix locking
d/wmr: Read from control device and handle more unknown messages
d/wmr: Decode IPD value from control device
d/wmr: Remove all left over dummy driver fields

Co-author: nima01 <nima_zero_one@protonmail.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
Co-author: Jan Schmidt <jan@centricular.com>
2021-04-19 13:33:01 +00:00
Christoph Haag 4ea68b89a4 xrt: Add u_process, backed by libbsd's pidfile
Delete stale ipc files in ipc server when not already running.

If built without libbsd, fall back to previous behavior of complaining about existing ipc files and exit.
2021-04-15 21:42:06 +00:00
Moses Turner 55b86fe815 d/ulv2: Create the driver.
Co-authored-by: Moses Turner <mosesturner@protonmail.com>
Co-authored-by: Christoph Haag <christoph.haag@collabora.com>
2021-04-01 02:10:33 +02:00
Mateo de Mayo 0340ae3cc8 d/qwerty: Add Qwerty driver initial boilerplate
The Qwerty driver will emulate an HMD and controllers through the use
of mouse and keyboard, and in particular, using the SDL key events
generated from the debug GUI.
2021-03-29 15:41:25 -03:00
Christoph Haag 66c1fdaf1f build: Depend XRT_FEATURE_SERVICE on XRT_FEATURE_OPENXR 2021-03-18 19:23:14 +01:00
Christoph Haag 9b5a5ae30d build: XRT_FEATURE_SERVICE requires XRT_FEATURE_OPENXR
Avoid silently building when XRT_FEATURE_SERVICE is enabled, but XRT_FEATURE_OPENXR is not.
2021-03-18 19:19:53 +01:00
Christoph Haag fb0e1ab0ce build/cmake: Print if systemd is found 2021-03-10 01:58:41 +01:00
Jakob Bornecrantz 3077660f1d u/tracing: Add trace marker code 2021-03-08 11:20:52 +00:00