1. 14 Jun, 2021 30 commits
  2. 18 May, 2021 1 commit
  3. 11 May, 2021 1 commit
  4. 09 Apr, 2021 1 commit
    • Erik Kurzinger's avatar
      xwayland: implement pixmap_from_buffers for the eglstream backend · 38e87590
      Erik Kurzinger authored and Michel Dänzer's avatar Michel Dänzer committed
      Provides an implementation for the pixmap_from_buffers DRI3 function for
      xwayland's eglstream backend. This will be used by the NVIDIA GLX driver
      to pass buffers from client applications to the server. These can then
      be presented using the PRESENT extension.
      To hopefully make this less error-prone, we also introduce a "type"
      field for this struct to distinguish between xwl_pixmaps for the new
      DRI3-created pixmaps and those for the existing glamor-created pixmaps.
      Additionally, the patch enables wnmd present mode with the eglstream backend.
      This involves creating a wl_buffer for the provided dma-buf before importing it
      into EGL and passing this to the compositor so it can be scanned out directly
      if possible.
      Since both backends now support this present mode, the HAS_PRESENT_FLIP flag is
      no longer needed, so it can be removed.
      Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
      Acked-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Signed-off-by: Erik Kurzinger's avatarErik Kurzinger <ekurzinger@nvidia.com>
  5. 08 Jan, 2021 1 commit
  6. 22 Sep, 2020 1 commit
    • Olivier Fourdan's avatar
      xwayland: Add a flag to expose EGL backend features · ae84f14f
      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's avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
  7. 07 Sep, 2020 1 commit
  8. 30 Jul, 2020 1 commit
  9. 22 Jul, 2020 3 commits
    • Roman Gilg's avatar
      present: Idle vblanks any time in window mode · ab880b8b
      Roman Gilg authored
      With the newly introduced separate API method for idling a presented Pixmap in
      window mode we can simplify the logic by allowing calls to it at any point in
      This is done by setting the flip_idler flag if the Pixmap was idled before
      being presented.
      Signed-off-by: Roman Gilg's avatarRoman Gilg <subdiff@gmail.com>
    • Roman Gilg's avatar
      present: Notify via distinct API functions in window mode · 932c6bac
      Roman Gilg authored
      Notifying Present about events' states was done prior with the single function
      present_wnmd_event_notify just like in screen mode. But it is more intelligible
      if at least in window mode we make use of three different functions with names
      that directly indicate what their purpose is:
      * present_wnmd_event_notify only for queued events feedback.
      * present_wnmd_flip_notify for when a presentation occured (flip).
      * present_wnmd_idle_notify for when the Pixmap of the event can be reused.
      This is an API-breaking change in regards to window mode. DDX written against
      the previous version won't work anymore. It is assumed that there only exists
      the XWayland DDX at the moment using the window mode such that this is not an
      issue for the overall ecosystem.
      Signed-off-by: Roman Gilg's avatarRoman Gilg <subdiff@gmail.com>
    • Roman Gilg's avatar
      xwayland: Rename present event lists · f8211095
      Roman Gilg authored
      Rename the lists release_queue to release_list and event_list to
      The prior names release_queue and event_list were ambiguous: in both are event-
      like vblanks which can be removed from the lists in random order. In the
      release_queue can be flips that are already released but still wait for the
      sync or frame callback but normally the release comes later. In the event_list
      are queued events waiting for a later msc.
      Signed-off-by: Roman Gilg's avatarRoman Gilg <subdiff@gmail.com>