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