• Olivier Fourdan's avatar
    xwayland: refactor EGL backends for wayland registry · d7185a84
    Olivier Fourdan authored and Adam Jackson's avatar Adam Jackson committed
    To be able to check for availability of the Wayland interfaces required
    to run a given EGL backend (either GBM or EGLStream for now), we need
    to have each backend structures and vfuncs in place before we enter the
    Wayland registry dance.
    That basically means that we should init all backends at first, connect
    to the Wayland compositor and query the available interfaces and then
    decide which backend is available and should be used (or none if either
    the Wayland interfaces or the EGL extensions are not available).
    For this purpose, hold an egl_backend struct for each backend we are to
    consider prior to connect to the Wayland display so that, when we get to
    query the Wayland interfaces, everything is in place for each backend to
    handle the various Wayland interfaces.
    Eventually, when we need to chose which EGL backend to use for glamor,
    the available Wayland interfaces and EGL extensions available are all
    known to Xwayland.
    Signed-off-by: Olivier Fourdan's avatarOlivier Fourdan <ofourdan@redhat.com>
    Reviewed-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>