Commit graph

106 commits

Author SHA1 Message Date
Ryan Pavlik 0fa4b58acd build: Disable IPC on Windows. 2020-11-10 03:09:07 +00:00
Ryan Pavlik 8f838c7dbd cmake: Disable remote driver on things other than Linux and Android for now. 2020-11-10 03:09:07 +00:00
Christoph Haag cb62514fd0 steamvr: Implement basic SteamVR driver
v3:
  targets: Add Monado-SteamVR driver target
  st/ovrd: Add OpenVR driver header
  build: Factor out sdl hack into lib_sdl2_hack and update steamvr build
  build: Revert lib_sdl2_refactor
  steamvr: Emulate Index Controller by default
  steamvr: Use oxr_handle_destroy instead of exposing oxr_instance_destroy
  steamvr: don't use oxr internals
  steamvr: communicate 3dof tracking to steamvr
  steamvr: use util functions for device assignment and tracking origin setup
  steamvr: Install plugin to <prefix>/share/steamvr-monado
  steamvr: Use thread for updating poses every 1ms

Makes a big difference for the Index @144Hz on the vive driver.
Still somewhat choppy on survive driver - prediction should solve it.

Main-author: Christoph Haag <christoph.haag@collabora.com>
Co-author: Jakob Bornecrantz <jakob@collabora.com>
2020-11-09 19:21:27 +00:00
Jakob Bornecrantz 151a03fb48 monado: Update version 2020-11-04 13:40:50 +00:00
Jakob Bornecrantz 3dfa7167b2 monado: Update version 2020-11-02 20:24:48 +00:00
Jakob Bornecrantz d9e90863d3 cmake: Make sure we are looking for Python 3.8 and 3.9 2020-11-02 16:35:43 +00:00
Lubosz Sarnecki f4113ef15b d/android: Add Android sensors driver. 2020-10-30 18:20:35 -05:00
Ryan Pavlik a0bbca572d comp: Basic Android compositor window.
Also makes the service feature not depend on other options:
it can be used without those other parts.

comp/window_android: Remove unused EGL code for now, as it is crashing.

comp/window_android: Use MonadoView async method to create surface.

comp/window_android: Use custom surface as intended

