Skip to content
Snippets Groups Projects
  1. May 02, 2024
  2. Apr 18, 2024
  3. Apr 17, 2024
  4. Apr 12, 2024
    • Olivier Fourdan's avatar
      Bump version to 24.0.99.1 · 596db542
      Olivier Fourdan authored
      
      In preparation for a 24.1 release.
      
      Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Part-of: <xorg/xserver!1483>
      596db542
    • Michel Dänzer's avatar
      meson: Change project name to xwayland · 751af124
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      (cherry picked from commit 001f0c89)
      
      Part-of: <xorg/xserver!1483>
      751af124
    • Michel Dänzer's avatar
      Don't install Xvfb · 3d5eb2df
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      We're keeping it for unit tests, but we don't want to ship it from this
      branch.
      
      Also disable Xvfb in CI for ninja test. It's still built and used for
      unit tests as part of ninja dist, but we don't want to run XTS on Xvfb.
      
      (cherry picked from commit 0408fcb3)
      
      Part-of: <xorg/xserver!1483>
      3d5eb2df
    • Michel Dänzer's avatar
      meson: Build Xwayland unconditionally · 9cd94d39
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      And simplify build_glamor logic, we don't need the separate
      glamor_option variable anymore.
      
      (cherry picked from commit fdc61c5a)
      (cherry picked from commit 274d54d1)
      
      Part-of: <!1483>
      9cd94d39
    • Michel Dänzer's avatar
      Drop miext/shadow directory · 6b100681
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      Not used on this branch.
      
      (cherry picked from commit be7257c5)
      
      Part-of: <!1483>
      6b100681
    • Michel Dänzer's avatar
      Drop EXA code · 7f3a9a40
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      Not used on this branch.
      
      (cherry picked from commit aa49cd5a)
      
      Part-of: <xorg/xserver!1483>
      7f3a9a40
    • Michel Dänzer's avatar
      Drop config directory · 94228264
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      Not used anymore on this branch.
      
      (cherry picked from commit 23296633)
      (cherry picked from commit d07af46a)
      
      Part-of: <xorg/xserver!1483>
      94228264
    • Michel Dänzer's avatar
      Drop Xephyr / kdrive DDX · 1f80c795
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      (cherry picked from commit 9335ee79)
      
      Part-of: <!1483>
      1f80c795
    • Michel Dänzer's avatar
      Drop Xorg DDX · dfea7346
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      v2: Change the FDO_DISTRIBUTION_TAG (Michel)
      
      (cherry picked from commit 4f4b8e00)
      
      Part-of: <!1483>
      dfea7346
    • Michel Dänzer's avatar
      Drop Xwin DDX and x86 MinGW-w64 cross build · 34fac2d7
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      (cherry picked from commit 8f480147)
      
      This partly reverts commit d3933a24.
      
      Part-of: <xorg/xserver!1483>
      34fac2d7
    • Michel Dänzer's avatar
      Drop Xnest DDX · 735009cd
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      (cherry picked from commit 69cc6a6c)
      
      Part-of: <xorg/xserver!1483>
      735009cd
    • Michel Dänzer's avatar
      Drop Xquartz DDX · 700cdeee
      Michel Dänzer authored and Olivier Fourdan's avatar Olivier Fourdan committed
      (cherry picked from commit 6cae4b39)
      
      Part-of: <xorg/xserver!1483>
      700cdeee
    • Olivier Fourdan's avatar
      xwayland: Walk the regions' boxes · 385226bd
      Olivier Fourdan authored and Marge Bot's avatar Marge Bot committed
      
      In xwl_source_validate(), the actual box wasn't updated, so we would
      possibly copy several times the same first box.
      
      Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
      Fixes: aa05f38f - xwayland: Add SourceValidate hook
      Part-of: <xorg/xserver!1485>
      385226bd
    • Michel Dänzer's avatar
      dri3: Free formats in cache_formats_and_modifiers · 3b6b88c1
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      Fixes leak:
      
      ==15672== 60 bytes in 1 blocks are definitely lost in loss record 3,803 of 8,127
      ==15672==    at 0x4840718: malloc (vg_replace_malloc.c:392)
      ==15672==    by 0x2F2698: XNFreallocarray (alloc.c:55)
      ==15672==    by 0x1ADAA9: xwl_dmabuf_get_formats_for_device (xwayland-dmabuf.c:207)
      ==15672==    by 0x1ADAA9: xwl_glamor_get_formats (xwayland-dmabuf.c:248)
      ==15672==    by 0x303D86: cache_formats_and_modifiers (dri3_screen.c:176)
      ==15672==    by 0x303D86: dri3_get_supported_modifiers (dri3_screen.c:229)
      ==15672==    by 0x30331A: proc_dri3_get_supported_modifiers (dri3_request.c:389)
      ==15672==    by 0x217B6B: Dispatch (dispatch.c:550)
      ==15672==    by 0x21B9A0: dix_main (main.c:276)
      ==15672==    by 0x51086C9: (below main) (libc_start_call_main.h:58)
      
      Fixes: a42992a4 ("dri3: rework format/modifier caching")
      Part-of: <!1484>
      3b6b88c1
    • Michel Dänzer's avatar
      xwayland: Use drmDevicesEqual in xwl_dmabuf_feedback_tranche_done · 4dc7e998
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      xwl_dmabuf_feedback_tranche_target_device always allocates a new
      drmDevice for xwl_feedback->tmp_tranche.drm_dev, so the pointers are
      never equal here.
      
      Fixes: 6f0b9dee ("xwayland: use drmDevice to compare DRM devices")
      
      v2:
      * Flip order of checks, so drmDevicesEqual is called only if the
        supports_scanout flags match.
      
      Part-of: <xorg/xserver!1484>
      4dc7e998
    • Michel Dänzer's avatar
      xwayland: Call drmFreeDevice for dma-buf default feedback · 82d3b8ff
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      Fixes leaks:
      
      ==13712== 144 bytes in 1 blocks are definitely lost in loss record 4,827 of 7,462
      ==13712==    at 0x48459F3: calloc (vg_replace_malloc.c:1340)
      ==13712==    by 0x49BE94D: drmDeviceAlloc (xf86drm.c:4072)
      ==13712==    by 0x49BFAC9: drmProcessPciDevice (xf86drm.c:4104)
      ==13712==    by 0x49BFAC9: process_device (xf86drm.c:4508)
      ==13712==    by 0x49C35FB: drmGetDeviceFromDevId (xf86drm.c:4670)
      ==13712==    by 0x1AD370: xwl_dmabuf_feedback_main_device (xwayland-dmabuf.c:477)
      ==13712==    by 0x53C03FD: ffi_call_unix64 (unix64.S:104)
      ==13712==    by 0x53BF70C: ffi_call_int (ffi64.c:673)
      ==13712==    by 0x53BFEE2: ffi_call (ffi64.c:710)
      ==13712==    by 0x49AC920: wl_closure_invoke (connection.c:1025)
      ==13712==    by 0x49A8C08: dispatch_event.isra.0 (wayland-client.c:1631)
      ==13712==    by 0x49AA5AB: dispatch_queue (wayland-client.c:1777)
      ==13712==    by 0x49AA5AB: wl_display_dispatch_queue_pending (wayland-client.c:2019)
      ==13712==    by 0x49AAB5E: wl_display_roundtrip_queue (wayland-client.c:1403)
      
      ==13712== 576 bytes in 4 blocks are definitely lost in loss record 6,289 of 7,462
      ==13712==    at 0x48459F3: calloc (vg_replace_malloc.c:1340)
      ==13712==    by 0x49BE94D: drmDeviceAlloc (xf86drm.c:4072)
      ==13712==    by 0x49BFAC9: drmProcessPciDevice (xf86drm.c:4104)
      ==13712==    by 0x49BFAC9: process_device (xf86drm.c:4508)
      ==13712==    by 0x49C35FB: drmGetDeviceFromDevId (xf86drm.c:4670)
      ==13712==    by 0x1AD583: xwl_dmabuf_feedback_main_device (xwayland-dmabuf.c:477)
      ==13712==    by 0x1AD583: xwl_window_dmabuf_feedback_main_device (xwayland-dmabuf.c:691)
      ==13712==    by 0x53C03FD: ffi_call_unix64 (unix64.S:104)
      ==13712==    by 0x53BF70C: ffi_call_int (ffi64.c:673)
      ==13712==    by 0x53BFEE2: ffi_call (ffi64.c:710)
      ==13712==    by 0x49AC920: wl_closure_invoke (connection.c:1025)
      ==13712==    by 0x49A8C08: dispatch_event.isra.0 (wayland-client.c:1631)
      ==13712==    by 0x49AA5AB: dispatch_queue (wayland-client.c:1777)
      ==13712==    by 0x49AA5AB: wl_display_dispatch_queue_pending (wayland-client.c:2019)
      ==13712==    by 0x1A1842: xwl_read_events (xwayland-screen.c:566)
      ==13712==    by 0x1A1842: xwl_read_events (xwayland-screen.c:553)
      
      Fixes: 6f0b9dee ("xwayland: use drmDevice to compare DRM devices")
      Part-of: <xorg/xserver!1484>
      82d3b8ff
  5. Apr 11, 2024
  6. Apr 10, 2024
    • Michel Dänzer's avatar
      xwayland/present: Redirect surface window as needed for page flips · c7d56b0e
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      It's needed when the surface window is a depth 24 descendant of a depth
      32 toplevel window.
      
      xwl_source_validate ensures the toplevel window pixmap has valid
      contents when a client reads from it, or when the window hierarchy /
      geometry changes. It's never called in the normal fullscreen application
      case, so there's no GPU copy overhead with that.
      
      v2:
      * Don't try to redirect a depth 32 descendant of different-depth
        ancestors, the alpha channel wouldn't be handled correctly.
        (Olivier Fourdan)
      
      Part-of: <xorg/xserver!1300>
      c7d56b0e
    • Michel Dänzer's avatar
      xwayland/present: Check window & source pixmap depth match last · 4495c696
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      Preparation for next commit, no functional change intended.
      
      Part-of: <xorg/xserver!1300>
      4495c696
    • Michel Dänzer's avatar
      xwayland: Add SourceValidate hook · aa05f38f
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      A later commit will use it to ensure the toplevel window pixmap has
      valid contents.
      
      It's hooked up only while any xwl_window->surface_window_damage points
      to a non-empty region. So far it's always NULL, so no functional change
      intended.
      
      v2:
      * Fix trailing whitespace. (Olivier Fourdan)
      v3:
      * Use toplevel local variable more in xwl_window_update_surface_window.
      
      Part-of: <xorg/xserver!1300>
      aa05f38f
    • Michel Dänzer's avatar
      xwayland/present: Add xwl_present_maybe_(un)redirect_window · fca63f8f
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      A later commit will use these to (un)redirect the surface window on
      demand.
      
      Not used yet, so no functional change intended.
      
      v2:
      * Use "surface_window_damage" instead of "surf_win_damage".
        (Olivier Fourdan)
      * Slightly simplify logic in xwl_unrealize_window.
      v3:
      * Add comment in xwl_present_maybe_unredirect_window explaining why we
        use a timer. (Olivier Fourdan)
      v4:
      * Rename unredir_timer field to unredirect_timer.
      
      Part-of: <xorg/xserver!1300>
      fca63f8f
    • Michel Dänzer's avatar
      xwayland: Use ConfigNotify screen hook instead of ResizeWindow · fa7b1c20
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      Preparation for later commits, no functional change intended.
      
      Part-of: <xorg/xserver!1300>
      fa7b1c20
    • Michel Dänzer's avatar
      xwayland: Add xwl_window::surface_window · 3a0fc268
      Michel Dänzer authored and Marge Bot's avatar Marge Bot committed
      It may track a non-toplevel window which fully covers the area of the
      window pixmap / Wayland surface. It is now used instead of
      xwl_window::toplevel for updating the Wayland surface contents.
      
      The surface_window can now hit the Present page flip path while it's
      automatically redirected.
      
      v2:
      * Use "surface_window" instead of "surf_win". (Olivier Fourdan)
      * Add comment describing surface_window, and describe what
        surface_window/toplevel are useful for respectively. (Olivier Fourdan)
      * Use surface_window in xwl_realize_window.
      v3:
      * Backtrack up to the closest opaque ancestor in
        xwl_window_update_surface_window. (Olivier Fourdan)
      v4:
      * Clean up logic for determining the surface window in
        xwl_window_update_surface_window, and document it better.
      * Handle window_get_damage(xwl_window->surface_window) returning NULL
        in xwl_window_update_surface_window.
      * Call xwl_window_update_surface_window after xwl_window_buffers_init
        in ensure_surface_for_window, since the former may call
        xwl_window_buffers_dispose.
      * Rename surf/win_pix to surface/window_pixmap in
        xwl_window_update_surface_window.
      
      Part-of: <xorg/xserver!1300>
      3a0fc268
Loading