Skip to content
Snippets Groups Projects
  1. Oct 27, 2021
  2. Mar 11, 2021
    • Jan Beich's avatar
      meson: hide C API if Xorg is disabled (like autotools) · 376eaadd
      Jan Beich authored and Peter Hutterer's avatar Peter Hutterer committed
      
      When building only Xwayland using Meson some files are always installed.
      This causes package conflict if Xwayland is built separately from Xorg.
      
        include/xorg/compositeext.h
        include/xorg/damage.h
        include/xorg/damagestr.h
        include/xorg/dbestruct.h
        include/xorg/dri3.h
        include/xorg/fb.h
        include/xorg/fboverlay.h
        include/xorg/fbpict.h
        include/xorg/fbrop.h
        include/xorg/geext.h
        include/xorg/geint.h
        include/xorg/glyphstr.h
        include/xorg/mi.h
        include/xorg/micmap.h
        include/xorg/micoord.h
        include/xorg/migc.h
        include/xorg/miline.h
        include/xorg/mioverlay.h
        include/xorg/mipict.h
        include/xorg/mipointer.h
        include/xorg/mipointrst.h
        include/xorg/mistruct.h
        include/xorg/misync.h
        include/xorg/misyncfd.h
        include/xorg/misyncshm.h
        include/xorg/misyncstr.h
        include/xorg/mizerarc.h
        include/xorg/panoramiX.h
        include/xorg/panoramiXsrv.h
        include/xorg/picture.h
        include/xorg/picturestr.h
        include/xorg/present.h
        include/xorg/presentext.h
        include/xorg/randrstr.h
        include/xorg/rrtransform.h
        include/xorg/shadow.h
        include/xorg/shmint.h
        include/xorg/syncsdk.h
        include/xorg/vndserver.h
        include/xorg/wfbrename.h
        include/xorg/xace.h
        include/xorg/xacestr.h
        include/xorg/xorg-server.h
        include/xorg/xvdix.h
        include/xorg/xvmcext.h
        share/aclocal/xorg-server.m4
      
      Reviewed-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
      376eaadd
  3. Jul 05, 2020
  4. Oct 30, 2019
  5. Aug 15, 2019
    • Adam Jackson's avatar
      composite: Be more paranoid in compDestroyDamage · 5096fcd4
      Adam Jackson authored and Adam Jackson's avatar Adam Jackson committed
      Consider these two facts:
      
      - You can't rely on resource deletion order
      - damageDestroyWindow automatically destroys any damage listener
        connected to the doomed window
      
      Now consider a redirected window being destroyed. If the damage
      associated with the redirection is destroyed before the window, then
      when compFreeClientWindow tries to unredirect the window, the call to
      compSetParentPixmap may see that cw->damageRegistered is still true, and
      call DamageUnregister(NULL) (because compDestroyDamage already zeroed
      out cw->damage), and you get a backtrace that looks like:
      
          #6  <signal handler called>
          #7  DamageUnregister (pDamage=0x0) at damage.c:1773   <-----------------
          #8  0x000000000051f767 in compSetParentPixmap (pWin=pWin@entry=0x28489c0) at compalloc.c:646
          #9  0x000000000051fa01 in compFreeClientWindow (pWin=0x28489c0, id=<optimized out>) at compalloc.c:291
          #10 0x000000000051a499 in FreeCompositeClientWindow (value=<optimized out>, ccwid=<optimized out>) at compext.c:74
          #11 0x0000000000597932 in doFreeResource (res=0x28494c0, skip=0) at resource.c:880
          #12 0x000000000059850e in FreeResource (id=857, skipDeleteFuncType=skipDeleteFuncType@entry=0) at resource.c:910
          #13 0x000000000051ee01 in compUnredirectWindow (pClient=0x1f6b4e0, pWin=pWin@entry=0x28489c0, update=update@entry=0) at compalloc.c:336
          #14 0x000000000051b723 in compCheckBackingStore (pWin=0x28489c0) at compinit.c:131
          #15 compChangeWindowAttributes (pWin=0x28489c0, mask=<optimized out>) at compinit.c:152
          #16 0x000000000051d1f9 in compDestroyWindow (pWin=0x28489c0) at compwindow.c:664
          #17 0x00000000004d85be in damageDestroyWindow (pWindow=0x28489c0) at damage.c:1570
          #18 0x00000000004896f0 in DbeDestroyWindow (pWin=0x28489c0) at dbe.c:1326
          #19 0x00000000004d229e in present_destroy_window (window=0x28489c0) at present_screen.c:163
          #20 0x000000000059c4e4 in FreeWindowResources (pWin=pWin@entry=0x28489c0) at window.c:1032
          #21 0x000000000059f2c6 in DeleteWindow (value=0x28489c0, wid=<optimized out>) at window.c:1101
          #22 0x0000000000597932 in doFreeResource (res=0x2843bd0, skip=skip@entry=0) at resource.c:880
          #23 0x0000000000598b0c in FreeClientResources (client=client@entry=0x2848560) at resource.c:1146
          #24 0x0000000000572e2f in CloseDownClient (client=0x2848560) at dispatch.c:3473
      
      Fix this by zeroing out more of the CompWindowPtr when the damage is
      destroyed, so that any further calls into composite will avoid touching
      cw->damage.
      5096fcd4
  6. May 02, 2019
    • Adam Richter's avatar
      assert(a && b) --> assert(a); assert(b) · 9d25408a
      Adam Richter authored
      Separate each statement of the form "assert(a && b);" into "assert(a);"
      and "assert(b);" for more precise diagnostics, except for this clever
      use in drmmode_display.c where it was used to pass a hint to developers:
      
      	assert(num_infos <= 32 && "update return type");
      9d25408a
  7. Apr 12, 2019
  8. Oct 03, 2018
    • Pierre Ossman (Work account)'s avatar
      Switch automatic composite update to WorkQueue · 1bd5d0a5
      Pierre Ossman (Work account) authored
      It is currently (ab)using the screen BlockHandler callback to do
      this. But this can cause problems with other extension as their
      block handlers might have executed before Composite's. And the
      operations Composite does might result in them wanting to change
      timeouts.
      
      Practically this caused problems for TigerVNC's VNC extension which
      failed to send out updates for Composite's screen updates.
      1bd5d0a5
  9. Apr 02, 2018
  10. Feb 23, 2018
  11. Jan 24, 2018
  12. Oct 30, 2017
  13. Aug 11, 2017
  14. Apr 26, 2017
    • Emma Anholt's avatar
      Add a Meson build system alongside autotools. · 1549e303
      Emma Anholt authored
      
      This is a work in progress that builds Xvfb, Xephyr, Xwayland, Xnest,
      and Xdmx so far.  The outline of Xquartz/Xwin support is in tree, but
      hasn't been built yet.  The unit tests are also not done.
      
      The intent is to build this as a complete replacement for the
      autotools system, then eventually replace autotools.  meson is faster
      to generate the build, faster to run the bulid, shorter to write the
      build files in, and less error-prone than autotools.
      
      v2: Fix indentation nits, move version declaration to project(), use
          existing meson_options for version-config.h's vendor name/web.
      
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Acked-by: default avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
      1549e303
  15. Mar 01, 2017
  16. Jan 25, 2017
  17. Dec 07, 2016
    • Adam Jackson's avatar
      composite: Fix repaint of borders (v2) · f3187551
      Adam Jackson authored
      When going from border width zero to a non-zero border width, the
      Composite extension is informed via the ConfigNotify callback. The
      call-chain looks like this: compConfigNotify -> compReallocPixmap ->
      compSetPixmap -> TraverseTree -> compSetPixmapVisitWindow. However, at
      this time, pWindow->borderWidth was not yet updated. Thus, HasBorder()
      is false and the window border will not be repainted.
      
      To fix this, thread the new bw through to the window visitor, and
      inspect that rather than HasBorder(). For the other callers of
      compSetPixmap the border does not change size, so we can pass
      pWin->borderWidth instead.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98499
      
      
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
      f3187551
  18. Jul 18, 2016
  19. Jun 21, 2016
    • Adam Jackson's avatar
      res: Fix accounting of redirected window pixmaps for Composite · 5d6ad0d3
      Adam Jackson authored
      
      The previous change removed the special case that matched resources of
      CompositeClientWindowType and walked back from that to the window
      pixmap. That was intentional, since that logic was broken anyway. CCWTs
      don't map 1:1 to references on the backing pixmap; a window redirected
      by multiple clients (say, by the server since it's on the synthetic
      visual, and then manually by a compositor) would have a window pixmap
      refcount of 1, but would have those bytes accounted twice.
      
      The right thing is to have Composite wrap window accounting, and add the
      pixmap bytes once and only once for the redirection reference.
      
      Note that the view from the client can still be non-intuitive in the
      face of Composite.  xcompmgr, for example, holds _two_ references to
      each window pixmap (one each from CompositeNameWindowPixmap and
      RenderCreatePicture), so a synthetic-visual window will have its bytes
      split 2/3 to xcompmgr and 1/3 to the server-client.  Nothing to be done
      about that, and at least this way we're not over-accounting.
      
      Acked-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      5d6ad0d3
  20. May 11, 2016
  21. Sep 24, 2015
  22. Jul 08, 2015
  23. Apr 21, 2015
  24. Nov 12, 2014
  25. Oct 28, 2014
  26. Oct 27, 2014
  27. Oct 09, 2014
  28. Apr 22, 2014
  29. Apr 03, 2014
  30. Apr 01, 2014
    • Kristian Høgsberg's avatar
      composite: Add exception mechanism for implicit redirection policy · 4ba7b594
      Kristian Høgsberg authored
      
      Normally composite will decide to add implicit redirection when a
      window with an alternate visual is a parent of a window with a regular
      visual or vice versa.  This uses extra pixmap memory and incurs an extra
      copy.  This exception mechanism provides a way for a DDX to override this
      if the DDX knows that its acceleration architecture will render correctly.
      
      The relevant case is that of an RGB window reparented into a ARGB parent
      frame window.  If the DDX knows that the acceleration architecture in use
      will pad the alpha channel to opaque when rendering to the RGB window,
      the implicit redirection can be avoided.
      
      This patch adds a new composite function:
      
        CompositeRegisterImplicitRedirectionException()
      
      which lets a DDX register a pair of parent and child window visuals, that
      will not be implicitly redirected even if the normal policy would have
      made that choice.
      
      Signed-off-by: default avatarKristian Høgsberg <krh@bitplanet.net>
      Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
      4ba7b594
  31. Jan 23, 2014
  32. Jan 12, 2014
  33. Dec 09, 2013
Loading