protocol: hook up xmllint to check validity
rpi: Link with EGL if ENABLE_EGL
rpi: Initialize surface's list of views
rpi: Fix logging of buffer swaps for the EGL case
rpi: EGL surfaces need to be swapped always that we have an incoming back buffer
rpi: Only check for prematurely destroyed wl_buffers in the EGL case
rpi: Remove dangling reference to weston_view

This also marks the rpir_view for destroy in rpi_renderer_finish_frame()
rpi: Protect in-use DispmanX resources from premature deletion

The compositor will check if the client destroyed the wl_buffer
while it was in use in a display update, and delete the resource
itself once the update has finished.
pixman-renderer: Initialize pixman-renderer struct with zeros

Othrewise a crash may happen because of an unitialized value of the
create_view field.
pixman-renderer, gl-renderer: Destroy debug bindings on clean up

Also make sure backends destroy the renderers before shutting down the
compositor to avoid a double call to weston_binding_destroy().

This is a step towards making renderers switchable during runtime.
compositor: Let renderers create and destroy surface state on their own

Remove create_surface() and destroy_surface() from the renderer
interface and change the renderers to create surface state on demand
and destroy it using the weston_surface's destroy signal.

Also make sure the surfaces' renderer state is reset to NULL on
destruction.

This is a step towards runtime switchable renderers.

(rpi-renderer changes are only compile-tested)
pixman-renderer, gl-renderer: Destroy surface state with the renderer

Previously the renderers destroy function assumed they are only called
when the compositor is shutting down and that the compositor had
already destroyed all the surfaces. However, if a runtime renderer
switch would be done, the surface state would be leaked.

This patch adds a destroy_signal to the pixman and gl renderers. The
surface state objects will listen for that signal and destroy
themselves if needed.

This is a step towards runtime switchable renderers.
.gitignore: Add .valid files
configure.ac: Require at least version 0.3.0 of xkbcommon

https://bugs.freedesktop.org/show_bug.cgi?id=70870
weston-launch: Revoke and close input fds when we vt switch away

We used to leak the input fds, as weston would reopen all fds on vt
enter.  We could just close them after sending the open fd through the
socket, but this patch also adds support for the new EVIOCREVOKE evdev
ioctl, that revokes the fd in question (including the copy that we
sent to the compositor).

https://bugs.freedesktop.org/show_bug.cgi?id=70849
configure.ac: Require wayland >= 1.3.91
rpi: Remove create_view and destroy_view implementations

And also remove the vfunc definitions from the compositor as they
are unused now.
tests/.gitignore: Add *.trs

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
compositor-x11: Hide update_xkb_keymap behind #ifdef HAVE_XCB_XKB

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
configure.ac: Report if built with XCB-XKB or not

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>