d224bb9218
Calls into cairo-gles may change the current context, so it was only by chance that sometimes we had the proper one as current and updated the correct texture in surface_attach(). In order to fix this, calling display_acquire_window_surface() before binding the texture for setup is necessary. However this call has the side effect of allocating a cairo surface for the window. At flush time, the existence of this surface will cause an eglSwapBuffers(), even if no rendering was done to it, leading to undefined contents on the screen. This happens when the idle redraw task runs while there is a pending frame callback. Workaround this by moving the texture setup from surface_attach() to the redraw handler, so that the cairo surface is only allocated when redering is done. |
||
---|---|---|
clients | ||
data | ||
man | ||
protocol | ||
shared | ||
src | ||
tests | ||
wcap | ||
.gitignore | ||
autogen.sh | ||
configure.ac | ||
COPYING | ||
Makefile.am | ||
notes.txt | ||
README | ||
weston.ini |
Weston Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right. Weston has various backends that lets it run on Linux kernel modesetting and evdev input as well as under X11. Weston ships with a few example clients, from simple clients that demonstrate certain aspects of the protocol to more complete clients and a simplistic toolkit. There is also a quite capable terminal emulator (weston-terminal) and an toy/example desktop shell. Finally, weston also provides integration with the Xorg server and can pull X clients into the Wayland desktop and act as a X window manager. Refer to http://wayland.freedesktop.org/building.html for buiding weston and its dependencies.