Commit graph

28 commits

Author SHA1 Message Date
Jakob Bornecrantz d645b58186 meson: Tidy NorthStar driver selection code (NFC) 2020-05-11 14:35:11 +01:00
Christoph Haag 5908c33439 d/survive: Add survive driver 2020-05-09 13:12:06 +00: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
Lubosz Sarnecki a765b64ae0 meson: Don't ignore pedantic warnings on C++. 2020-04-07 15:00:17 +02:00
Lubosz Sarnecki 79b739d51a meson: Raise default warning level.
Increases the default warning level to 3, which includes pedantic
errors. Disable them on C++, which is the way it was done before.

To resolve most pedantic warnings on C++ either the compiler standard
would need to be increased to c++2a or the remaining copositor backends
would require porting to plain C. One of each or both should happen in
the future.
2020-03-31 18:26:56 +02:00
Lubosz Sarnecki a81b7e1751 meson: Don't specify warning level manually.
Since we already specify a `warning_level` in the project settings, it
is redundant to manually specify it as compiler parameters.

This patch resolves the following meson warning:
```
meson.build:25: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
meson.build:25: WARNING: Consider using the built-in warning_level option instead of using "-Wextra".
```
2020-03-31 18:26:56 +02:00
Lubosz Sarnecki 4d0c49096d comp/window_direct_mode: Use XCB/Xlib interop.
Since there currently is no Vulkan extension that takes XCB handles to
aqcuire the display Xlib interop needs to be used.

Before this patch Monado was opening connections for both APIs, which
introduced overhead.

Even though all XCB handles can be casted to Xlib ones, this cannot be
done with the main xcb_connection_t / Display. In it's design the
interop between both APIs can create a xcb_connection_t from a XCB
handle, but not the other way round. So in an interop case the Xlib
connection is the main one, since it's on a higher level.
More information on this can be found here:
https://xcb.freedesktop.org/MixingCalls/

Unfortunately the clean solution for this would be to specify a Vulkan
extension that takes XCB handles. This would make sense since Vulkan
is aware of XCB in other parts of the API as well. In Mesa the Xlib
structs will be ultimately casted to XCB.
2020-03-31 17:47:17 +02:00
Jakob Bornecrantz 0619190d2b build: Refactor how config defines are handled
With loads of changes from Ryan.
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz 09aa8794b2 aux/vk: Refactor out helper code into own library 2020-03-02 11:58:40 +00:00
Jakob Bornecrantz d6d934e35f d/rs: Meson build 2020-02-10 20:07:31 +00:00
Nova 981fe55a27 d/ns: Add North Star stub driver 2020-01-25 17:06:51 +00:00
Jakob Bornecrantz 356e4c18c1 d/dummy: Add dummy HMD driver 2020-01-25 14:42:02 +00:00
Ryan Pavlik 871395d5b5 build: Adjust meson build equivalently 2020-01-14 12:28:23 -06:00
Drew DeVault e5a9cbb2f9
Implement XR_MND_egl_enable
This extension introduces a more robust way of creating an XrSession for
OpenGL. It also lays the groundwork for future OpenGL ES support.

https://github.com/KhronosGroup/OpenXR-Docs/pull/40

Signed-off-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Drew DeVault <sir@cmpwn.com>
2019-11-06 10:07:21 +01:00
Christoph Haag 3b87d518c4 build: Fix meson build without v4l2 2019-11-05 15:36:52 +01:00
Simon Ser 7e125ca4e6 build: fix Meson build with docs=auto
When docs=auto and doxygen isn't found, the build fails with:

    doc/meson.build:28:0: ERROR: Tried to use not-found external program in "command"

Instead of always enabling docs when docs=auto, only do so when doxygen
is found.
2019-11-05 12:38:33 +00:00
Jakob Bornecrantz 12bffbdf45 meson: Final bit of tidy 2019-11-02 22:30:28 +00:00
Jakob Bornecrantz 030d93dca7 meson: Actually listen to docs option 2019-11-02 22:29:45 +00:00
Jakob Bornecrantz ba50cefc8c meson: Tidy meson.build a bit 2019-11-02 22:26:02 +00:00
Christoph Haag 746cccca36 meson: HDK driver does not depend on hidapi 2019-10-31 02:26:19 +01: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
Emmanuel Gil Peyrot 9aea9aa6d1 meson: Check both opencv4 and opencv dependencies.
OpenCV changed its pkg-config file name from opencv.pc to opencv4.pc in
its latest version apparently.

Fixes #31.
2019-09-29 14:24:46 +00:00
Jakob Bornecrantz 53e20af10b meson: Look for hidapi-libusb 2019-09-26 22:34:14 +01:00
Jakob Bornecrantz f6571c13de meson: Look for opencv not openvc4 2019-09-26 22:34:14 +01:00
Drew DeVault 9bcfa56f2f compositor: overhaul Wayland backend
This simplifies the Wayland backend, fixes the build configuration for
it, ports it to xdg-shell stable, and reworks some false assumptions
from the original port.
2019-09-26 12:15:27 -04:00
Jakob Bornecrantz 55cbd03a81 meson: Use the right test 2019-09-26 16:30:52 +01:00
Jakob Bornecrantz 25ce5d29c1 meson: Require Video 4 Linux on Linux 2019-09-26 16:13:24 +01:00
Drew DeVault 064aef3526 build: port to meson 2019-09-26 15:05:22 +00:00