Commit graph

825 commits

Author SHA1 Message Date
Benjamin Franzke
0bf5285b44 Add buffer.damage request to the protocol
Thus remove the server-side used vfunc buffer::damage.
2011-04-22 10:11:12 -04:00
Kristian Høgsberg
589e581f76 event-loop: Add an optional post-dispatch source callout
This lets a source mark itself as ready to dispatch even though the fd
didn't trigger.   What can happen is that for the X11 socket, some other
source callback (the drm fd or a wayland client socket) can cause somebody
to do an X roundtrip (DRI2 get buffers, for example) and queue up events
in the xcb buffer.  When we get back to epoll, the X fd no longer polls
readable and we don't process those events until we get another X event.

The check callback is called after a round of dispatching and lets a source
check if it has data to dispatch and mark itself ready.  Next round of
dispatching will then process it immediately instead of blocking in
epoll_wait().
2011-04-21 14:46:12 -04:00
Kristian Høgsberg
13ca937944 Pass version number to global bind function 2011-04-20 17:19:56 -04:00
Kristian Høgsberg
c5ec478d46 scanner: Don't hardcode the wl_ prefix in the code generator 2011-04-20 17:19:52 -04:00
Kristian Høgsberg
7e4f44e2ba Use wl_client_post_global() for connect events 2011-04-18 10:24:50 -04:00
Kristian Høgsberg
320a5634cf Introduce display.bind to request events from a global 2011-04-18 10:24:45 -04:00
Kristian Høgsberg
a0010d8f82 Print line numbers in scanner errors 2011-04-13 16:50:02 -04:00
Kristian Høgsberg
06c2ebf6ec Move proxy prototype to wayland-client.h
Let's try to avoid to generate more code than we need to.
2011-04-13 16:27:06 -04:00
Jørgen Lind
f04e05ad76 Add lockfile to the socket
This uses flock to detect if there is a process that is active. If not
then it unlinks the socket file if it exists, so that bind won't fail
2011-04-13 10:42:27 -04:00
Kristian Høgsberg
4378a80b08 Merge remote-tracking branch 'bnf/surface-frame-event' 2011-04-11 16:40:48 -04:00
Kristian Høgsberg
7cfcdc610d Make all fds close-on-exec 2011-04-11 09:24:11 -04:00
Kristian Høgsberg
8f081748f9 Make wl_client_create() public 2011-04-11 09:15:09 -04:00
Kristian Høgsberg
4d33e802e0 Support passing the Wayland fd in the environment 2011-04-11 09:14:43 -04:00
Harald Fernengel
0b29a2fec7 Fix usage help text in wayland-scanner 2011-04-06 09:42:43 -04:00
Benjamin Franzke
94fcdde0e2 Extent frame event to be surface dependent 2011-03-16 23:01:39 +01:00
Iskren Chernev
21e877f3f6 Close signal file descriptor in event loop on remove and failure.
When the signal handler is removed the corresponding fd is closed. This
should automatically remove it from the epoll set.
2011-03-14 11:56:43 +02:00
Iskren Chernev
1081bca2a8 Close timer file descriptors in event loop on remove and failure.
When the timer is removed the corresponding fd is closed. This should
automatically remove it from the epoll set.
2011-03-14 11:55:06 +02:00
Iskren Chernev
61ce8749a7 Stored signal_number in event_source structure.
signal_number was not previously stored, so the callbacks didn't get
a correct signal_number as their first argument.
2011-03-14 11:49:42 +02:00
Iskren Chernev
0ae92f9706 Fix event loop timer update.
It can now handle delays greater than 2 seconds without overflowing.
2011-03-14 11:49:42 +02:00
Kristian Høgsberg
6d22c1bdc7 Fix double remove from surface destroy_listener_list
We remove the listener when a device loses its pointer focus, but
doesn't insert it in another destroy_listener list if surface is NULL.
When we set another pointer focus surface, we remove it again.
Tracked down and tested by Iskren Chernev.
2011-03-12 22:09:30 -05:00
Iskren Chernev
5acf6b4b03 Server socket creation error handling. 2011-03-12 22:07:41 -05:00
Iskren Chernev
ecbad0341e Added wl_connection_create failure checks. 2011-03-12 21:56:49 -05:00
Iskren Chernev
fcd4caa0df Better handling of creation errors in display. 2011-03-12 21:56:25 -05:00
Iskren Chernev
c9a729260f Better cleanup on display creation failure. 2011-03-12 21:56:13 -05:00
Kristian Høgsberg
9061f91eb8 Merge branch 'setup_display' of git://anongit.freedesktop.org/~bnf/wayland 2011-03-01 17:04:33 -05:00
Benjamin Franzke
b038d93abf protocol/wayland: Drop drm interface (move into mesa) 2011-02-28 11:20:56 +01:00
Rico Tzschichholz
8105d2873c Add wayland-scanner.mk to EXTRA_DIST for make distcheck 2011-02-25 08:43:14 -05:00
Kristian Høgsberg
9136e05ebd Only allow one listener per proxy 2011-02-18 15:28:54 -05:00
Liu, Xinyun
9a2015562c Several typo fixes in specs/main.tex 2011-02-18 08:40:49 -05:00
Kristian Høgsberg
fcfb4e30a4 Split into a core repository that only holds the core Wayland libraries 2011-02-14 22:21:13 -05:00
Kristian Høgsberg
525e4c0bea compositor: Clip repaint to the damage region
Drop glScissor, and just clip the surface against the repaint region and
render each rectangle in the resulting region.
2011-02-14 10:39:54 -05:00
Benjamin Franzke
feb370e4ea compositor-drm: Flush before pageflipping
This fixes compositor-drm flickering on r600.
2011-02-14 08:28:44 -05:00
Kristian Høgsberg
fa4e2a7676 compositor: Switch away from using VBOs and just stream the vertex data
We avoid changing uniforms for each window and it will be easier to break up
a surface into a series of rectangles.
2011-02-13 13:45:01 -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
Tim Wiederhake
9c7a8cc663 fix typo in window.c 2011-02-11 13:44:31 -05:00
Kristian Høgsberg
48e2989594 wayland-client: Support WAYLAND_DEBUG client side as well 2011-02-10 12:27:35 -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
0d5007a76f window.c: Use eglGetProcAddress to look up extension functions 2011-02-09 10:57:44 -05:00
Kristian Høgsberg
297d6dd442 window.c: Include wayland-egl.h before EGL headers so we get the right platform 2011-02-09 10:51:15 -05:00
Kristian Høgsberg
43c63e59a7 wayland-egl: Define WL_EGL_PLATFORM in wayland-egl.h
This indicates that we're using the wayland egl platform and will make
eglplatform.h typedef the native types correctly.
2011-02-09 10:50:11 -05:00
Kristian Høgsberg
2dfe626f4e compositor-x11: Don't send enter/leave notify if we have an implicit grab 2011-02-08 12:00:55 -05:00
Kristian Høgsberg
3eff366911 Add struct wl_egl_display argument to wl_egl_window_create
We don't need it in the mesa implementation, but other implementations
might and it's symmetric with wl_egl_pixmap_create().
2011-02-07 20:48:01 -05:00
Kristian Høgsberg
0bbb97bab1 Print object interface name when printing message arguments in debug mode 2011-02-07 16:05:36 -05:00
Kristian Høgsberg
bfb8e61381 Follow wayland-egl renames 2011-02-07 10:30:38 -05:00
Kristian Høgsberg
c9824ddf35 compositor: Implement super-tab window switching 2011-02-07 09:12:56 -05:00
Kristian Høgsberg
f30c67eea6 compositor: Set repaint_on_timeout when we schedule a timeout repaint 2011-02-07 09:12:56 -05:00
Kristian Høgsberg
a495a5ed8b simple-client: Port to wayland-egl and use eglSwapBuffers()
simple-client is simpler.
2011-02-07 09:12:56 -05:00
Kristian Høgsberg
f57a96f98d gears: Remove unused drm_fd field 2011-02-07 09:12:56 -05:00
Kristian Høgsberg
297c6313eb Port window.c to use wayland-egl 2011-02-07 09:12:56 -05:00
Benjamin Franzke
66cea0ad25 Add wayland-egl.h
This header defines native EGL wayland types and affiliated
initialization, processing and destruction routines.
EGL implementations must implement this API in order to allow
applications using this native types for the EGL implementation.
2011-02-07 14:05:01 +01:00