[PATCH 0/13] Add stereoscopy support
Emmanuel Gil Peyrot
linkmauve at linkmauve.fr
Tue Nov 14 15:05:47 UTC 2017
This series adds a new protocol to specify the stereoscopic layout of a
surface, and a way for a compositor to tell the client what the native
layout is, in order to allow direct scanout in the fullscreen case. It
then implements said protocol in Weston.
The only stereoscopy-enabled backend is currently the DRM backend using
gl-renderer; the Wayland one will follow shortly after, I have no plan
to implement it anywhere else for now.
I’m not too happy with the mode selection as it is currently, ideally
the compositor would expose all of the available modes, and only modeset
to the best stereo mode once a client asks for stereo, to avoid
rendering twice at any time, but this can probably be left to a
follow-up series as well.
I wrote a blog post[1] detailing my approach, it can be interesting in
relation to this series. You can also find git branches of
wayland-protocols[2] and weston[3] for easier testing.
Thanks for your feedback!
[1] https://linkmauve.fr/blog/post/2017/09/08/adding-a-third-dimension-to-wayland/
[2] https://gitlab.collabora.com/emmanuel/wayland-protocols/tree/stereoscopy
[3] https://gitlab.collabora.com/emmanuel/weston/tree/stereoscopy
Emmanuel Gil Peyrot (13):
wayland-protocols: Add stereoscopy protocol
clients: Add a simple-stereo client, based on simple-shm.
compositor: Implement stereoscopy as a noop.
compositor: Add a stereoscopy capability.
compositor: Display the correct default buffer.
compositor: Store the stereoscopy layout of an output.
compositor-drm: Enable the stereo capability.
compositor-drm: Print stereo modes as such.
compositor-drm: Create a correctly-sized gbm buffer.
gl-renderer: Add stereoscopy support.
compositor-drm: Cursors need to be broken with stereoscopy.
main, compositor: Add a stereoscopy config option.
compositor-drm: Select stereo modes based on the configuration.
Makefile.am | 27 +-
clients/simple-stereo.c | 647 +++++++++++++++++++++++++++++++++++++++++++++
compositor/main.c | 60 +++++
libweston/compositor-drm.c | 90 ++++++-
libweston/compositor.c | 224 +++++++++++++++-
libweston/compositor.h | 22 ++
libweston/gl-renderer.c | 135 ++++++++--
libweston/gl-renderer.h | 6 +
man/weston-drm.man | 6 +-
unstable/stereoscopy/README | 4 +
unstable/stereoscopy/stereoscopy-unstable-v1.xml | 187 +++++++++++++++++++++++
11 files changed, 1377 insertions(+), 31 deletions(-)
create mode 100644 clients/simple-stereo.c
create mode 100644 unstable/stereoscopy/README
create mode 100644 unstable/stereoscopy/stereoscopy-unstable-v1.xml
--
2.15.0
More information about the wayland-devel
mailing list