Commit graph

136 commits

Author SHA1 Message Date
Ryan Pavlik d9fb855f6e t/cli: Fix type correctness 2019-12-07 18:24:56 +00:00
Christoph Haag b17f1c2f97 st/oxr: Initialize sdl on main thread
Calling SDL_Init() in different threads in the same process crashes.

In this SDL2 code X11_XOpenDisplay() will be a null pointer on the second thread;

    if (SDL_X11_LoadSymbols()) {
        display = X11_XOpenDisplay(NULL);

This becomes a problem when monado starts the debug UI in a thread,
and then an OpenXR client application tries to initialize SDL.

Two consecutive SDL_Init() in the same thread is harmless though.
2019-11-17 13:59:21 +00:00
Jakob Bornecrantz a29dd8c0a4 st/oxr: Improve destruction of GUI hack 2019-11-09 12:53:42 +00:00
Ryan Pavlik e8660a18bd build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Jakob Bornecrantz 5f4ddcc414 t/cli: Add a just probe command 2019-10-25 18:34:18 +01:00
Jakob Bornecrantz 8301bd8d4c external: Refactor out sdl functions from main cimguo.cpp 2019-10-22 21:37:03 +01:00
Lubosz Sarnecki 02dc839ca8 d/vive: Add initial support for the Valve Index. 2019-10-22 19:18:47 +02:00
Lubosz Sarnecki 2ed3109c95 d/vive: Add initial support for Vive Pro. 2019-10-22 19:18:47 +02:00
Lubosz Sarnecki e063e8245e d/vive: Add native driver for the Vive.
This adds a driver for the Vive family of devices based on Philipp
Zabel's ouvrt.
The driver currently only handles the IMU and main board report streams,
but is able to acquire the JSON configuration and utilize it for IMU
calibration as well as distortion configuration.
2019-10-22 19:18:47 +02:00
Jakob Bornecrantz e56271d968 st/oxr: Add super hacky debug gui 2019-10-15 20:54:57 +01:00
Jakob Bornecrantz 5f1078675d st/gui: Do not call prober select in debug scene 2019-10-15 20:54:52 +01:00
Jakob Borncrantz 0bc91ab1cd cmake: Make sure to link to pthreads 2019-10-15 21:00:12 +02:00
Lubosz Sarnecki 6ec8721899 xrt: Add num_devices to prober found interface.
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Drew DeVault 202d1d72aa openxr/meson.build: remove install: true
This removes the meson feature warnings.
2019-10-10 22:58:10 +00:00
Jakob Bornecrantz 7680038f8b t/gui: Request forward compatible OpenGL version and minimum 3.2 2019-10-10 16:06:57 +01:00
Jakob Bornecrantz 102e36efc9 st/gui: Don't include glad directly 2019-10-09 22:11:41 +01:00
Jakob Bornecrantz 1afc4df95c st/gui: Refactor gui code into it's own state tracker 2019-10-09 21:53:21 +01:00
Jakob Bornecrantz e327d56bf4 aux/ogl: Introduce a single small OpenGL library 2019-10-09 17:07:23 +01:00
Jakob Bornecrantz 420f25c7f7 t/gui: Refactor out SDL2 code 2019-10-09 16:32:58 +01:00
Lubosz Sarnecki 979536dd4b xrt/comp/cmake: Enable build of Wayland backend.
Add pkgconfig based Wayland build including protocol generation.
2019-10-02 12:22:42 +02:00
Jakob Bornecrantz 3e27720083 t/gui: Better handling of sink interceptors 2019-09-28 18:02:41 +01:00
Jakob Bornecrantz 6dcf69df83 aux/tracking: Adjust checkerboard corners for subpixel accuracy 2019-09-28 02:47:42 +01:00
Jakob Bornecrantz ee3f54adb6 aux/tracking: Add parameters to calibration 2019-09-27 20:49:31 +01:00
Jakob Bornecrantz c295c8e6c9 xrt: Refactor meson and cmake (most) to fix cmake build 2019-09-27 12:19:48 +01:00
Jakob Bornecrantz d848ea010f xrt: s/XRT_BUILD_*/XRT_BUILD_DRIVER_*/g 2019-09-27 12:03:36 +01:00
Drew DeVault 064aef3526 build: port to meson 2019-09-26 15:05:22 +00:00
Jakob Bornecrantz b1febd8971 t/gui: Add a calibration scene 2019-09-23 11:46:06 +01:00
Jakob Bornecrantz b50415a367 t/gui: Add main menu and pure debug scene 2019-09-21 18:33:45 +01:00
Jakob Bornecrantz 65eeb19939 targets: Link with tracking if built 2019-09-21 18:21:05 +01:00
Ryan Pavlik f123c41146 t/gui: Support quat values 2019-09-20 10:07:50 +01:00
Ryan Pavlik f10eaafcdb t/gui: Align floats by always outputting the + or - 2019-09-20 10:07:46 +01:00
Lubosz Sarnecki 910f16fd30 targets/cli: Fix build with OpenHMD disabled.
Without this patch the build is failing due to linker errors
when BUILD_WITH_OPENHMD is set to false.
2019-09-20 10:15:17 +02:00
Jakob Bornecrantz 9d1353c626 t/gui: Connect it all together 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz a507aee906 t/gui: Add two scenes 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 74bdb0cb38 t/gui: Add imgui code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 71b3de9c46 t/gui: Add scene manager 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz c474112782 t/gui: Add OpenGL sink code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 968952aa9e t/gui: Add st/prober code 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 44d58037b7 t/gui: Add SDL2 based GUI target 2019-09-15 18:52:17 +00:00
Jakob Bornecrantz 3d744c5959 d/psmv: Add support for ZCM2 2019-09-15 15:29:45 +01:00
Jakob Bornecrantz 29b1713be9 xrt: Add enum xrt_device_name so that state trackers can reason about device 2019-09-04 12:47:18 +01:00
Jakob Bornecrantz 005abd5429 t/cli: Tidy CMakeLists.txt file 2019-08-27 08:52:57 +01:00
Benjamin Saunders c111f528b8 oxr: Optionally install as the default runtime 2019-08-19 12:09:49 -05:00
Ryan Pavlik e824b83112 st/oxr: Install manifest to major version "1" subdir 2019-08-17 03:31:40 +00:00
Ryan Pavlik c048bc0052 targets: Clang-tidy fixes (name consistency) 2019-08-16 17:25:29 -05:00
Benjamin Saunders dbbfe8e455 Handle CMAKE_INSTALL_LIBDIR being absolute
This seems to be common in distro packaging environments.
2019-08-16 14:52:45 +00:00
Ryan Pavlik 853f8ab68e d/hdk: Port to internal HID wrapper.
Not entirely feature-complete due to lack of access to descriptor strings.
2019-08-15 12:36:01 +00:00
Ryan Pavlik 2cd28914c7 d/hydra: Initially-functional multi-device Razer Hydra driver.
Not pretty - no filtering on tracking, coordinate system
probably a little bit wrong still, no hemisphere tracking,
but enough to show movement and resizing in hello_xr.
2019-07-29 03:01:57 +00:00
Jakob Bornecrantz 718a81608a d/v4l2: Add new frameserver 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz a544b4b56f aux/util: Add sink format converters 2019-07-23 17:41:34 +01:00
Jakob Bornecrantz e336590153 t/cli: Use new prober function helpers 2019-06-30 14:35:27 +01:00
Jakob Bornecrantz af7238ec21 t/common: Link with Libusb1 2019-06-28 17:49:24 +01:00
Jakob Bornecrantz 1e8d683a49 t/common: Add PSVR to list of defines in targets_enabled 2019-06-28 16:53:53 +01:00
Jakob Bornecrantz 58da7263f1 t/common: Fix typo in PSMV define 2019-06-28 16:53:32 +01:00
Jakob Bornecrantz ef36766aca t/cli: Stub for calibration 2019-06-28 14:03:50 +01:00
Jakob Bornecrantz 249b9a03ca t/cli: Turn prober command into a cli interface for Monado 2019-06-28 14:03:50 +01:00
Ryan Pavlik 0d75b465bd build: Move enabled-driver defines to a header, instead of compiler options for every target. 2019-06-26 10:52:27 -05:00
Jakob Bornecrantz ec69936890 build: Revert "Only show the XRT_BUILD_ defines where they're needed."
This reverts commit 334d62dfcd.
2019-06-26 16:17:06 +01:00
Ryan Pavlik 1f84814721 st/prober: Allow "found" functions called by prober to make more than one device. 2019-06-22 11:34:51 +01:00
Jakob Bornecrantz 46fa9cbd25 t/prober: Refactor closing down a bit 2019-06-21 21:56:06 +01:00
Ryan Pavlik cfb443843f targets/common: Add comment to target_entry_list 2019-06-21 13:17:55 -05:00
Ryan Pavlik 334d62dfcd build: Only show the XRT_BUILD_ defines where they're needed. 2019-06-21 13:17:55 -05:00
Ryan Pavlik c5fea837f3 oxr: Allow relative vs absolute manifest path to be selected at configure time. 2019-06-19 08:15:08 -07:00
Ryan Pavlik 88efae1078 oxr: Generate the dev manifest using the same template as installed. 2019-06-19 08:15:08 -07:00
Ryan Pavlik fc98db1439 oxr: Use an absolute path in the installed runtime manifest. 2019-06-19 08:15:08 -07:00
Ryan Pavlik 66086c1b0b oxr: Reduce proportion of install that's platform-guarded 2019-06-19 08:15:08 -07:00
Benjamin Saunders 40d8446ba8 oxr: Use absolute path of runtime library in manifest
Improves robustness when there might be multiple libraries by the same
name visible to the loader.
2019-06-19 08:15:08 -07:00
Jakob Bornecrantz 43f2a0f054 t/common: Code style 2019-06-19 12:10:12 +01:00
Ryan Pavlik 02be89bf35 targets: De-duplicate conditional inclusion of driver objects/libraries. 2019-06-18 18:44:17 +00:00
Jakob Bornecrantz b71e143eaa d/psmv: Add PS Move driver 2019-06-18 17:56:10 +01:00
Jakob Bornecrantz 8aec512de3 xrt: Update prober interface 2019-06-10 14:47:19 +01:00
Jakob Bornecrantz 43dfb400a6 prober: Add small helper program to debug st/prober 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz 702eba0f53 openxr: Use prober target 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz d97df04c11 xrt: Add new prober interface and code 2019-05-16 20:41:35 +01:00
Jakob Bornecrantz e2bd986bc5 os: Add a minimal hidraw wrapper 2019-05-13 18:26:02 +01:00
Jakob Bornecrantz d9cdd04b7a openxr: Don't unconditionally link with OpenHMD driver 2019-05-13 18:09:40 +01:00
Jakob Bornecrantz 83159a02c1 d/psvr: Add to meta prober and OpenXR target
Still hidden behind a env variable.
2019-05-06 16:46:10 +00:00
Jakob Bornecrantz dc9ab44a5a xrt: Rename xrt_prober to xrt_auto_prober 2019-05-03 18:53:07 +01:00
Jakob Bornecrantz 9c05e853cc build: Refactor flags and definitions (and fix fallout)
Defines:
* XRT_HAVE_[name] is a external dep indicator.
* XRT_DRIVER_[name] if a internal driver is built.

CMake variables:
* BUILD_WITH_[name] is a external dep indicator.
* BUILD_DRIVER_[name] tells if we should build a specific driver.
2019-04-29 17:18:09 +01:00
Jakob Bornecrantz 2d6b3c2113 openxr: Use meta prober 2019-04-15 09:52:44 +01:00
Ryan Pavlik 917366a730 build: Fix typo.
Left over from an abandoned alternate approach.
2019-04-08 15:19:18 -05:00
Ryan Pavlik d4b47a0edb build: Don't say CMAKE_INSTALL_PREFIX in an install destination
This can make it harder for packagers, or at least isn't
"best practices" without a good reason.
2019-04-08 19:11:04 +00:00
Ryan Pavlik 5cfa0907b6 build: Use and obey config options for driver selection.
We had BUILD_WITH_OPENHMD but it was unused,
while the HDK driver always built if the deps were found.
2019-04-08 19:11:04 +00:00
Ryan Pavlik eec53ca35d build: Use FindOpenHMD.
Fixes a gripe/todo in the build system, too :D
2019-04-08 19:11:04 +00:00
Benjamin Saunders f016492a81 build: Add missing GLX dependency
Fixes loading by applications that do not themselves link GLX.
2019-03-22 20:11:51 -07:00
Jakob Bornecrantz 15a97422ba xrt: Add all of Monado 2019-03-18 05:52:32 +00:00