Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74927

Add compositor support for wl_surface.damage_buffer requests

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Not Evaluated
    • 6.0, 6.1.0 RC
    • None
    • QPA: Wayland
    • None
    • Linux/Wayland
    • 7e412517c4fa10aad6f7bb0b691cb3335e815db0 (qt/qtwayland/dev)

    Description

      Currently, we only support wl_surface version 3, which doesn't have the damage_buffer request, which were added in wl_surface version 4.

      According to the wayland protocol documentation, "damage_buffer" is preferred over "damage", the only difference between the two, is that damage_buffer sends damage in wl_buffer coordinates (that is unscaled), rather than wl_surface coordinates (scaled by buffer_scale and potentially wp_viewport).

      One of the reasons to implement this, is that Mesa doesn't send partial updates when the compositor only supports damage, and not damage_buffer. So implementing this is required for partial updates to work on Mesa—and possibly on other platforms.

      wl_surface is constructed through wl_compositor.create_surface, so this also requires updating wl_compositor to version 4. Fortunately, wl_surface is the only interface that wl_compositor returns that got updated between version 3 and 4, and the only thing that changed in that interface, was the addition of the damage_buffer request, so implementing this should be as straightforward as simply bumping the minimum versions an implementing this single request.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              tvete Paul Olav Tvete
              johanhelsing Johan Helsing
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes