Commit Graph

285 Commits

Author SHA1 Message Date
Derek Foreman faee330c5e build: Require newer version of libdrm
commit 89c49b3060 changed the way we name
outputs, but it also added the new output names VIRTUAL and DSI.

These aren't available until libdrm 2.4.59

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-08-24 11:45:41 +03:00
Pekka Paalanen 8358305927 configure: fix enable_simple_intel_dmabuf_client=auto
When the user does not specify --enable nor
--disable-simple-intel-dmabuf-client, we want to autodetect based on
dependencies. cb512c018e implemented this,
but forgot to actually enable it if the autodetect comes positive.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2015-08-17 16:04:19 +03:00
Bryce Harrington f2bf50ea89 configure.ac: bump to version 1.8.91 for the alpha release 2015-08-16 14:17:17 -07:00
Bryce Harrington cb512c018e Fix armhf configure breakage due to missing libdrm_intel package
The buildbots discovered that recent changes break on Ubuntu 15.04's
armhf images:

  configure:16137: checking for SIMPLE_DMABUF_CLIENT
  configure:16144: $PKG_CONFIG --exists --print-errors "wayland-client libdrm libdrm_intel"
  Package libdrm_intel was not found in the pkg-config search path.
  ...
  configure:16194: error: Package requirements (wayland-client libdrm libdrm_intel) were not met:

  No package 'libdrm_intel' found

This patch was provided by Daniel Stone.  I've not tested it other than
verifying it does not cause build problems on x86_64.