Co-authored-by: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2020-10-28 09:41:30 -05:00
Ryan Pavlik 0f43bbe924 inc/xrt: Add Android config header to store package name. 2020-10-28 09:32:49 -05:00
Ryan Pavlik 69b35f9857 build: Actually search for Python 3 interpreter before using it. 2020-10-28 09:32:49 -05:00
Ryan Pavlik 59d2285c8e aux/util: Port logging for Android.
Now if u_logging is used, it goes to logcat.
2020-10-28 09:32:49 -05:00
Jakob Bornecrantz cc10a9368d cmake: Enable equirect2 2020-10-26 01:34:10 +00:00
Jakob Bornecrantz 2528583c55 xrt: Add git tag/description 2020-10-20 17:43:11 +01:00
Jakob Bornecrantz 3483a7286d d/remote: Add remote driver 2020-10-15 21:07:40 +00:00
Ryan Pavlik 8b416da12b xrt: Add Win32 Vulkan platform define when needed 2020-10-08 17:26:22 -05:00
Jakob Bornecrantz 942ba178a0 st/oxr: Add extension support for XR_KHR_composition_layer_equirect2 2020-10-05 16:45:48 +01:00
Ryan Pavlik c0cb04d59a build: Make Vive driver Linux-only for now.
Uses Linux byteorder includes.
2020-09-18 18:25:27 +01:00
Ryan Pavlik 6ad46cb1b2 build: Be able to build against pthreads4w 2020-09-18 18:25:27 +01:00
Ryan Pavlik 4894aaa8db build: Only set the layer type config variables if they aren't already set. 2020-08-26 11:27:10 -05:00
Ryan Pavlik b7e9c9cc67 build: Don't look for packages with pkg-config on Android.
Things like ffmpeg aren't there but were found on the host.
2020-08-26 16:31:30 +01:00
Ryan Pavlik 51d693b66a cmake: Reduce requirement to allow Android build 2020-08-26 16:31:11 +01:00
Christoph Haag 7295cfd2d5 Revert "xrt: Disable cylinder layers for now as the causes GPU hangs (NFC)"
This reverts commit 8c7aed827f.
2020-08-26 16:00:02 +02:00
Jakob Bornecrantz 8c7aed827f xrt: Disable cylinder layers for now as the causes GPU hangs (NFC) 2020-08-26 14:26:46 +01:00
Christoph Haag 316e6f957f build: Enable depth layer in CMake build 2020-08-24 10:30:23 +02:00
Jakob Bornecrantz 6ae15ca5ab build: Enable cylinder layer in CMake build 2020-08-21 12:18:09 +01:00
Jakob Bornecrantz 4a8ac6ebed cmake: Add build flags for OpenXR layers 2020-08-11 01:48:31 +01:00
Ryan Pavlik 663f5467b4 build: More strict build flags 2020-08-05 20:50:00 +00:00
Ryan Pavlik 47a66e1bdf build: Use OpenGLES CMake module to gate OpenGL|ES support 2020-07-17 15:17:42 -05:00
Ryan Pavlik 6f56d91c05 xrt: Add separate build config for OpenGL ES 2020-07-17 15:17:42 -05:00
Ryan Pavlik e2cb7578bc build: Increase strictness of warnings. 2020-07-17 13:53:39 -05:00
Ryan Pavlik 1476d396f8 build: Enable the Android Vulkan platform when applicable. 2020-07-17 11:46:22 -05:00
Ryan Pavlik 9379248268 build: Add FindEigen3.cmake from upstream, to support pointing at the include dir. 2020-07-16 10:04:01 -05:00
Jakob Bornecrantz 0b2faa5ab9 build: Sort drivers in status message 2020-07-16 12:50:36 +01:00
Jakob Bornecrantz 75816ee4e6 build: Dump config vars 2020-07-16 12:01:02 +01:00
Jakob Bornecrantz 47606194da build: Fix dependent option for compositor 2020-07-16 12:00:37 +01:00
Ryan Pavlik 1aa2cdb89a build: Move determination of Vulkan usage to build system.
Vulkan is still required for most actual uses of Monado, but this
makes the coupling weaker.
2020-07-16 10:17:30 +00:00
Ryan Pavlik 44fe0e7709 build: Handle Android NDK better. 2020-07-14 16:37:55 -05:00
Jakob Bornecrantz d1f30e4a5a monado: Update version 2020-07-10 16:43:47 +01:00
Ryan Pavlik 1a5d31b82b st/oxr: New input transform implementation, fixes conformance failures.
Includes unit tests for oxr_input_transform, add to CI

This is a revised implementation using "variants" instead of
"inheritance" in a linked-list.
2020-06-17 10:03:32 +00:00
Ryan Pavlik bbe702475a build: Tell CMake when we expect a config file rather than a find module.
This silences some very large annoying warnings at configure time.
2020-06-09 15:35:45 -05:00
Ryan Pavlik 435f6c5c89 build: Allow enabling inter-procedural optimization in CMake builds, if supported. 2020-06-09 12:03:08 -05:00
Lubosz Sarnecki 435d5a9b9e c/comp: Remove internal Vulkan validation init.
Instead of maintaining this chunk of code and build options, the Vulkan
loader can be used to load up validation. This has the advantage that no
layer name needs to be hard coded inside Monado, which was subject of
change recently.

Instead of using our own environment variable we can easily set the one
from the loader, e.g. `VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation`.
2020-06-03 11:17:51 +00:00
Jakob Bornecrantz 8e6592338f monado: Update version 2020-05-29 11:00:22 +01:00
Ryan Pavlik 4638b0af7b build: Switch all CMake options to XRT_... to match what's used in source.
Also revise other small related parts of the build to make them more clear and consistent.
2020-05-12 11:52:51 -05:00
Ryan Pavlik aa809a99ea build: Small tweak to conditional build flags 2020-05-12 11:46:53 -05:00
Christoph Haag 5908c33439 d/survive: Add survive driver 2020-05-09 13:12:06 +00:00
Ryan Pavlik acbac4f1a6 t/service: Add ability to generate, link, install systemd unit files 2020-05-07 16:54:17 -05:00
Ryan Pavlik 5935fad73b ipc: Add ability for service to be launched by systemd socket activation. 2020-05-07 16:54:11 -05:00
Jakob Bornecrantz 7c8a8a3f87 ipc: Add code to enable a service process
This enables out of process compositing.
2020-04-29 14:58:24 +01:00
Ryan Pavlik 47710e0532 t/openxr: Fix build without OpenGL 2020-04-28 21:36:46 +00:00