Skip to content
  • Lyude Paul's avatar
    xwayland: Add glamor egl_backend for EGLStreams · 54ac0971
    Lyude Paul authored and Adam Jackson's avatar Adam Jackson committed
    This adds initial support for displaying Xwayland applications through
    the use of EGLStreams and nvidia's custom wayland protocol by adding
    another egl_backend driver. This also adds some additional egl_backend
    hooks that are required to make things work properly.
    
    EGLStreams work a lot differently then the traditional way of handling
    buffers with wayland. Unfortunately, there are also a LOT of various
    pitfalls baked into it's design that need to be explained.
    
    This has a very large and unfortunate implication: direct rendering is,
    for the time being at least, impossible to do through EGLStreams. The
    main reason being that the EGLStream spec mandates that we lose the
    entire color buffer contents with each eglSwapBuffers(), which goes
    against X's requirement of not losing data with pixmaps.  no way to use
    an allocated EGLSurface as the storage for glamor rendering like we do
    with GBM, we have to rely on blitting each pixmap to it's respective
    EGLSurface produ...
    54ac0971