drm_hwcomposer: Tweak mode selection to pick the first DRM_MODE_TYPE_PREFERRED mode

With commit 1b1e35eb ("drm_hwcomposer: Chose preferred mode with
type DRM_MODE_TYPE_PREFERRED"), we now pick a preferred mode
rather then just the first mode to use.

However, on some systems there may erroniously be multiple modes
marked as DRM_MODE_TYPE_PREFERRED. In this case, the logic added
in that commit ends up selecting the *last* preferred mode.

This seems less likely to be the desired choice, compared to
what we had before (which picked first mode provided).

So this patch alters the selection logic to only use the first
DRM_MODE_TYPE_PREFERRED mode found, rather than the last.

Change-Id: Ieb3e5d946b96099f14c1c5a287ca8113360a39d1
Signed-off-by: John Stultz <john.stultz@linaro.org>
1 file changed
tree: 0044474e6fbccb3da58d3f3d98caade740746f71
  1. tests/
  2. .clang-format
  3. .gitlab-ci-checkcommit.sh
  4. .gitlab-ci.yml
  5. Android.mk
  6. autofd.h
  7. autolock.cpp
  8. autolock.h
  9. drmconnector.cpp
  10. drmconnector.h
  11. drmcrtc.cpp
  12. drmcrtc.h
  13. drmdevice.cpp
  14. drmdevice.h
  15. drmdisplaycomposition.cpp
  16. drmdisplaycomposition.h
  17. drmdisplaycompositor.cpp
  18. drmdisplaycompositor.h
  19. drmencoder.cpp
  20. drmencoder.h
  21. drmeventlistener.cpp
  22. drmeventlistener.h
  23. drmframebuffer.h
  24. drmhwcgralloc.h
  25. drmhwcomposer.h
  26. drmhwctwo.cpp
  27. drmhwctwo.h
  28. drmmode.cpp
  29. drmmode.h
  30. drmplane.cpp
  31. drmplane.h
  32. drmproperty.cpp
  33. drmproperty.h
  34. hwcutils.cpp
  35. MODULE_LICENSE_APACHE2
  36. NOTICE
  37. platform.cpp
  38. platform.h
  39. platformdrmgeneric.cpp
  40. platformdrmgeneric.h
  41. platformhisi.cpp
  42. platformhisi.h
  43. platformminigbm.cpp
  44. platformminigbm.h
  45. README.md
  46. resourcemanager.cpp
  47. resourcemanager.h
  48. vsyncworker.cpp
  49. vsyncworker.h
  50. worker.cpp
  51. worker.h
README.md

drm_hwcomposer

Patches to drm_hwcomposer are very much welcome, we really want this to be the universal HW composer implementation for Android and similar platforms So please bring on porting patches, bugfixes, improvements for documentation and new features.

A short list of contribution guidelines:

  • Submit changes via gitlab merge requests on gitlab.freedesktop.org

  • drm_hwcomposer is Apache 2.0 Licensed and we require contributions to follow the developer's certificate of origin: http://developercertificate.org/

  • When submitting new code please follow the naming conventions documented in the generated documentation. Also please make full use of all the helpers and convenience macros provided by drm_hwcomposer. The below command can help you with formatting of your patches:

    `git diff | clang-format-diff-5.0 -p 1 -style=file`
    
  • Hardware specific changes should be tested on relevant platforms before committing.

If you need inspiration, please checkout our TODO issues

Happy hacking!