Commits on Source (3)
-
Olivier Fourdan authored
The present flip does not work with the EGLStream backend. Similarly, the EGLStream backend does not require the buffer to be flushed as eglSwapBuffers() should take care of this. Instead of actually checking the backend in use in the present code, add a flag in the form of a bitfield to the EGL backend to indicate its features and requirements. This should not introduce any functional change. v2: Fix logical test (Adam Jackson <ajax@redhat.com>) Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
Olivier Fourdan authored
Using multiple window buffers crashes with EGLStream, which does not need it anyway as this is handled through EGL directly. Add a flag to the EGL backend to indicate whether it would benefit from multiple buffers and use this in the get_buffer() function. Thanks to Adam Jackson <ajax@redhat.com> for pointing out that issue with EGLStream. v2: Fix logical test (Adam Jackson <ajax@redhat.com>) Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
The EGLStream backend keeps a queue of pending streams for each Xwayland window. However, when this pending queue is freed, the corresponding private data may not be cleared (typically if the pixmap for this window has changed before the compositor finished attaching the consumer for the window's pixmap's original eglstream), leading to a use-after-free and a crash when trying to use that data as the window pixmap. Make sure to clear the private data when the pending stream is freed. Closes: #1055 Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Tested-by:
Karol Szuster <karolsz9898@gmail.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
Showing
- hw/xwayland/xwayland-glamor-eglstream.c 2 additions, 1 deletionhw/xwayland/xwayland-glamor-eglstream.c
- hw/xwayland/xwayland-glamor-gbm.c 3 additions, 0 deletionshw/xwayland/xwayland-glamor-gbm.c
- hw/xwayland/xwayland-glamor.c 31 additions, 0 deletionshw/xwayland/xwayland-glamor.c
- hw/xwayland/xwayland-glamor.h 14 additions, 0 deletionshw/xwayland/xwayland-glamor.h
- hw/xwayland/xwayland-present.c 1 addition, 4 deletionshw/xwayland/xwayland-present.c
- hw/xwayland/xwayland-screen.c 1 addition, 3 deletionshw/xwayland/xwayland-screen.c
- hw/xwayland/xwayland-window-buffers.c 5 additions, 0 deletionshw/xwayland/xwayland-window-buffers.c