Acked-by: Bryce Harrington <bryce@osg.samsung.com>
2015-08-14 12:45:38 -07:00
Bryce Harrington a358207572 Fix build breakage when using older gbm lacking dmabuf import
The buildbots discovered this issue on Ubuntu 14.04, which carries
libgbm 10.1.3-0ubuntu0.4.  The dmabuf changes need gbm 10.2, so it fails
during build like this:

  src/compositor-drm.c: In function ‘drm_output_prepare_overlay_view’:
  src/compositor-drm.c:984:10: error: variable ‘gbm_dmabuf’ has
  initializer but incomplete type
     struct gbm_import_fd_data gbm_dmabuf = {
            ^
  etc.

Proposed fix is to conditionalize the gbm fd import feature in
compositor-drm.

This fix was suggested by daniels.  I set up a synthetic test
environment to reproduce the issue as found by the buildbots and tweaked
the patch to get it to build both with and without gbm 10.2.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
2015-08-14 12:45:11 -07:00
George Kiagiadakis 53868985ff clients: add simple-dmabuf client
v2:
- adapted to protocol changes
- added TODO comments
- minor clean-up
- change y-invert from per-plane boolean to per-buffer flag

v3:
- fix a typo: 1 -> i (noticed by Carlos Olmedo Escobar)

Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
2015-08-14 15:53:26 +03:00
Pekka Paalanen a352580285 gl-renderer: add dmabuf import
Import dmabuf as an EGLImage, and hold on to the EGLImage until we are
signalled a content change. On content change, destroy the EGLImage and
re-import to trigger GPU cache flushes.

We hold on to the EGLImage as long as possible just in case the client
does other imports that might later make re-importing fail.

As dmabuf protocol uses drm_fourcc codes, we need libdrm for
drm_fourcc.h. However, we are not doing any libdrm function calls, so
there is no new need to link to libdrm.

RFCv1 changes:
- fix error if dmabuf exposed unsupported
- always use GL_TEXTURE_EXTERNAL_OES with dmabuf

v2 changes:
- improve support check and error handling
- hold on to the imported EGLImage to avoid the dmabuf becoming
  unimportable in the future
- send internal errors with linux_dmabuf_buffer_send_server_error()
- import EGL_EXT_image_dma_buf_import extension headers
- use heuristics to decide between GL_TEXTURE_2D and
  GL_TEXTURE_EXTERNAL_OES
- add comment about Mesa requirements
- change y-invert from per-plane boolean to per-buffer flag

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2015-08-14 15:53:26 +03:00
Jon A. Cruz 179c186e19 Adding doxygen setup and info for the testing framework.
Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-07-17 13:28:02 +03:00
Jon A. Cruz 646aef543e Enables output in the JUnit XML format.
Adds basic support for optionally outputting in the XML format
commonly used by JUnit compatible tools.

This format is supported by default by many tools, including
the Jenkins build system. It also is more detailed and
captures more information than the more simplistic TAP
format.

Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2015-07-17 13:27:39 +03:00
Pekka Paalanen 0a9d348fd8 Remove weston-screensaver
This removes the weston-screensaver client.

Screensavers are not so useful, DPMS is much better. This example has
existed here for a good while, and things that we could learn from it
have been learnt.

Nowadays this is just dead weigth, which is usually not even compiled,
because it depends on both cairo-gl and GLU. Removing it removes the
only possible dependency to GLU and one user of cairo-gl. Now the last
user of cairo-gl is gears (clients/nested.c uses cairo-glesv2).

Support for screensavers is still left in desktop-shell, so external
projects can still have their screensavers if they want.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Giulio Camuffo <giuliocamuffo@gmail.com>
2015-06-22 15:19:14 +03:00
Bryce Harrington c269b5832d configure.ac: bump version to 1.8.90
Master is open for new features again

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
2015-06-03 00:11:24 -07:00
Bryce Harrington 2567c93f81 configure.ac: bump to version 1.8.0 for the official release 2015-06-02 16:23:53 -07:00
Bryce Harrington a212ba8184 configure.ac: bump to version 1.7.93 for the RC2 release 2015-05-26 19:21:30 -07:00
Bryce Harrington 42db3137e1 configure: Warn that cairo-gl and cairo-glesv2 are risky
Most distros do not ship with gl-enabled cairo, since doing so can
result in libgl being linked to each cairo-using client, even if they
don't actually use GL, and this can cause much larger per-client memory
footprint, and thus can become a resource issue.

Furthermore, while in theory this should work fine, we don't actively
test this configuration, and there could be random undiscovered bugs if
it's used.  We keep the option available for people interested in
helping us chase down those issues, but warn everyone else away.
2015-05-19 13:24:37 -07:00
Bryce Harrington e6dc85f7c4 configure.ac: bump to version 1.7.92 for the RC1 release 2015-05-15 18:03:45 -07:00
Bryce Harrington 71c9ac6c7f configure.ac: bump to version 1.7.91 for the alpha release 2015-05-06 19:00:02 -07:00
Emil Velikov 32318a52c0 configure.ac: make use of wayland-scanner.pc
Currently we use the wayland-scanner executable as found with
AC_PATH_PROG, and then check the presence of wayland-scanner.pc

Currently the latter is unused even if AC_PATH_PROG fails to find the
binary. Rework things to use the pkg-config variable as a fall-back.

Cc: Andrew Oakley <aoakley@espial.com>
Cc: Bill Spitzak <spitzak@gmail.com>
Cc: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Andrew Oakley <aoakley@espial.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Quentin Glidic <sardemff7+wayland@sardemff7.net>
2015-02-23 18:01:46 -08:00
Bryce Harrington 05550c69a1 configure.ac: bump version to 1.7.90
Master is open for new features again

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
2015-02-17 18:33:16 -08:00
Bryce Harrington dbd8606a2a configure.ac: bump to version 1.7.0 for release 2015-02-13 20:47:09 -08:00
Derek Foreman 1f9d4f9cf9 configure.ac: Don't look for Xwayland in the weston install destination
Xwayland isn't part of this distribution so looking for Xwayland in
weston's install dir will cause distcheck to fail.  Let's set the
default to /usr/bin where it's likely to live.

It can still be overriden during configure exactly as before.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2015-02-11 18:23:56 -08:00
Bryce Harrington 82d19aabc8 configure.ac bump to version 1.6.93 for the rc2 release. 2015-02-06 18:03:43 -08:00
Bryce Harrington 7424c81217 configure.ac: bump to version 1.6.92 for the rc1 release 2015-01-30 19:12:47 -08:00
Derek Foreman 8771a14ff3 xwayland-test: Replace the xwayland-test
The old xwayland-test hasn't worked in a while...

This new test checks that the wayland specific WL_SURFACE_ID atom exists,
checks that the window manager name is "Weston WM" and then maps a window
and waits for an exposure event.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Tested-by: Bryce Harrington <bryce@osg.samsung.com>
2015-01-30 12:21:39 -08:00
Bryce Harrington 7eca8ccb44 configure.ac: bump to version 1.6.91 for the alpha release 2015-01-17 03:45:34 -08:00
Jonas Ådahl faec1ebdb3 configure.ac: Require libinput 0.8
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-01-15 14:46:42 +08:00
Pekka Paalanen e784e34228 configure: bump libwayland requirements
wl_surface role error codes were added during the 1.6.90 development to
libwayland.

Reported-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-12-18 14:57:19 +02:00
Nobuhiko Tanibata 6f9df656e0 ivi-shell: add IVI layout APIs
- ivi-layout.so
- introduces ivi-layout-export.h, ivi-layout.[ch]

API set of controlling properties of surface and layer which groups
surfaces. An unique ID whose type is integer is required to create
surface and layer. With the unique ID, surface and layer are identified
to control them. The API set consists of APIs to control properties of
surface and layers about followings,

- visibility.
- opacity.
- clipping (x,y,width,height).
- position and size of it to be displayed.
- orientation per 90 degree.
- add or remove surfaces to a layer.
- order of surfaces/layers in layer/screen to be displayed.
- commit to apply property changes.
- notifications of property change.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-12-04 17:13:41 +02:00
Pekka Paalanen ba5ebf8364 configure: remove input backend result
Don't print a line with empty value.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-11-26 13:48:29 +02:00
Peter Hutterer 823ad33ef3 compositor: Drop legacy backends in favor of libinput
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-11-26 13:47:42 +02:00
Bryce Harrington 19c8db9cce configure.ac: Indicate headless compositor presence in config.h
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-11-21 16:28:12 +02:00
Daniel Stone 32d9ea1c8a Very OCD cosmetic nitpick 2014-10-08 12:15:48 +01:00
Pekka Paalanen b94403b0ec configure.ac: bump version to 1.6.90
Open master for new features again.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-22 10:02:17 +03:00
Pekka Paalanen 2858cc2a50 configure.ac: bump version to 1.6.0
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-19 13:40:14 +03:00
Pekka Paalanen f1d2cc0d14 configure.ac: bump version 1.5.93 for rc2
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-12 12:45:08 +03:00
Peter Hutterer 3fbba493d5 libinput: normalize WL_CALIBRATION before passing it to libinput
WL_CALIBRATION, introduced in weston-1.1, requires the translation component
of the calibration matrix to be in screen coordinates. libinput does not have
access to this and it's not a very generic way to do this anyway. So with
the libinput backend, WL_CALIBRATION support is currently broken (#82742).
This cannot be fixed in libinput without changing its API for this specific
use-case.

This patch lets weston take care of WL_CALIBRATION. It takes the original
format and normalizes it before passing it to libinput. This way libinput
still does the coordinate transformation, weston just needs to provide the
initial configuration.

Note that this needs an updated libinput, otherwise libinput will try to
transform coordinates as well.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=82742
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-12 09:51:04 +03:00
Pekka Paalanen 386754cf79 configure.ac: bump version to 1.5.92 for rc1
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-09-05 15:05:56 +03:00
Pekka Paalanen 68c83cae24 configure.ac: require libwayland 1.5.91
Compositor needs the wl_surface error enums and the keyboard repeat info
protocol added in 1.5.91.

weston-info, window.c, and Weston's wayland backend need also the
keyboard repeat info.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-08-26 13:31:42 +03:00
Pekka Paalanen 652c794b5d configure.ac: Bump version to 1.5.91 for the alpha release
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-08-22 18:09:54 +03:00
Pekka Paalanen 3f5e906268 configure.ac: use libinput by default
Libinput is stabilizing soon, so let's flip the default switch now. The
old input code will still be carried as an option for a while.

Cc: Peter Hutterer <peter.hutterer@who-t.net>
Cc: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Acked-by: Jonas Ådahl <jadahl@gmail.com>
2014-08-20 09:58:08 +03:00
Jonas Ådahl 05e4a1f768 libinput: Add tap configuration to weston.ini
Enable by adding the following to your weston.ini:

[libinput]
enable_tap=true

This also makes weston require libinput >= 0.5.0.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2014-08-15 15:33:55 +03:00
Jason Ekstrand ef5400843f Use pixman_region32_clear instead of our own empty_region
This requires pixman 0.25.2

Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2014-07-05 01:03:55 -07:00
Peter Hutterer 3b843d3a61 Require libinput 0.4.0
No functional changes, just adjusting for API changes in libinput:
- libinput_destroy() replaced by libinput_unref()
- log functions now take a libinput context, userdata is gone
- udev seat creation is now libinput_udev_create_context() and
  libinput_udev_assign_seat()

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2014-06-25 08:46:35 +02:00
Thierry Reding 0e6d9a771a build: Silence libtoolize warnings
When running the autogen.sh script, libtoolize complains thusly:

	libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
	libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
	libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

Silence the warnings by following libtoolize's advice.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-06-18 17:14:40 -07:00
Jonas Ådahl 26714b4718 libinput: Use floating point instead of fixed point numbers
Also update configure.ac to require libinput 0.3 when enabled, as it is
the version where double replaced li_fixed_t.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2014-06-09 22:46:45 +02:00
Kristian Høgsberg ca85dc6b92 configure.ac: Bump master version to 1.5.90
Post release bump.  The master branch version is always x.y.90,
where x.y is the most recent stable branch.  This lets other packages
rely on git master as opposed to 1.5.0.
2014-05-23 09:35:26 -07:00
Kristian Høgsberg caa7019317 configure.ac: Bump version to 1.5.0 2014-05-22 21:46:43 -05:00
Kristian Høgsberg 7098948463 configure.ac: Bump version 1.4.93
This is the last RC before 1.5.
2014-05-12 12:51:52 -07:00
Kristian Høgsberg d33cc73075 configure.ac: Fix indent for screen-share option 2014-05-09 15:32:28 -07:00
Kristian Høgsberg d7d71e8d96 configure.ac: Bump version to 1.4.92 2014-05-01 13:49:10 -07:00
Kristian Høgsberg 79d5a6ebe4 configure.ac: Bump version to 1.4.91 2014-04-07 16:14:54 -07:00