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.

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

            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