Skip to content
Snippets Groups Projects
  1. Dec 09, 2022
    • Doğukan Korkmaztürk's avatar
      GLX: Free the tag of the old context later · 4781f2a5
      Doğukan Korkmaztürk authored and Olivier Fourdan's avatar Olivier Fourdan committed
      
      In CommonMakeCurrent() function, the tag of the old context is freed
      before the new context is made current. This is problematic because if
      the CommonMakeNewCurrent() function fails, the tag of the old context
      ends up being removed, even though it is still active. This causes
      subsequent glXMakeCurrent() or glXMakeContextCurrent() requests to
      generate a GLXBadContextTag error.
      
      This change moves the function call that frees the old tag to a location
      where the result of CommonMakeNewCurrent() call is known and it is safe
      to free it.
      
      Signed-off-by: Doğukan Korkmaztürk's avatarDoğukan Korkmaztürk <dkorkmazturk@nvidia.com>
      4781f2a5
  2. Dec 06, 2022
  3. Dec 01, 2022
  4. Nov 30, 2022
  5. Nov 28, 2022
  6. Nov 27, 2022
  7. Nov 24, 2022
  8. Nov 16, 2022
    • Shashank Sharma's avatar
      xf86: allow DDX driver for GPU/PCI hot-plug · 82bf391c
      Shashank Sharma authored and Shashank Sharma's avatar Shashank Sharma committed
      
      The current X server infrastructure sets modesetting driver as default driver
      to handle PCI-hotplug of a GPU device. This prevents the respective DDX driver
      (like AMDGPU DDX driver) to take control of the card.
      
      This patch:
      - Adds a few functions and fine-tunes the GPU hotplug infrastructure to allow
        the DDX driver to be loaded, if it is configured in the X config file
        options as "hotplug-driver".
      - Scans and updates the PCI device list before adding the new GPU device
        in platform, so that the association of the platform device and PCI device
        is in place (dev->pdev).
      - Adds documentation of this new option
      
      An example usage in the config file would look like:
      
      Section "OutputClass"
              Identifier "AMDgpu"
              MatchDriver "amdgpu"
              Driver "amdgpu"
      	HotplugDriver "amdgpu"
      EndSection
      
      V2:
      Fixed typo in commit message (Martin)
      Added R-B from Adam.
      Added ACK from Alex and Martin.
      
      V3:
      Added an output class based approach for finding the DDX driver (Aaron)
      Rebase
      
      V4:
      Addressed review comment from Aaron:
      GPU hot-plug handling driver's name to be read from the DDX config file options.
      In this way only the DDX drivers interested in handling GPU hot-plug will be
      picked and loaded, for others modesetting driver will be used as usual.
      
      V5:
      Addressed review comments from Aaron:
      - X config option to be listed in CamelCase.
      - Indentation fix at one place.
      - Code readability related optimization.
      
      V6:
      Addressed review comments from Aaron:
      - Squash the doc in the same patch
      - Doc formatting changes
      
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Suggested-by: Aaron Plattner aplattner@nvidia.com (v3)
      Acked-by: default avatarMartin Roukala <martin.roukala@mupuf.org(v1)>
      Acked-by: Alex Deucher alexander.deucher@amd.com (v1)
      Reviewed-by: default avatarAdam Jackson <ajax@redhat.com(v1)>
      Signed-off-by: default avatarShashank Sharma <shashank.sharma@amd.com>
      82bf391c
  9. Nov 05, 2022
    • pkubaj's avatar
      Fix build on FreeBSD/powerpc* · 8c54d590
      pkubaj authored and Alan Coopersmith's avatar Alan Coopersmith committed
      Current error:
      ld: error: undefined symbol: xf86EnableIO
      >>> referenced by xf86Configure.c
      >>>               libxorg_common.a.p/xf86Configure.c.o:(DoConfigure) in archive hw/xfree86/common/libxorg_common.a
      >>> referenced by xf86Events.c
      >>>               libxorg_common.a.p/xf86Events.c.o:(xf86VTEnter) in archive hw/xfree86/common/libxorg_common.a
      >>> referenced by xf86Init.c
      >>>               libxorg_common.a.p/xf86Init.c.o:(InitOutput) in archive hw/xfree86/common/libxorg_common.a
      >>> referenced 1 more times
      8c54d590
  10. Oct 28, 2022
  11. Oct 19, 2022
  12. Oct 18, 2022
  13. Sep 28, 2022
  14. Sep 20, 2022
  15. Sep 13, 2022
    • Olivier Fourdan's avatar
      xwayland: Prevent Xserver grabs with rootless · a77d95af
      Olivier Fourdan authored and Olivier Fourdan's avatar Olivier Fourdan committed
      
      Because of the design of most Wayland compositors, where the compositor
      is both a Wayland server and an X11 window manager, any X11 client
      issuing a server grab (i.e. XGrabServer()) can possibly hang the whole
      desktop when Xwayland is running rootless.
      
      This can happen with e.g. ImageMagick's import command with mutter.
      
      1. "import" is launched and issues an XServerGrab(),
      2. Xwayland restricts access to that "import" X11 client alone,
      3. mutter continues to process events until it needs to sync with
         Xwayland (there's variability in time before the hang occurs),
      4. When mutter does an XSync() (explicitly or implicitly through some
         other Xlib call), it will stop waiting for Xwayland to reply,
      5. Xwayland waits for the XServerGrab() to be released by import,
      6. "import" waits for a user input to release the XServerGrab(),
      7. mutter is stuck waiting on Xwayland and does not process input
         events...
      
      To prevent this, re-route the GrabServer/UngrabServer requests and
      pretend the grab works but actually does nothing at all for all clients
      but the X11 window manager (which can still issue X11 server grabs, at
      its own risks).
      
      Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
      Closes: https://bugzilla.redhat.com/1914021
      a77d95af
  16. Sep 12, 2022
    • Michel Dänzer's avatar
      dix: Skip more code in SetRootClip for ROOT_CLIP_INPUT_ONLY · f778b56a
      Michel Dänzer authored
      Despite e957a2e5 ("dix: Add hybrid full-size/empty-clip mode to
      SetRootClip"), I was still seeing all X11 client windows flashing when
      the root window size changes with rootless Xwayland (e.g. due to
      hotplugging a monitor).
      
      Skipping this code for ROOT_CLIP_INPUT_ONLY fixes the issue for me.
      f778b56a
  17. Sep 11, 2022
  18. Sep 09, 2022
    • Peter Harris's avatar
      os: Restore buffer when writing to network · 2ab70ded
      Peter Harris authored and Alan Coopersmith's avatar Alan Coopersmith committed
      
      The commit 9bf46610 "os: Immediately
      queue initial WriteToClient" effectively disables buffering (of all
      writes, not just the "initial" write), since the OS's network buffers
      will usually be large enough to hold whatever replies we have sent.
      
      This does improve performance when drawing over a Unix socket (I measure
      approximtely 10%, not the ~5x mentioned in that commit message, probably
      due to the large changes in this area since that commit), but it
      decreases performance when drawing over a network due to the additional
      TCP packets. This decrease is small (~10%) in most cases, but if the two
      machines have mismatched Nagle / tcp_delay settings it can cause
      XGetWindowAttributes to take 200ms (because it's composed of two
      requests, the 2nd of which might wait for the ack which is delayed).
      
      Avoid network slowdowns by making the immediate flush conditional on
      who->local.
      
      Signed-off-by: default avatarPeter Harris <pharris@opentext.com>
      2ab70ded
  19. Sep 08, 2022
  20. Sep 07, 2022
    • Maya Rashish's avatar
      Simplify auto device configuration for choosing wsfb, fbdev · 399cf127
      Maya Rashish authored and Alan Coopersmith's avatar Alan Coopersmith committed
      I wanted to simplify the logic, and thought this is a good opportunity
      to eliminate local diffs.
      
      I don't want to list OSes without wsfb, because I understand that is a
      netbsd/openbsd driver, and always have it as a fallback for us.
      
      Additionally, I understand "fbdev" is linux-specific, so have the logic
      match this intent.
      399cf127
    • Michel Dänzer's avatar
      ci: Check that all expected piglit results are there · 421e066e
      Michel Dänzer authored
      Without these, the build jobs would spuriously pass if some of the
      expected piglit tests didn't run at all.
      
      v2:
      * Use local variables instead of starting their names with underscores
        (Peter Hutterer)
      421e066e
  21. Sep 02, 2022
Loading