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

Add compositor support for wl_surface.damage_buffer requests

XMLWordPrintable

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

      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.

        For Gerrit Dashboard: QTBUG-74927
        # Subject Branch Project Status CR V

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes