Commit Graph

232 Commits

Author SHA1 Message Date
Kristian Høgsberg f02a649a3c Consolidate image loading code and move to shared/ 2012-03-12 01:40:59 -04:00
Kristian Høgsberg 51cba3ca38 compositor-drm: Just pull in libbacklight source for now
libbacklight is 300 lines of code in one .c file, and we're relying on
udev changes that aren't yet upstream.  For now, let's just keep a
copy in weston and if the Xorg DDX drivers start using libbacklight and
it becomes more widely available, we'll make it an external dependency.
2012-02-29 14:23:51 -05:00
Tiago Vignatti 8e53c7f566 compositor: add dpms and backlight support
DPMS kicks in only when wscreensaver is launched, in the moment that shell
call lock() for the second time. Backlight control internals are managed by
libbacklight:

	http://cgit.freedesktop.org/~vignatti/libbacklight/

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2012-02-29 14:01:56 -05:00
Jesse Barnes 58ef379be6 compositor-drm: Add sprite support
Add support for assigning surfaces to overlay sprites using the new
assign_planes hook.
2012-02-23 20:12:31 -05:00
Eric Anholt 6f82cf5dc5 configure: Fix build on debian by avoiding bashisms in the test command. 2012-02-09 14:17:54 -05:00
Kristian Høgsberg 3b03b3d68e Use dist-xz for tarballs 2012-02-09 14:17:49 -05:00
Kristian Høgsberg a7313e7cf4 configure: Change project to weston, set version to 0.89 2012-02-09 09:17:47 -05:00
Kristian Høgsberg 3d5437c48d Add support for webp image format 2012-02-08 12:46:57 -05:00
Jesse Barnes 3bd6917199 configure.ac: fix cairo-glesv2 help text
Finally figured out why --enable-cairo-gles2 wasn't working like
configure --help said it should.
2012-02-07 16:17:51 -05:00
Pekka Paalanen 0e4452e02a configure: add libpng to client libs
http://lists.freedesktop.org/archives/wayland-devel/2012-January/001975.html
reports a linking problem:

/usr/bin/ld: libtoytoolkit.a(cairo-util.o): undefined reference to
symbol 'png_set_filler@@PNG12_0'
/usr/bin/ld: note: 'png_set_filler@@PNG12_0' is defined in DSO
/usr/lib/i386-linux-gnu/libpng12.so.0 so try adding it to the linker command line
/usr/lib/i386-linux-gnu/libpng12.so.0: could not read symbols: Invalid
operation
collect2: ld returned 1 exit status
make[3]: [weston-terminal] Error 1 (ignored)

A similar problem is diagnosed here:
http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html

As some distros are shipping linkers, that do not resolve symbols from
implicitly linked libraries, check and link libpng explicitly.

Cc: nerdopolis <bluescreen_avenger@verizon.net>
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-02-01 12:12:19 +02:00
Pekka Paalanen f571d63372 configure: use --disable-tests, since default is enabled
Add a nice help text, too.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-01-31 09:41:06 -05:00
Pekka Paalanen 51d2195937 configure: toytoolkit GL apps depend on cairo-egl
Do not build toytoolkit applications that use GL, if Cairo-egl is not
available. These applications (which happen to be also the full GL
clients) do not work at all without Cairo-egl, and fail at runtime with
"unable to acquire window surface".

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-01-31 09:40:27 -05:00
Pekka Paalanen 4520d5cafb tests: add matrix-test
Add a new directory tests/ for unit test applications. This directory
will be built only if --enable-tests is given to ./configure.

Add matrix-test application. It excercises especially the
weston_matrix_invert() and weston_matrix_inverse_transform() functions.
It has one test for correctness and precision, and other tests for
measuring the speed of various matrix operations.

For the record, the correctness test prints:

a random matrix:
   1.112418e-02   2.628150e+00   8.205844e+02  -1.147526e-04
   4.943677e-04  -1.117819e-04  -9.158849e-06   3.678122e-02
   7.915063e-03  -3.093254e-04  -4.376583e+02   3.424706e-02
  -2.504038e+02   2.481788e+03  -7.545445e+01   1.752909e-03

