1. 01 Sep, 2020 1 commit
  2. 20 Aug, 2020 1 commit
  3. 19 Dec, 2019 1 commit
  4. 09 Dec, 2019 1 commit
    • Vincent Donnefort's avatar
      drm_hwcomposer: Add refcount for GEM handle · f67c365d
      Vincent Donnefort authored
      
      
      The linux kernel doesn't provide reference counting for the handle
      returned by FD_TO_HANDLE ioctl. It means that if the same Gralloc buffer
      is imported twice, the first GEM_CLOSE will destroy the handle even if it
      is still in use by another import.
      
      Remedy this issue by doing the reference counting directly in the DRM
      generic platform support: ImportHandle() will increase the reference,
      while ReleaseHandle() will decrease and close it, if necessary.
      Signed-off-by: Vincent Donnefort's avatarVincent Donnefort <vincent.donnefort@arm.com>
      f67c365d
  5. 27 Nov, 2019 1 commit
  6. 06 Nov, 2019 1 commit
  7. 11 Jul, 2019 1 commit
  8. 11 Jun, 2019 1 commit
  9. 07 Jun, 2019 1 commit
  10. 27 Nov, 2018 1 commit
  11. 31 Aug, 2018 3 commits
    • John Stultz's avatar
      drm_hwcomposer: Store pixel_stride in the hwc_drm_bo · a451483c
      John Stultz authored
      
      
      The new GraphicBufferMapper ImportBuffer takes a pixel_stride
      as an argument, so we need to caluclate that and store it in
      the hwc_drm_bo at import so we can use it here.
      
      I'd still welcome better ideas to calculate pixel_stride for
      generic drm importer.
      
      Change-Id: Iea2c483f3750dd5bed38740802b560911bc54ef2
      Signed-off-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
      ---
      v2:
      * Utilized pixel stride values already in some gralloc handle
        implementations
      * Fixed embarasing bit/byte math snafu (preserving bits per
        pixel since YUV conversions using bytes doesn't seem sane)
          - Extra review still would be appreciated here!
      v3:
      * Renamed to use Drm... instead of DRM...
      a451483c
    • John Stultz's avatar
      drm_hwcomposer: Store the HAL_PIXEL_FORMAT_* in the hwc_drm_bo · 616fb227
      John Stultz authored
      
      
      The new GraphicBufferMapper ImportBuffer takes a format
      as an argument, but I believe it wants the HAL_PIXEL_FORMAT_*
      and not the DRM_FORMAT value.
      
      So stash the HAL_PIXEL_FORMAT_* into the hwc_drm_bo so we
      can pass it along when needed.
      
      Change-Id: Id5b8e0d8c624e26c2c6307f85489665c88a9e75d
      Signed-off-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
      616fb227
    • John Stultz's avatar
      drm_hwcomposer: Add HWC_DRM_BO_MAX_PLANES constant · ee18b0e0
      John Stultz authored
      
      
      Add HWC_DRM_BO_MAX_PLANES to avoid open coded num_gem_handles
      calculations.
      
      Change-Id: Iebdaa67518e75f5b7f4445d92b97ca72e625c04b
      Signed-off-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
      ee18b0e0
  12. 27 Aug, 2018 1 commit
  13. 13 Jul, 2018 1 commit
  14. 14 Jun, 2018 1 commit
  15. 30 May, 2018 1 commit
    • Rob Herring's avatar
      drm_hwcomposer: Remove GL compositing support · af0d9756
      Rob Herring authored
      
      
      The GL based compositing adds alot of complexity and was only ever well
      tested on closed stacks. It also only supports GLES3.x and still relies
      on sw_sync timeline which is now a debugfs feature. Those are just the
      known issues.
      
      Removing the GL compositor means everything related to squashing layers
      and pre-compositing can be removed. The planner is left as it may be
      useful when adding back support for overlay planes. With this change,
      only a single plane is supported until ValidateDisplay learns to do
      atomic modesetting test for overlay planes.
      Tested-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: Rob Herring's avatarRob Herring <robh@kernel.org>
      af0d9756
  16. 27 Apr, 2018 1 commit
    • John Stultz's avatar
      drm_hwcomposer: Use log/log.h instead of cutils/log.h · 9057a6fc
      John Stultz authored
      
      
      When enabling Treble, Android builds are complaining about using
      cutils/log.h so instead use log/log.h
      
      Cc: Marissa Wall <marissaw@google.com>
      Cc: Sean Paul <seanpaul@google.com>
      Cc: Dmitry Shmidt <dimitrysh@google.com>
      Cc: Robert Foss <robert.foss@collabora.com>
      Cc: Matt Szczesiak <matt.szczesiak@arm.com>
      Cc: Liviu Dudau <Liviu.Dudau@arm.com>
      Cc: David Hanna <david.hanna11@gmail.com>
      Cc: Rob Herring <rob.herring@linaro.org>
      Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
      Cc: Alistair Strachan <astrachan@google.com>
      Signed-off-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
      9057a6fc
  17. 04 Apr, 2018 1 commit
  18. 09 Oct, 2017 1 commit
  19. 13 Apr, 2017 1 commit
  20. 16 May, 2016 1 commit
    • Sean Paul's avatar
      drm_hwcomposer: Introduce Planner interface · 4c4646e7
      Sean Paul authored
      
      
      This patch introduces a new Planner interface to the platform specific
      code. This new interface will allow for platform-specific plane provisioning
      decisions to cover various hardware quirks.
      
      Each platform must provide a Planner with one or more PlanStage steps. These
      stages are run in order and are used to move the given layers onto composition
      planes.
      
      There are two generic stages provided by the platform:
      - Protected: Places layers on dedicated planes
      - Greedy: Provisions as many layers to planes and sticks the rest in precomp
      
      There is also one platform-specific stage included:
      - ProtectedRotated: Places any protected & rotated layer on the primary plane
      
      BUG=b/28117135
      TEST=Tested on ryu with a variety of window layouts
      Signed-off-by: Sean Paul's avatarSean Paul <seanpaul@chromium.org>
      Change-Id: Ib6062ab4779166753afaf122450bb63126bf9161
      4c4646e7
  21. 10 May, 2016 4 commits
  22. 01 Apr, 2016 1 commit
  23. 04 Jun, 2015 1 commit
  24. 04 May, 2015 1 commit
  25. 26 Feb, 2015 1 commit
    • Lauri Peltonen's avatar
      drm_hwcomposer: Cache FB and gem in gralloc buffer · 77d6d7a9
      Lauri Peltonen authored
      Move drm fb object creation to the importer.
      
      In NV importer, use GRALLOC_MODULE_PERFORM_SET_IMPORTER_PRIVATE
      and GRALLOC_MODULE_PERFORM_GET_IMPORTER_PRIVATE to cache the hwc_drm_bo
      in the gralloc buffer.  This avoids the need to recreate fb objects
      again each frame, and also greatly simplifies managing the lifetime of
      the gem handles.
      
      The drm_gralloc importer does not support caching at this point.  In an
      attempt to keep it somewhat working, add hwc_import_bo_release function
      that hwc calls when it's ok to rm fb.  If hwc_import_bo_release returns
      true, then hwc will clean up gem handles as it did before.
      
      We should consider doing a follow-up patch that adds fb/gem caching to
      drm_gralloc importer also.  Then some of the code that is kept in this
      patch for backwards compatibility can be removed.
      
      Change-Id: I92857dcaddf8cea219ebc041e16ef76087a1b696
      Reviewed-on: https://chrome-internal-review.googlesource.com/200895
      
      Reviewed-by: Stéphane Marchesin's avatarStéphane Marchesin <marcheu@google.com>
      Commit-Queue: Stéphane Marchesin <marcheu@google.com>
      Tested-by: Stéphane Marchesin's avatarStéphane Marchesin <marcheu@google.com>
      77d6d7a9
  26. 09 Feb, 2015 1 commit
  27. 05 Feb, 2015 1 commit
  28. 04 Feb, 2015 1 commit