1. 03 Mar, 2021 8 commits
  2. 01 Mar, 2021 1 commit
  3. 11 Feb, 2021 1 commit
  4. 30 Jan, 2021 2 commits
  5. 16 Jan, 2021 2 commits
  6. 13 Jan, 2021 1 commit
  7. 03 Dec, 2020 1 commit
  8. 03 Nov, 2020 1 commit
  9. 02 Nov, 2020 2 commits
  10. 31 Oct, 2020 1 commit
    • Roman Stratiienko's avatar
      drm_hwcomposer: stop using pixel_stride · add24cb7
      Roman Stratiienko authored
      
      
      pixel_stride is used only to validate buffer when importing using
      GraphicBufferMapper::importBuffer() method.
      
      The problem is we can't always get this value from buffer_handle_t.
      Libdrm and MapperMetadata getters can only calculate this value based
      on byte stride and buffer format. But this calculation isn't always
      possible, which causes importBuffer() to fail.
      
      Instead we can use GrallocMapper::importBuffer() method,
      which doesn't require to validate the buffer.
      
      This commit is not compatible with Android-P.
      
      Signed-off-by: Roman Stratiienko's avatarRoman Stratiienko <r.stratiienko@gmail.com>
      add24cb7
  11. 22 Oct, 2020 1 commit
  12. 20 Oct, 2020 1 commit
    • Roman Stratiienko's avatar
      drm_hwcomposer: refactor platform directory · b2e9fe23
      Roman Stratiienko authored
      
      
      Motivation:
      
      Platform term meaning used in drm_hwcomposer does not correspond to the
      content of the platform directory. Platform directory consists of:
      1. Buffer information getters for different gralloc (currently called platform).
      2. Composition planner logic (which has flaws and should be reworked into
         layer->plane mapping during validation stage logic).
      3. DrmGenericImpoter with reference counting logic.
      
      Android-11 IMapper@4 metadata API offers a generic way to access buffer
      information which makes other gralloc buffer information getters obsolete.
      Legacy getters should be maintained for some time until all known users
      will migrate to Mapper@4 API.
      
      Implementation:
      
      1. Split 'PlatformImporter' logic to 'Importer' only and 'Buffer Getter' logic.
         a. Remove buffer_handle_t parameter from ImportBuffer(). Instead user should
            get BufferInfo using ConvertBoInfo to struct hwc_drm_bo_t, then use it for
            ImportBuffer().
         b. Move DrmGenericImporter.{cpp/h} into the drm directory.
      
      2. Isolate planner code in single file and move it to compositor directory as
         compositor/Planner.{cpp/h}
      
      3. Rename platform definition
         a. Rename platform directory to bufferinfo.
         b. Rename/move bufferinfo/platorm*.{cpp,h} getters to
            bufferinfo/legacy/BufferInfo*.{cpp,h}. Align class names/includes.
      
      4. Split legacy/metadata getters logic.
         a. Apply existing bufferinfogetter base class only for legacy getters.
         b. Combine legacy/generic gettera under new base class.
         c. Create a placeholder for generic(metadata) getter.
      
      Signed-off-by: Roman Stratiienko's avatarRoman Stratiienko <r.stratiienko@gmail.com>
      b2e9fe23
  13. 07 Oct, 2020 1 commit
  14. 04 Oct, 2020 1 commit
  15. 03 Oct, 2020 1 commit
  16. 28 Sep, 2020 1 commit
    • Roman Stratiienko's avatar
      drm_hwcomposer: Fix RegisterCallback() function · 2370109a
      Roman Stratiienko authored
      
      
      - Fixes segfault during client switch.
      - Allows to run VTS on Android-11.
      
      VTS Results:
      ============================================
          arm64-v8a VtsHalGraphicsComposerV2_1TargetTest: [53 tests / 42808 msec]
          armeabi-v7a VtsHalGraphicsComposerV2_1TargetTest: [53 tests / 33353 msec]
      =============== Summary ===============
      2/2 modules completed
      Total Tests       : 106
      PASSED            : 106
      FAILED            : 0
      ============================================
      
      Signed-off-by: Roman Stratiienko's avatarRoman Stratiienko <r.stratiienko@gmail.com>
      2370109a
  17. 26 Sep, 2020 1 commit
  18. 25 Sep, 2020 3 commits
  19. 24 Sep, 2020 1 commit
  20. 23 Sep, 2020 1 commit
    • Mattijs Korpershoek's avatar
      drm_hwcomposer: Add MediaTek platform support · 5284c7e9
      Mattijs Korpershoek authored
      This platform handler is dedicated for the i500 MediaTek SoC [1].
      i500 has a Mali-G72 MP3 GPU.
      
      OpenGL/Mali integration is based on ARM Gralloc module, version
      BX304L01B-SW-99005-r20p0-01rel0, without additional patches.
      
      This platformmediatek is based on platformmeson, without the additional
      usage flag in the private_handle_t.
      AFBC support has also been removed as it's unsupported.
      
      External Android.bp file should be created in order to build this
      module:
      
      ```
      cc_library_shared {
          name: "hwcomposer.drm_mediatek",
          defaults: ["hwcomposer.drm_defaults"],
          srcs: [":drm_hwcomposer_platformmediatek"],
          whole_static_libs: ["drm_hwcomposer"],
      }
      ```
      
      [1] https://www.mediatek.com/products/AIoT/i500
      
      
      Change-Id: I3ea7a980d76ba5c5ff583b5d4f21e1989875bafb
      Signed-off-by: Mattijs Korpershoek's avatarMattijs Korpershoek <mkorpershoek@baylibre.com>
      5284c7e9
  21. 12 Sep, 2020 2 commits
  22. 11 Sep, 2020 1 commit
  23. 08 Sep, 2020 2 commits
  24. 01 Sep, 2020 2 commits
  25. 26 Aug, 2020 1 commit
    • Matvii Zorin's avatar
      drm_hwcomposer: Add rcar-du display backend · 51a0e0d3
      Matvii Zorin authored
      
      
      ABGR8888 pixel format and layer scaling are unsupported for rcar-du
      platform.
      
      Handle and filter out the layers by overriding the IsClientLayer method
      for additional checks. That will force layers that require scaling or have
      the unsupported pixel format to be merged by GPU, and allow other layers
      to be merged by DRM.
      
      Signed-off-by: Matvii Zorin's avatarMatvii Zorin <matvii.zorin@globallogic.com>
      51a0e0d3