Skip to content
Snippets Groups Projects
  1. Aug 27, 2018
    • Keith Packard's avatar
      present: Report owner window size in present configure notify events · dbce8128
      Keith Packard authored
      
      This ensures that present clients generate output suitable for the
      size of the presented area.
      
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      dbce8128
    • Keith Packard's avatar
      composite: 0.5. Window scaling and events · 769e6f43
      Keith Packard authored
      
      Output scaling:
      
       * Changes to mivaltree to reset window clip to owner window size
         instead of server window size when compositing
      
       * Allocate owner window size pixmap for composite pixmap
      
       * Paint scaled image for automatic compositing
      
       * Report owner window size in events to the window owner.
      
       * Scale exposure damage in compSetRedirectBorderClip from
         current size to owner size to make sure the correct parts of
         the window are repainted.
      
      Input scaling:
      
       * Change miSpriteTrace to scale cursor coordinates when transiting an
         owner-sized window. Do all computations in double to handle
         multiple such transitions without losing bits
      
       * Add ScaleRootCoordinate in events.c. This function takes a window
         and a root x/y and walks up the tree scaling each time there is an
         owner size set.
      
       * Use ScaleRootCoordinate in FixUpEventFromWindow.
      
       * Wrap event delivery in DeliverEvent in new
         SaveEventRootCoord/RestoreEventRootCoord functions so that
         different windows receiving the same event will all receive the
         correct coordinates.
      
      Composite events:
      
       * Deliver CompositePixmapNotify events from compSetPixmapVisitWindow
         so that applications will be notified each time the pixmap changes.
      
       * Deliver CompositeOwnerWindowSizeNotify events when owner window
         size is set.
      
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      769e6f43
  2. Aug 25, 2018
  3. Aug 09, 2018
  4. Aug 08, 2018
  5. Aug 02, 2018
  6. Jul 25, 2018
  7. Jul 19, 2018
  8. Jul 10, 2018
  9. Jul 03, 2018
  10. Jul 02, 2018
  11. Jul 01, 2018
  12. Jun 29, 2018
  13. Jun 28, 2018
  14. Jun 27, 2018
    • Thomas Hellstrom's avatar
      glamor: Work around GEM usage v2 · 9f02855e
      Thomas Hellstrom authored and Lyude Paul's avatar Lyude Paul committed
      
      KMS drivers are not required to support GEM. In particular, vmwgfx
      doesn't support flink and handles and names are identical.
      Getting a bo name should really be part of a lower level API, if needed,
      but in the mean time work around this by setting the name identical to
      the handle if GEM isn't supported.
      
      This fixes modesetting driver dri2 on vmwgfx.
      
      Reviewed-by: default avatarDeepak Rawat <drawat@vmware.com>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      9f02855e
    • Lyude Paul's avatar
      randr: Scream when creating a shared pixmap fails · dc90b1c3
      Lyude Paul authored
      
      This seems like a problem worth screaming about.
      
      Signed-off-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
      Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
      dc90b1c3
    • Lyude Paul's avatar
      glamor: Unbreak glamor_fd_from_pixmap() · 186a21c4
      Lyude Paul authored
      
      When support for allocating GBM BOs with modifiers was added,
      glamor_fd_from_pixmap() was changed so that it would return an error if
      it got a bo with modifiers set from glamor_fds_from_pixmap(). The
      problem is that on systems that support BOs with modifiers,
      glamor_fds_from_pixmap() will always return BOs with modifiers.
      
      This means that glamor_fd_from_pixmap() was broken entirely, which broke
      a number of other things including glamor_shareable_fd_from_pixmap(),
      which meant that modesetting using multiple GPUs with the modesetting
      DDX was also broken. Easy reproducer:
      
      - Find a laptop with DRI prime that has outputs connected to the
        dedicated GPU and integrated GPU
      - Try to enable one display on each using the modesetting DDX
      - Fail
      
      Since there isn't a way to ask for no modifiers from
      glamor_fds_from_pixmap, we create a shared _glamor_fds_from_pixmap()
      function used by both glamor_fds_from_pixmap() and
      glamor_fd_from_pixmap() that calls down to the appropriate
      glamor_egl_fd*_from_pixmap() function.
      
      Signed-off-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
      Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
      Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
      Fixes: c8c276c9 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
      186a21c4
    • Lyude Paul's avatar
      modesetting: Also disable CRTC in drmmode_output_disable() · c12f1bd4
      Lyude Paul authored and Keith Packard's avatar Keith Packard committed
      
      So, this did actually work on older kernels at one point in time,
      however it seems that this working was a result of some of the Linux
      kernel's atomic modesetting helpers not preserving the CRTC's enabled
      state in the right spots. This was fixed in:
      
      846c7dfc1193 ("drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2")
      
      As a result, atomic commits which simply disassociate a DRM connector
      with it's CRTC while leaving the CRTC in an enabled state aren't enough
      to disable the CRTC, and result in the atomic commit failing. This
      currently can cause issues with MST hotplugging where X will end up
      failing to disable the MST outputs after they've left the system. A
      simple reproducer:
      
      - Start up Xorg
      - Connect an MST hub with displays connected to it
      - Remove the hub
      - Now there should be CRTCs stuck on the orphaned MST connectors, and X
        won't be able to reclaim them.
      
      Signed-off-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
      Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
      Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
      c12f1bd4
    • Adam Jackson's avatar
      configure: Remove unused CONFIGFILE · 5a8b886a
      Adam Jackson authored and Keith Packard's avatar Keith Packard committed
      This isn't used for anything, which is just as well, because
      /etc/xorg.conf is not in fact a path xserver will try to use.
      
      Bugzilla: https://bugs.freedesktop.org/8890
      
      
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
      5a8b886a
Loading