1. 13 Nov, 2018 2 commits
    • Stanislav Lisovskiy's avatar
      sna: Added AYUV format support for textured and sprite video adapters. · 746ab3bb
      Stanislav Lisovskiy authored and Chris Wilson's avatar Chris Wilson committed
      
      
      v2: Renamed DRM_FORMAT_XYUV to DRM_FORMAT_XYUV8888.
          Added comment about AYUV byte ordering in Gstreamer.
      
      v3: Removed sna_composite_op flags related change to the separate patch.
      
      v4: Fixed review comments, done code refactoring
      
      v5: Fixed following review comments:
          - Fixed comment in shader code for ayuv kernel.
          - Fixed naming to VIDEO_AYUV_BT601/BT709 for ayuv kernels.
          - Removed duplicate gen9_kernel parameter, left from previous patches
          - Added colorspace handling for new AYUV kernel
          - Fixed naming of sna_copy_packed_data_ayuv to sna_copy_ayuv_data
          - Started using standard bswap_32 function for byte swapping in sna_copy_ayuv_data
          - Removed redundant code in sna_copy_ayuv_data so that it looks more neat
          - Fixed XVIMAGE_AYUV structure initialization to contain proper byte sequence for GST
          - Fixed bogus comment about subsampling for DRM_FORMAT_XYUV8888
          - Fixed AYUV advertisement for all platforms
          - Removed unnecessary RGB888 declaration.
      
      v6:
          - Fixed surface format not to use alpha as supposed
          - Now doing byte swapping always during copy
          - Changed hack, required for GST to work to be at one place
          - Fixed invalid sampling values for XVIMAGE_AYUV
          - Fixed sprite format checking order and images_ayuv definition.
      
      v7:
          - Removed reverse_bytes bool parameter, now swapping bytes
            for XYUV unconditionally both for textured and sprite modes.
      
      v8:
          - Added gen9_images structure, in order to expose AYUV format to
            proper platforms.
      Signed-off-by: Stanislav Lisovskiy's avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
      Reviewed-by: Ville Syrjälä's avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      746ab3bb
    • Stanislav Lisovskiy's avatar
      sna/gen9+: Split out wm_kernel from the sna_composite_op flags · 3ef92c1f
      Stanislav Lisovskiy authored and Chris Wilson's avatar Chris Wilson committed
      
      
      With the extra video kernels we already ran out of bits in
      the flags. To tackle that let's just split out the
      wm_kernel to its own thing.
      Signed-off-by: Stanislav Lisovskiy's avatarStanislav Lisovskiy <stanislav.lisovskiy@intel.com>
      Reviewed-by: Ville Syrjälä's avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      3ef92c1f
  2. 22 Oct, 2018 5 commits
  3. 19 Oct, 2018 1 commit
  4. 06 Sep, 2018 1 commit
  5. 05 Sep, 2018 4 commits
  6. 09 Jun, 2018 2 commits
  7. 31 May, 2018 8 commits
  8. 12 May, 2018 1 commit
  9. 02 May, 2018 2 commits
  10. 24 Apr, 2018 2 commits
  11. 15 Apr, 2018 1 commit
  12. 13 Apr, 2018 1 commit
  13. 05 Apr, 2018 2 commits
  14. 04 Apr, 2018 2 commits
  15. 03 Apr, 2018 3 commits
    • Chris Wilson's avatar
      sna: Reorder vblank/flip event handling to avoid TearFree recursion · 12db28ab
      Chris Wilson authored
      TearFree wants to grab the most recently used scanout for rendering the
      next frame into. If the flip event was still pending, we would then
      query the drm event buffer for any pending completions, but this would
      proceed to execute all the other events before the flip events as well.
      Since we they were out of sequence, we pushed them into a buffer to
      execute afterwards, however we forgot the side effects of the flip
      handlers, for example see commit af36a4ab ("sna: Defer submission
      of the next shadow frame until halfway through") and that there may have
      been events read from drm into a local buffer inside sna_mode_wakeup()
      that haven't been processed yet.
      
      Eliminate the need for calling sna_mode_wakeup() by ensuring that all
      flip events have been completed first before handing the vblank
      callbacks and potential drawing, ensuring the correct ordering.
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=105720
      
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      12db28ab
    • Chris Wilson's avatar
      sna: Skip shadow redisplay if flips still pending · ca6a57d5
      Chris Wilson authored
      We shouldn't even be attempting to redisplay if there are flips pending,
      so exit early and expect to be called again after the pending flips
      complete. Exiting early avoids having to call sna_mode_wakeup() in what
      used to be a potentially recursive manner (see commit af36a4ab
      
      
      "sna: Defer submission of the next shadow frame until halfway through").
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      ca6a57d5
    • Chris Wilson's avatar
      sna: Report the move_to_gpu failed if the allocation failed · 0a8a8529
      Chris Wilson authored
      
      
      Do not try and workaround the failure by forcing the wait-for-flip as we
      may be inside a vblank handler already. Just report the move failed and
      expect the caller to skip the draw, fairly standard practice for
      allocation failure handling (stale output rather than crash).
      Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
      0a8a8529
  16. 01 Apr, 2018 2 commits
  17. 28 Mar, 2018 1 commit