1. 21 Jan, 2019 1 commit
    • Mario Kleiner's avatar
      sna/uxa: Fix colormap handling at screen depth 30. (v2) · 33ee0c3b
      Mario Kleiner authored and Chris Wilson's avatar Chris Wilson committed
      
      
      The various clut handling functions like a setup
      consistent with the x-screen color depth. Otherwise
      we observe improper sampling in the gamma tables
      at depth 30.
      
      Therefore replace hard-coded bitsPerRGB = 8 by actual
      bits per channel scrn->rgbBits. Also use this for call
      to xf86HandleColormaps().
      
      Tested for uxa and sna at depths 8, 16, 24 and 30 on
      IvyBridge, and tested at depth 24 and 30 that xgamma
      and gamma table animations work, and with measurement
      equipment to make sure identity gamma ramps actually
      are identity mappings at the output.
      
      v2: Also deal with X-Server 1.19 and earlier, which as of
          v1.19.6 lack a fix to color palette handling and can
          not deal with depths/bpc > 24/8 bpc. On < 1.20 we skip
          xf86HandleColormaps() setup at > 8 bpc. This disables
          color palette handling on such servers at > 8 bpc, but
          still keeps RandR gamma table handling intact.
      
          Tested on 1.19.6 and 1.20.0 to do the right thing.
      Signed-off-by: Mario Kleiner's avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Reviewed-by: Ville Syrjälä's avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      33ee0c3b
  2. 10 Jan, 2019 2 commits
  3. 03 Dec, 2018 1 commit
  4. 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
  5. 22 Oct, 2018 5 commits
  6. 19 Oct, 2018 1 commit
  7. 06 Sep, 2018 1 commit
  8. 05 Sep, 2018 4 commits
  9. 09 Jun, 2018 2 commits
  10. 31 May, 2018 8 commits
  11. 12 May, 2018 1 commit
  12. 02 May, 2018 2 commits
  13. 24 Apr, 2018 2 commits
  14. 15 Apr, 2018 1 commit
  15. 13 Apr, 2018 1 commit
  16. 05 Apr, 2018 2 commits
  17. 04 Apr, 2018 2 commits
  18. 03 Apr, 2018 2 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