The matrix multiplied by its inverse, error:
   0.000000e+00  -0.000000e+00  -0.000000e+00  -0.000000e+00
   0.000000e+00   0.000000e+00   0.000000e+00   0.000000e+00
  -0.000000e+00  -0.000000e+00   0.000000e+00  -0.000000e+00
   0.000000e+00   0.000000e+00   0.000000e+00   0.000000e+00
max abs error: 0, original determinant 11595.2

Running a test loop for 10 seconds...
test fail, det: -0.00464805, error sup: inf
test fail, det: -0.0424053, error sup: 1.30787e-06
test fail, det: 5.15191, error sup: 1.15956e-06
tests: 6791767 ok, 1 not invertible but ok, 3 failed.
Total: 6791771 iterations.

These results are expected with the current precision thresholds in
src/matrix.c and tests/matrix-test.c. The random number generator is
seeded with a constant, so the random numbers should be the same on
every run. Machine speed and scheduling affect how many iterations are
run.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-01-27 10:44:22 +02:00
Kristian Høgsberg 44d4de656b configure: Add --enable-setuid-install
This adds support for installing the compositor setuid.
2012-01-19 13:32:17 -05:00
Kristian Høgsberg 2d57439592 clients: Allow compiling with the cairo glesv2 backend
This disables gears and wscreensaver, which use full GL.
2012-01-18 14:50:58 -05:00
Richard Hughes 2f6219f127 Explicitly add GIO to the client libs
This prevents a build warning on Fedora 16 of:
   undefined reference to symbol 'g_file_get_basename'
2012-01-13 13:01:25 -05:00
Kristian Høgsberg ab5dacdac8 view: Make view compile again 2012-01-12 10:48:51 -05:00
Kristian Høgsberg f6a5f7def3 Fix distcheck 2012-01-03 11:04:09 -05:00
Kristian Høgsberg 8334bc1ef9 Rename wayland-compositor to weston
This rename addresses a few problems around the split between core
Wayland and the wayland-demos repository.

1) Initially, we had one big repository with protocol code, sample
compositor and sample clients.  We split that repository to make it
possible to implement the protocol without pulling in the sample/demo
code.  At this point, the compositor is more than just a "demo" and
wayland-demos doesn't send the right message.  The sample compositor
is a useful, self-contained project in it's own right, and we want to
move away from the "demos" label.

2) Another problem is that the wayland-demos compositor is often
called "the wayland compsitor", but it's really just one possible
compositor.  Existing X11 compositors are expected to add Wayland
support and then gradually phase out/modularize the X11 support, for
example.  Conversely, it's hard to talk about the wayland-demos
compositor specifically as opposed to, eg, the wayland protocol or a
wayland compositor in general.

