Commit Graph

43 Commits

Author SHA1 Message Date
Kristian Høgsberg 6dd08ebbe1 Move core protocol libraries into wayland/ subdirectory 2010-09-14 12:41:55 -04:00
Kristian Høgsberg 76b43326a5 Move example compositor to subdirectory 2010-09-14 10:56:25 -04:00
Kristian Høgsberg 8a40871645 A few makefile/autoconf fixes 2010-08-25 13:38:40 -04:00
Kristian Høgsberg 4219a407ae Add DMZ cursor theme
Some day we can make this parse X cursor themes
2010-08-16 16:43:50 -04:00
Kristian Høgsberg b91cd10fcb Move cairo-util.[ch] to clients/ 2010-08-16 16:23: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 5fcd0aa58e Introduce 'buffer' object for attaching, image cahce and cursor images
The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism.  Once the buffer is created
it can be attached to a surface.
2010-08-09 14:43:33 -04:00
Kristian Høgsberg 83fc061c9c Introduce 'shell' object for moving and resizing surfaces in the compositor 2010-08-04 22:44:55 -04:00
Kristian Høgsberg a1f3f60bea Generate protocol types and metadata from xml 2010-08-03 09:44:48 -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 fc783d4071 Split native drm part of compositor out 2010-06-11 12:56:45 -04:00
Kristian Høgsberg a7f258221a Add spec document in progress 2010-06-07 12:22:48 -04:00
Kristian Høgsberg a2ee675861 Make compositor compile and port it to new mesa extensions 2010-06-04 22:14:28 -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 d4de54efe7 Use autoconf instead of $(shell ...) in the Makefile. 2008-12-04 23:00:01 -05:00
Kristian Høgsberg 3620295d17 Drop unused clients, pointer and window. 2008-12-02 15:16:11 -05:00
Kristian Høgsberg fbdbbdc153 Finally implement the commit/ack/frame protocol and improve repaint loop.
This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for.  At this point the client
can start rendering the next frame or free up temporary buffers.  Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.

The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame.  The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace.
2008-11-28 17:06:10 -05:00
Kristian Høgsberg 18fb78307b Use struct buffer from cairo-util.c in flower.c. 2008-11-25 22:53:28 -05:00
Kristian Høgsberg cddc0ad502 Add keyboard input, move input device creation to compositor. 2008-11-24 00:31:49 -05:00
Kristian Høgsberg a5a2c8e5db Rename input.c to evdev.c. 2008-11-24 00:12:20 -05:00
Kristian Høgsberg 1e4b86af1a Expose screenshooting as an interface, drop SIGUSR hack.
This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.
2008-11-24 00:06:16 -05:00
Kristian Høgsberg aa5b5bed73 Load and draw background in compositor. 2008-11-21 21:31:54 -05:00
Kristian Høgsberg 4c9f2c9b1a Move pointer drawing into compositor. 2008-11-21 19:25:44 -05:00
Kristian Høgsberg 8d7ca6be21 Add quick screenshot hack. 2008-11-09 00:22:51 -05:00
Kristian Høgsberg 2f2cfae227 Factor out common cairo code, add blur function. 2008-11-08 23:09:51 -05:00
Kristian Høgsberg b7a01928be Add prototypes warnings, use -fvisibility. 2008-11-08 15:49:49 -05:00
Kristian Høgsberg f099fd24a3 Use the eagle pkg-config file instead of assuming ../eagle. 2008-11-08 15:30:41 -05:00
Kristian Høgsberg 1cbaa6abac Use glib main loop for all clients. 2008-11-07 15:54:48 -05:00
Kristian Høgsberg fb59084fbf Add glib main loop integration, use it in flower client. 2008-11-07 14:27:23 -05:00
Kristian Høgsberg 5503bf82c4 dlopen the compositor, add a glx compositor. 2008-11-06 10:53:03 -05:00
Kristian Høgsberg 8a9cda8cfb Add the gears from glxgears. 2008-11-06 10:53:03 -05:00
Kristian Høgsberg 61017b190a Add a window client, first implementation of surface resizing. 2008-11-06 10:53:02 -05:00
Kristian Høgsberg 6b5e7626f5 Move background drawing to a client. 2008-11-06 10:53:02 -05:00
Kristian Høgsberg d3fa34ca29 Don't use poll timeout for timing animation.
Receiving events breaks out of the poll and resets the time out.
Effectively, this blocks the animation when the client receives events.
As a quick fix, use timerfd for timing the animation.
2008-11-06 10:53:02 -05:00
Kristian Høgsberg 5a27f3e6a7 Add a new client that draws a pointer. 2008-11-06 10:52:14 -05:00
Kristian Høgsberg e120a4b1ee Rename client, prepare Makefile for more clients. 2008-11-06 10:51:59 -05:00
Kristian Høgsberg f9bc795a7d Add crude input device support.
Just pointer motion and button clicks for now, broadcast to all clients.
2008-11-06 10:51:59 -05:00
Kristian Høgsberg 16eb675399 Add an EGL compositor. Still pretty lame. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg 427524aedf Use new connection object in client code too. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg 680f1c7025 Split out connection io buffer logic. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg a67a71a7cf Bunch of new stuff: simple compositor, cairo+gem use in client, events. 2008-10-07 10:10:36 -04:00
Kristian Høgsberg 97f1ebe8d5 Initial commit.
This has the basic event loop, and a first cut of the libffi dispatcher.
2008-09-30 09:56:42 -04:00