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
f3723fe79e
Add .gitignore.
2008-11-25 23:18:29 -05:00
Kristian Høgsberg
0ee84083a2
Convert touchpad absolute events to relative.
2008-11-25 23:16:31 -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
73c305851d
Make overlay animation actually stop.
2008-11-25 22:45:46 -05:00
Kristian Høgsberg
4097923a64
Add commit request + ack event to wayland core.
...
Use in window.c to manage life cycle of buffer correctly.
2008-11-25 22:40:39 -05:00
Kristian Høgsberg
961a04cef0
Correct pointer hotspot location.
2008-11-25 22:38:56 -05:00
Kristian Høgsberg
ffb7406eaa
Add different type of overlay animation.
2008-11-25 18:10:39 -05:00
Kristian Høgsberg
5c1e6ecab4
Tweak overlay animation a bit.
2008-11-25 13:51:36 -05:00
Kristian Høgsberg
443853cbda
Pick a config instead of hard coding one.
2008-11-25 12:12:05 -05:00
Kristian Høgsberg
bf9541ffa3
Allocate and set mode in egl-compositor.
...
Pass the front buffer name to eglCreateSurfaceForName to create the
fullscreen EGLSurface.
2008-11-25 12:10:09 -05:00
Kristian Høgsberg
f53f4bbd52
Quit screenshooter when idle.
2008-11-24 11:32:43 -05:00
Kristian Høgsberg
9af92b380c
Animate overlay on/off.
2008-11-24 01:12:46 -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
ec8ef722e9
Add missing breaks in evdev switch.
2008-11-24 00:13:13 -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
14fcff7726
Generalize the object advertising mechanism.
2008-11-23 19:10:23 -05:00
Kristian Høgsberg
548798266e
Add an overlay type window in the compositor.
2008-11-23 17:07:32 -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
e9d550bdd4
Optimize blur further, resize gears with window.
2008-11-19 00:49:39 -05:00
Kristian Høgsberg
29590034f4
Remove redundant glFlush().
2008-11-17 23:33:19 -05:00
Kristian Høgsberg
873302649a
Optimize blur a bit more.
2008-11-17 22:23:55 -05:00
Kristian Høgsberg
8c304f6d9a
A couple more theme tweaks.
2008-11-10 10:46:53 -05:00
Kristian Høgsberg
6e635f3472
Get corner radius right for inner bevel.
2008-11-09 09:15:46 -05:00
Kristian Høgsberg
8d7ca6be21
Add quick screenshot hack.
2008-11-09 00:22:51 -05:00
Kristian Høgsberg
10bdd298b8
Optimize window blur calculation.
2008-11-08 23:27:27 -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
e4feb56316
Make window prettier again.
2008-11-08 18:53:37 -05:00
Kristian Høgsberg
30749426dc
Tweak pointer image a bit.
2008-11-08 16:01:59 -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
78231c8dd0
Implement surface copy request, use it for egl gears.
2008-11-08 15:06:01 -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
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
61ba898b73
README: Add link to google group.
2008-11-06 10:53:03 -05:00
Kristian Høgsberg
56f3c71f8c
Add a FIXME for when we have a working fbconfig chooser.
2008-11-06 10:53:03 -05:00
Kristian Høgsberg
b8bf19b7a9
Clear depth buffer, but only depth buffer for gears.
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
33a52bd07d
Add README for the adventurous, allow evdev override from getenv().
2008-11-06 10:53:02 -05:00
Kristian Høgsberg
35370f8073
Redraw window in idle handler.
2008-11-06 10:53:02 -05:00
Kristian Høgsberg
2d9cd1ee51
Use eglBindTexImage instead of copying texture data.
2008-11-06 10:53:02 -05:00
Kristian Høgsberg
ca1d1f65d0
Make window client a little more interesting.
2008-11-06 10:53:02 -05:00
Kristian Høgsberg
3f59e82c20
Use GL_ONE for the source in glBendFunc instead of pre-unmultiplying.
...
Eventually we need to allow both pre-multiplied alpha and not, but for now default to premultiplied.
2008-11-06 10:53:02 -05:00
Kristian Høgsberg
61017b190a
Add a window client, first implementation of surface resizing.
2008-11-06 10:53:02 -05:00