1. 22 Feb, 2016 1 commit
    • Daniel Stone's avatar
      dix: Add hybrid full-size/empty-clip mode to SetRootClip · e957a2e5
      Daniel Stone authored
      216bdbc7 removed the SetRootClip call in the XWayland output-hotplug
      handler when running rootless (e.g. as a part of Weston/Mutter), since
      the root window has no storage, so generating exposures will result in
      writes to invalid memory.
      Unfortunately, preventing the segfault also breaks sprite confinement.
      SetRootClip updates winSize and borderSize for the root window, which
      when combined with RRScreenSizeChanged calling ScreenRestructured,
      generates a new sprite-confinment area to update it to the whole screen.
      Removing this call results in the window geometry being reported
      correctly, but winSize/borderSize never changing from their values at
      startup, i.e. out of sync with the root window geometry / screen
      information in the connection info / XRandR.
      This patch introduces a hybrid mode, where we update winSize and
      borderSize for the root window, enabling sprite confinement to work
      correctly, but keep the clip emptied so exposures are never generated.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Tested-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
  2. 21 Sep, 2015 1 commit
  3. 27 Apr, 2015 1 commit
  4. 21 Apr, 2015 1 commit
  5. 12 Nov, 2014 1 commit
  6. 22 Apr, 2014 1 commit
  7. 23 Jan, 2014 1 commit
  8. 12 Jan, 2014 1 commit
  9. 25 Jul, 2013 1 commit
    • Aaron Plattner's avatar
      xfree86: detach scanout pixmaps when detaching output GPUs · bdd1e22c
      Aaron Plattner authored
      Commit 8f4640bd fixed a bit of a
      chicken-and-egg problem by detaching GPU screens when their providers
      are destroyed, which happens before CloseScreen is called.  However,
      this created a new problem: the GPU screen tears down its RandR crtc
      objects during CloseScreen and if one of them is active, it tries to
      detach the scanout pixmap then.  This crashes because
      RRCrtcDetachScanoutPixmap tries to get the master screen's screen
      pixmap, but crtc->pScreen->current_master is already NULL at that
      It doesn't make sense for an unbound GPU screen to still be scanning
      out its former master screen's pixmap, so detach them first when the
      provider is destroyed.
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
  10. 30 Apr, 2013 1 commit
  11. 08 Apr, 2013 1 commit
  12. 01 Mar, 2013 1 commit
  13. 06 Aug, 2012 1 commit
  14. 11 Jul, 2012 1 commit
    • Maarten Lankhorst's avatar
      xfree86: Strip dangling pointers from desiredMode · deb08658
      Maarten Lankhorst authored
      Based on the original patch by Chris Wilson, which was a better fix than mine.
      We stash a copy of the desiredMode on the crtc so that we can restore it
      after a vt switch. This copy is a simple memcpy and so also stashes a
      references to the pointers contained within the desiredMode. Those
      pointers are freed the next time the outputs are probed and mode list
      rebuilt, resulting in us chasing those dangling pointers on the next
      mode switch.
      ==22787== Invalid read of size 1
      ==22787==    at 0x40293C2: __GI_strlen (in
      ==22787==    by 0x668F875: strdup (strdup.c:42)
      ==22787==    by 0x5DBA00: XNFstrdup (utils.c:1124)
      ==22787==    by 0x4D72ED: xf86DuplicateMode (xf86Modes.c:209)
      ==22787==    by 0x4CA848: xf86CrtcSetModeTransform (xf86Crtc.c:276)
      ==22787==    by 0x4D05B4: xf86SetDesiredModes (xf86Crtc.c:2677)
      ==22787==    by 0xA7479D0: sna_create_screen_resources
      ==22787==    by 0x4CB914: xf86CrtcCreateScreenResources (xf86Crtc.c:725)
      ==22787==    by 0x425498: main (main.c:216)
      ==22787==  Address 0x72c60e0 is 0 bytes inside a block of size 9 free'd
      ==22787==    at 0x4027AAE: free (in
      ==22787==    by 0x4A547E: xf86DeleteMode (xf86Mode.c:1984)
      ==22787==    by 0x4CD84F: xf86ProbeOutputModes (xf86Crtc.c:1578)
      ==22787==    by 0x4DC405: xf86RandR12GetInfo12 (xf86RandR12.c:1537)
      ==22787==    by 0x518119: RRGetInfo (rrinfo.c:202)
      ==22787==    by 0x51D997: rrGetScreenResources (rrscreen.c:335)
      ==22787==    by 0x51E0D0: ProcRRGetScreenResources (rrscreen.c:475)
      ==22787==    by 0x513852: ProcRRDispatch (randr.c:493)
      ==22787==    by 0x4346DB: Dispatch (dispatch.c:439)
      ==22787==    by 0x4256E4: main (main.c:287)
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Reported-by: zkabelac's avatarZdenek Kabelac <zdenek.kabelac@gmail.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36108Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
  15. 07 Jul, 2012 4 commits
  16. 06 Jul, 2012 1 commit
  17. 05 Jun, 2012 1 commit
  18. 21 May, 2012 3 commits
  19. 08 May, 2012 1 commit
    • James Cloos's avatar
      Fix RANDR’s gamma_to_ramp(). · afc153a5
      James Cloos authored
      In order to generate a 256-entry ramp in [0,65535] which covers the full
      range, one must mupliply eight-bit values not by 256 but rather by 257.
      Many years back – well before the RANDR extension was written, and
      before xorg@fdo – a similar bug fix was made to the DIX for converting
      client-supplied eight-bit color values into sixteen-bit values.
      Noticed by: Elle Stone and Graeme Gill.
      Signed-off-by: James Cloos's avatarJames Cloos <cloos@jhcloos.com>
  20. 21 Mar, 2012 1 commit
    • Keith Packard's avatar
      Introduce a consistent coding style · 9838b703
      Keith Packard authored
      This is strictly the application of the script 'x-indent-all.sh'
      from util/modular. Compared to the patch that Daniel posted in
      January, I've added a few indent flags:
      	-T PrivatePtr
      	-T pmWait
      	-T _X_EXPORT
      The typedefs were needed to make the output of sdksyms.sh match the
      previous output, otherwise, the code is formatted badly enough that
      sdksyms.sh generates incorrect output.
      The generated code was compared with the previous version and found to
      be essentially identical -- "assert" line numbers and BUILD_TIME were
      the only differences found.
      The comparison was done with this script:
      for dir in $dir1 $dir2; do
      	(cd $dir && find . -name '*.o' | while read file; do
      		dir=`dirname $file`
      		base=`basename $file .o`
      		objdump -d $file > $dump
      find $dir1 -name '*.dump' | while read dump; do
      	otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
      	diff -u $dump $otherdump
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
      Acked-by: Alan Coopersmith's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
  21. 13 Oct, 2011 1 commit
  22. 25 Apr, 2011 1 commit
  23. 28 Mar, 2011 1 commit
  24. 23 Feb, 2011 7 commits
  25. 22 Feb, 2011 1 commit
  26. 07 Dec, 2010 4 commits