Commit Graph

22 Commits

Author SHA1 Message Date
Kristian Høgsberg
dc0f355f0a Fix API to always include socket name length. 2008-12-07 15:22:22 -05:00
Kristian Høgsberg
122912c69b Make the wayland server a library used by the compositors. 2008-12-05 11:13:50 -05:00
Kristian Høgsberg
87e0a384da Use type strings for method and event signatures. 2008-12-05 10:38:42 -05:00
Kristian Høgsberg
ffd710e653 Put Wayland under the MIT license. 2008-12-02 15:15:01 -05:00
Kristian Høgsberg
c2b633e6c2 Add wl_client_marshal() for sending events. 2008-11-28 19:12:45 -05:00
Kristian Høgsberg
4a29890da7 Generalize event loop a bit and pull in the timerfd stuff. 2008-11-28 18:35:25 -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
44f36e3585 Make ack event signal that the requests have been composited. 2008-11-26 12:57:31 -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
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
14fcff7726 Generalize the object advertising mechanism. 2008-11-23 19:10:23 -05:00
Kristian Høgsberg
4c9f2c9b1a Move pointer drawing into compositor. 2008-11-21 19:25:44 -05:00
Kristian Høgsberg
b7a01928be Add prototypes warnings, use -fvisibility. 2008-11-08 15:49:49 -05:00
Kristian Høgsberg
78231c8dd0 Implement surface copy request, use it for egl gears. 2008-11-08 15:06:01 -05:00
Kristian Høgsberg
7f77bd8fbe Add copy and damage surface requests. 2008-11-07 08:39:37 -05:00
Kristian Høgsberg
5503bf82c4 dlopen the compositor, add a glx compositor. 2008-11-06 10:53:03 -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
5ebb317383 Recomposite screen in idle handler. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg
f921289954 Handle multiple clients better. 2008-11-06 10:51:58 -05:00
Kristian Høgsberg
05eff51e41 Add surface.map request. 2008-11-06 10:51:43 -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