1. 09 Mar, 2016 1 commit
  2. 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>
      e957a2e5
  3. 23 Sep, 2015 1 commit
  4. 21 Sep, 2015 1 commit
  5. 08 Jul, 2015 1 commit
    • Dave Airlie's avatar
      prime: add rotation support for offloaded outputs (v2) · 90db5edf
      Dave Airlie authored
      One of the lacking features with output offloading was
      that screen rotation didn't work at all.
      
      This patch makes 0/90/180/270 rotation work with USB output
      and GPU outputs.
      
      When it allocates the shared pixmap it allocates it rotated,
      and any updates to the shared pixmap are done using a composite
      path that does the rotation. The slave GPU then doesn't need
      to know about the rotation and just displays the pixmap.
      
      v2:
      rewrite the sync dirty helper to use the dst pixmap, and
      avoid any strange hobbits and rotations.
      
      This breaks ABI in two places.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      90db5edf
  6. 30 Jun, 2015 2 commits
  7. 07 May, 2015 1 commit
  8. 27 Apr, 2015 3 commits
  9. 21 Apr, 2015 1 commit
  10. 31 Mar, 2015 1 commit
  11. 12 Nov, 2014 1 commit
  12. 26 Sep, 2014 1 commit
  13. 31 Jul, 2014 1 commit
  14. 29 Jul, 2014 1 commit
  15. 17 Jul, 2014 2 commits
    • Keith Packard's avatar
      hw/xfree86: Let xf86Rotate leave the BlockHandler unwrapped when possible · 3319e704
      Keith Packard authored
      When no shadow frame buffer is needed, the rotate block handler
      doesn't need to be called any more. Remove it from the chain.
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      3319e704
    • Keith Packard's avatar
      hw/xfree86: Fix block handler wrapping in xf86Rotate · 08fc3304
      Keith Packard authored
      xf86Rotate, it was delaying unwrapping the BlockHandler until after
      calling xf86RotateRedisplay. If there was a software cursor on the
      screen, the redisplay operation would cause cursor to be removed from
      the frame buffer and the misprite block handler to be inserted into
      the block handler chain with the misprite screen private saved block
      handler now set to xf86RotateBlockHandler.
      
      When xf86RotateRedisplay returned, xf86RotateBlockHandler would then
      set screen->BlockHandler to its saved value, call down and then reset
      screen->BlockHandler to xf86RotateBlockHandler. miSpriteBlockHandler
      would never be called after that, which meant that the software cursor
      will now disappear from the screen whenever rendering overlapped and
      would only reappear when the cursor was moved.
      
      To correct this, all that is needed is to move the restoration of
      screen->BlockHandler to the top of xf86RotateBlockHandler, before the
      call to xf86RotateRedisplay.
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      08fc3304
  16. 25 Apr, 2014 1 commit
  17. 22 Apr, 2014 1 commit
  18. 03 Apr, 2014 1 commit
  19. 31 Jan, 2014 1 commit
  20. 23 Jan, 2014 1 commit
  21. 12 Jan, 2014 2 commits
  22. 07 Jan, 2014 1 commit
    • Damien Lespiau's avatar
      xfree86: Use the TMDS maximum frequency to prune modes · d6c8d750
      Damien Lespiau authored
      Instead of only relying on the Range section, we can do better on
      HDMI to find out what is the max dot clock the monitor supports. The
      HDMI CEA vendor block adds a TMDS max freq we can use.
      
      This makes X not prune 4k resolutions on HDMI.
      
      v2: Replace X_INFO by X_PROBED in the message that prints the max
          TMDS frequency (Chris Wilson)
      
      Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
      Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      d6c8d750
  23. 14 Nov, 2013 1 commit
  24. 01 Nov, 2013 1 commit
  25. 10 Sep, 2013 1 commit
  26. 06 Aug, 2013 1 commit
  27. 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
      point.
      
      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>
      bdd1e22c
  28. 15 May, 2013 1 commit
  29. 05 May, 2013 1 commit
  30. 30 Apr, 2013 2 commits
  31. 29 Apr, 2013 1 commit
  32. 24 Apr, 2013 1 commit
  33. 08 Apr, 2013 1 commit
  34. 26 Mar, 2013 1 commit