Skip to content
Snippets Groups Projects
  1. Aug 09, 2018
  2. Aug 02, 2018
  3. Jul 25, 2018
  4. Jul 10, 2018
  5. Jul 03, 2018
  6. Jul 02, 2018
  7. Jun 29, 2018
  8. Jun 28, 2018
  9. Jun 27, 2018
    • 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
    • Olivier Fourdan's avatar
      modesetting: use drmmode_bo_import() for rotate_fb · a85e94a5
      Olivier Fourdan authored and Keith Packard's avatar Keith Packard committed
      drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if
      the format is not as expected, preventing from using a rotated output.
      
      Change it to use the new function drmmode_bo_import() which takes care
      of calling the drmModeAddFB2() API.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715
      
      
      Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
      Tested-by: default avatarTomas Pelka <tpelka@redhat.com>
      Reviewed-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
      a85e94a5
  10. Jun 21, 2018
  11. Jun 17, 2018
Loading