We are also renaming the repo to weston, and the compositor
subdirectory to src/, to emphasize that the main "output" is the
compositor.
2012-01-03 11:04:04 -05:00
Kristian Høgsberg e7aaec301a x11: Bridge X11 CLIPBOARD selection to Wayland clients 2011-12-27 13:50:04 -05:00
Pekka Paalanen c1765c67b3 move config parser to a convenience library
Create a new directory for convenience librariers that can be shared
between compositor components and clients.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2011-12-08 10:25:12 +02:00
Kristian Høgsberg 64f1c3fd52 De-brand the tablet shell
Drop the MeeGo part of the name.
2011-11-14 15:57:59 -05:00
Kristian Høgsberg 27d3866045 cairo-util: Add helper to load jpeg files 2011-10-20 13:11:12 -04:00
Tiago Vignatti 5884bcde4a configure: add helper for setting xserver directory
With this the X server directory can become independent from the
installation prefix set by autoconf.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-08-11 15:09:59 -04:00
Tiago Vignatti 93165e3e23 configure: set up simple clients independently from the others
Namely, simple-client and simple-shm.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-21 08:42:58 -07:00
Benjamin Franzke 22d5481f91 window.c: Fix compile/run using cairo without egl 2011-07-15 17:56:04 +00:00
Kristian Høgsberg 5ec0a93a98 compositor: Add a simple WM to the xserver launcher 2011-07-01 10:46:40 -04:00
Benjamin Franzke 060cf805bb Use gbm for compositor-{drm,openwfd} 2011-06-23 21:25:37 +02:00
Kristian Høgsberg a010abf072 configure: Only check for XCB if x11 compositor is enabled 2011-05-11 13:46:29 -04:00
Benjamin Franzke 5a43db5041 configure: Remove a xcb-dri2 leftover
Fixes compositor and clients trying to link against xcb-dri2.
2011-05-06 14:11:39 -04:00
Kristian Høgsberg 1c5621840b compositor: Split backends into modules 2011-05-02 22:09:20 -04:00
Kristian Høgsberg 8ff7a3c8da configure.ac: Just look for png, not png12 2011-05-02 13:37:47 -04:00
Kristian Høgsberg 8544903741 compositor: Screenhoot into a client provided shm buffer
This moves the png writing part to the client and removes the gdk-pixbuf
dependency from the compositor.
2011-05-02 12:13:14 -04:00
Kristian Høgsberg 60c15080ab Add --disable-clients configure option 2011-04-26 11:47:00 -04:00
Kristian Høgsberg 80492e220a configure: Only check dependencies for the enabled compositor backends 2011-04-26 11:10:32 -04:00
Kristian Høgsberg 82ed0423a1 compositor-x11: Only use xcb_poll_for_queued_event if we have it
Otherwise we can just fall back to xcb_poll_for_event, and just do a
harmless read on the socket.
2011-04-25 15:41:59 -04:00
Kristian Høgsberg 02ec0a5d3a compositor: Support loadable shells
The shell module is responsible for implementing the higher level
compositor behavior.  We default to the desktop-lite shell built in to
the compositor.
2011-04-23 13:04:11 -04:00
Benjamin Franzke 5d00709931 compositor: Add OpenWF Display backend 2011-04-20 17:53:47 +02:00
Benjamin Franzke 6693ac2108 window: Use window surfaces for windows 2011-03-17 15:55:18 +01:00
Benjamin Franzke 84290d02ae compositor-x11: Use an EGL Window Surface as output 2011-03-02 11:31:46 -05:00
Benjamin Franzke be01456887 compositor-wayland: Use wayland-egl window surfaces 2011-03-01 16:21:02 +01:00
Benjamin Franzke 3b288afd1a compositor-x11: Use x11 egl platform 2011-03-01 11:14:03 +01:00
Kristian Høgsberg b2d71852fd Split into a demo repository that holds the demo compositor and clients 2011-02-14 22:13:33 -05:00
Kristian Høgsberg 31bd6c7ab1 Use pixman regions to reduce repainting
For now, we just use glScissor and clip to the extent of the damage region,
but we can do even better by clipping the repaint to the region rectangles.
2011-02-13 13:26:39 -05:00
Tiago Vignatti 52f2264b69 configure: remove libdrm dependency for clients
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2011-02-10 10:04:06 -05:00
Kristian Høgsberg 5e4d83f499 Merge remote branch 'nobled/for-krh' 2011-01-28 11:21:42 -05:00
Benjamin Franzke 844625834d configure: Drop gdk-pixbuf version dependency
The major version 2.0 is sufficient
2011-01-28 10:09:42 -05:00
nobled 48f975d7c5 fix configure check for gcc
This shouldn't fail just because someone sets CC=gcc-4.5
explicitly. Besides, this way it also works with compilers
that advertise GCC-compatibility like clang and ICC.
2011-01-28 13:47:21 +00:00
Kristian Høgsberg 26ef22e3f4 Test for rsvg-convert in configure.ac
If it's not present, we just don't install the icon.
2011-01-26 15:33:24 -05:00
Kristian Høgsberg 640924f37a Add gio for view fixes 2011-01-25 16:38:41 -05:00
Darxus 238515d3d7 Add specific versions to build dependencies 2011-01-23 18:38:57 -05:00
Kristian Høgsberg 7d498b4f1a Enable all compositors by default 2011-01-23 13:50:42 -05:00
Kristian Høgsberg a1015b9e8c Link simple-client against libGLESv2.so, not full GL 2011-01-14 20:38:35 -05:00
Kristian Høgsberg 8def264241 Check for cairo-egl instead of just cairo-gl 2011-01-14 17:42:50 -05:00
Kristian Høgsberg a941022372 Make it possible to enable/disable the various compositors from configure 2011-01-14 17:39:11 -05:00
Kristian Høgsberg 08c40c3550 clients: Make poppler-glib optional
Just don't compile the view client.
2011-01-11 13:48:03 -05:00
Javier Jardón 5b7e43ac56 Update autotools configuration
Use new libtool syntax and cleaning the code a bit
2010-11-06 21:04:03 -04:00
Chia-I Wu 1b6c0ed95a Workaround an xcb-dri2 bug.
xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken.  It
only works when the length of the driver name is a multiple of 4.
2010-10-29 12:52:28 -04:00
Kristian Høgsberg d0c3b9da22 Fall back to cairo image backend and shm surface if we don't have cairo gl 2010-10-25 11:40:03 -04:00
Kristian Høgsberg f0152daad7 Use automake 2010-10-12 18:00:16 -04:00
Kristian Høgsberg 6dd08ebbe1 Move core protocol libraries into wayland/ subdirectory 2010-09-14 12:41:55 -04:00
Kristian Høgsberg 4363d2aa4d Ask for glesv2, not gl for compositor in configure.ac 2010-08-26 12:13:43 -04:00
Kristian Høgsberg 1db21f1cf5 Use different cursor images in the compositor 2010-08-16 16:08:12 -04:00
Kristian Høgsberg a661f263b4 Name libraries -client and -server for consistency
Instead of wayland-server and wayland...
2010-08-11 08:56:13 -04:00
Kristian Høgsberg 640609acfc Implement current drm auth scheme in the drm object 2010-08-09 22:11:47 -04:00
Kristian Høgsberg a1f3f60bea Generate protocol types and metadata from xml 2010-08-03 09:44:48 -04:00
Kristian Høgsberg 94adf6cb9e Use libxkbcommon for mapping keycodes to keysyms 2010-06-25 16:50:05 -04:00
Kristian Høgsberg ce5325d3ed Add x11 backend for compositor
This still needs all the bells and whistles from the egl-kms mesa branch,
but it makes it a lot easier to work on wayland.
2010-06-14 11:54:02 -04:00
Kristian Høgsberg 478d9265f9 Send device name at connect time 2010-06-08 20:34:11 -04:00
Kristian Høgsberg 945ea0e743 configure.ac: Look for cairo-gl instead of cairo-drm 2010-06-08 16:00:55 -04:00
Kristian Høgsberg 8286302644 Rename wayland-system-compositor back to just compositor 2010-06-04 21:52:02 -04:00
Kristian Høgsberg b2a432ef18 Move clients to subdirectory 2010-06-04 21:46:55 -04:00
Kristian Høgsberg 3afd45d49c Switch to using mesa EGL 2010-03-03 10:34:35 -05:00
Kristian Høgsberg 450cc8136d Require libdrm 2.4.17 for page flip API 2009-12-21 10:36:21 -05:00
Kristian Høgsberg 8f2f773846 Add a simple PDF viewer 2009-09-21 13:47:35 -04:00
Chris Wilson 0de19eb688 Add an image viewer client 2009-02-21 15:48:35 -05:00
Kristian Høgsberg f13eb14711 Depend on udev 136 and clean up some code. 2009-01-26 21:38:14 -05:00
Kristian Høgsberg 8012f32978 Drop libdrm CFLAGS where no longer necessary. 2009-01-16 08:13:00 -05:00
Kristian Høgsberg aa68fe346a Update to track udev API change in eagle. 2009-01-16 06:38:14 -05:00
Kristian Høgsberg 890bc05763 Use libudev for enumerating input devices. 2008-12-30 14:31:33 -05:00
Kristian Høgsberg 4a8767bbb7 Install libraries plus headers and add pkg-config files. 2008-12-10 13:49:28 -05:00
Kristian Høgsberg d4de54efe7 Use autoconf instead of $(shell ...) in the Makefile. 2008-12-04 23:00:01 -05:00