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

Some subsurfaces change but are never committed

    XMLWordPrintable

Details

    • Linux/Wayland
    • b36a345d727eab37ee4ec4c2dc4674d5971c81d8 (qt/qtwayland/dev) 7193e64ef16a72b71d08a48f096ba854631d1b5f (qt/tqtc-qtwayland/tqtc/lts-5.15)

    Description

      Another potential issue spotted while working OBS Studio's port to be a native Wayland client. Have a look at the attached screenshot.

      There are lots of subsurfaces in this program, but there's this particular situation that involves 2 subsurfaces. Have a look in this snipped:

       [3445114.921] -> wl_compositor@4.create_surface(new id wl_surface@55)

      ...

      [3445125.333] -> wl_subcompositor@12.get_subsurface(new id wl_subsurface@62, wl_surface@55, wl_surface@24)
      [3445125.348] -> wl_subsurface@62.set_desync()

      [3445125.353] -> wl_surface@55.set_buffer_scale(1)

      [3445125.378] -> wl_subsurface@60.set_position(0, 0)
      [3445125.386] -> wl_subsurface@61.set_position(0, 22)
      [3445125.396] -> wl_subsurface@62.set_position(1006, 0)
      [3445125.408] -> wl_surface@55.set_buffer_transform(0)
      [3445125.414] -> wl_surface@55.commit()}} *//{{ ←←←←← This is the first and only commit of wl_surface@55}}

      [3447948.021] -> wl_subsurface@62.set_position(1006, 0)

      [3448025.196] -> wl_subsurface@62.set_position(1014, 0)

      ...

       

      The full log can be found here: obs wayland debug.txt

      As you can see, wl_subsurface@62 (subsurface object of wl_surface@55) has many calls to set_position(), but they are never committed. This surface has no buffer.

      Attachments

        1. 0001-Client-Commit-parent-surface-if-subsurface-size-chan.patch
          3 kB
          Georges Basile Stavracas Neto
        2. misplaced subsurfaces.png
          118 kB
          Georges Basile Stavracas Neto
        3. obs wayland debug.txt
          348 kB
          Georges Basile Stavracas Neto
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            feaneron Georges Basile Stavracas Neto
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes