Skip to content
Snippets Groups Projects
  1. Aug 19, 2024
  2. Aug 14, 2024
  3. Aug 12, 2024
  4. Aug 08, 2024
    • Derek Foreman's avatar
      compositor: Unmap views moved to layers outside of the scene graph · 003e529d
      Derek Foreman authored
      
      commit 5fe02dc6 partially resolved the issue in #937 by bringing back
      the old band-aid solution for layer moves. However, since the events of
      commit bf228370 and following commits we have a problem with
      subsurfaces leaving garbage behind when minimized - see #366 which was
      probably fixed for a while then became broken again.
      
      When we minimize a view that has subsurfaces, by moving it to a layer
      outside of the scene graph, we need to be sure to handle the subsurface
      views - which follow their parent's layer instead of having
      weston_view_move_to_layer() explicitly called.
      
      Do this by assuming layers with an empty link are not part of the scene
      graph and unmapping views when they're moved to these layers. This will
      recursively unmap the subsurface views.
      
      We can now remove the band-aid paint node destroy, as the unmap process
      will destroy paint nodes as appropriate.
      
      Fixes 5fe02dc6
      
      Fixes #937
      
      Fixes #366
      
      Signed-off-by: default avatarDerek Foreman <derek.foreman@collabora.com>
      003e529d
    • Derek Foreman's avatar
      desktop-shell: check view mappedness in desktop_surface_removed · 30fd16da
      Derek Foreman authored
      
      A "mapped" surface need not have a primary output assigned, or
      be in a state such that it needs a fade out animation. The view
      being mapped is what we should be testing here.
      
      Signed-off-by: default avatarDerek Foreman <derek.foreman@collabora.com>
      30fd16da
  5. Aug 07, 2024
    • Michael Olbrich's avatar
      subsurface: don't forget to repaint after the first sub-surface commit · a7e8bd4b
      Michael Olbrich authored and Derek Foreman's avatar Derek Foreman committed
      
      For the following sequence, weston will not trigger a repaint:
      
      1. create the main surface
      2. create another surface and attach it as a sub-surface to the main surface
      3. set the sub-surface to desync
      4. attach a buffer to the main surface and commit it
      5. attach a buffer to the sub-surface and commit it
      
      Step 5 should cause the sub-surface to become mapped. However, Weston fails to
      schedule a repaint in that case, so the sub-surface will not appear until
      something else causes a repaint on that output, e.g. the main window.
      
      And sub-surfaces are special when it comes to mapping because
      weston_surface_is_mapped() will not return true until the parent surface is
      mapped as well. So right now, weston_surface_map() may be called multiple times
      and it will send the map_signal each time.
      
      So to fix all this and make it clearer:
      
      1. define a separate weston_surface_start_mapping() function to make it clearer
         that the (sub-)surface may not be fully mapped at the end
      2. check surface->is_mapped explicitly to ensure that the sub-surface is only
         mapped once.
      3. call weston_view_update_transform() for all views of the sub-surface when the
         parent surface is already mapped to ensure that a repaint for all relevant
         outputs is triggered.
      
      The new test checks this by waiting for a frame event for the first subsurface
      commit. Without these changes, the test will block until it is killed by the
      timeout.
      
      Signed-off-by: default avatarMichael Olbrich <m.olbrich@pengutronix.de>
      a7e8bd4b
    • Joan Torres's avatar
      color: update color-management protocol to xx-v4 · 1b793b7a
      Joan Torres authored and Leandro Ribeiro's avatar Leandro Ribeiro committed
      
      The main differences is the split of cm_surface functionality with
      cm_surface and cm_feedback_surface.
      
      There can only be one cm_surface to set, unset image descriptions. When
      cm_surface is destroyed, the image description is automatically unset.
      
      There can be multiple feedback_surfaces for one surface though.
      Now the "preferred_changed" signal can be an initial event.
      
      Creator params now have a new request: set_luminances.
      
      Signed-off-by: default avatarJoan Torres <joan.torres@suse.com>
      1b793b7a
  6. Aug 06, 2024
  7. Aug 05, 2024
  8. Aug 02, 2024
    • Marius Vlad's avatar
      gitlab-ci: Use virtme-ng for running our tests · 6449ee9d
      Marius Vlad authored
      
      virtme-ng is the an update version of virtme, and this patch uses
      that instead of the one we had partially modified.
      
      Besides that this partially reverts ad039cdf, 'backend-drm: Enable
      atomic async flip support' and makes our CI happier. Specifically
      ad039cdf updated our kernel version from 6.3 to 6.9 but did not do
      a FDO bum,p and with that, no container images were rebuilt. Effectively
      we were still using 6.3.
      
      Now, with the FDO bump, in this patch, we noticed that the drm-writeback
      test is failing with linux kernel version 6.9.
      
      So far, only 6.3 and 6.4 kernel versions seems to be working, that is,
      without that drm writeback test timing out. The safest bet for the
      time being, would be to keep our CI just use 6.3 kernel, until we
      have proper version to update to.
      
      Signed-off-by: default avatarDaniel Stone <daniel.stone@collabora.com>
      Signed-off-by: default avatarMarius Vlad <marius.vlad@collabora.com>
      6449ee9d
    • Marius Vlad's avatar
      tests/drm-*: Log drm-backend by default · e667a167
      Marius Vlad authored
      
      This could be useful in investigating drm-* test hang-ups.
      
      Signed-off-by: default avatarMarius Vlad <marius.vlad@collabora.com>
      e667a167
  9. Jul 29, 2024
  10. Jul 25, 2024
Loading