1
0
Fork 0
android_external_drm_hwcomp.../drm
Gil Dekel 9a76e062b6 Move EdidWrapper from DrmConnector to HwcDisplay
The EdidWrapper lifecycle was previously managed by DrmConnector,
meaning the EDID parser was initialized when the connector was created.
This approach fails for physical connectors where a display is not
attached at boot, as no EDID blob is available to parse.

When a display was subsequently hot-plugged, the system would fall back
to a generic EdidWrapper. This provided incorrect or default display
properties to userspace, causing critical bugs such as:

  * Incorrect DPI calculations, leading to improperly scaled UI in
    Android.
  * Inability to detect HDR capabilities or supported color modes.

This change moves the ownership and lifecycle management of the
EdidWrapper to HwcDisplay. By creating the parser only when a display is
actually connected, we ensure that the correct EDID is always parsed,
making hot-plug functionality work as intended.

Change-Id: I5e056e423bbac2b23a411395b4ce13ccd03c4b64
Signed-off-by: Gil Dekel <gildekel@google.com>
2025-10-06 13:44:31 -04:00
..
DrmAtomicStateManager.cpp drm_hwcomposer: Add buildflag guards around libsync deps 2025-10-02 15:06:06 +00:00
DrmAtomicStateManager.h drm_hwcomposer: Wait for next present fence earlier in present 2025-09-18 13:24:44 -06:00
DrmConnector.cpp Move EdidWrapper from DrmConnector to HwcDisplay 2025-10-06 13:44:31 -04:00
DrmConnector.h Move EdidWrapper from DrmConnector to HwcDisplay 2025-10-06 13:44:31 -04:00
DrmCrtc.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmCrtc.h drm_hwcomposer: Add drm object fakes for DrmDisplayPipelineTest 2025-10-02 15:06:19 +00:00
DrmDevice.cpp drm_hwcomposer: Cleanup includes for test target 2025-10-02 15:06:12 +00:00
DrmDevice.h drm_hwcomposer: Add drm object fakes for DrmDisplayPipelineTest 2025-10-02 15:06:19 +00:00
DrmDisplayPipeline.cpp drm_hwcomposer: Add PipelineBindable unit tests 2025-10-02 15:06:16 +00:00
DrmDisplayPipeline.h drm_hwcomposer: Add PipelineBindable unit tests 2025-10-02 15:06:16 +00:00
DrmDisplayPipelineTest.cpp drm_hwcomposer: Add GetUsablePlanes tests to DrmDisplayPipelineTest 2025-10-02 15:06:23 +00:00
DrmEncoder.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmEncoder.h drm_hwcomposer: Add drm object fakes for DrmDisplayPipelineTest 2025-10-02 15:06:19 +00:00
DrmFbImporter.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmFbImporter.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmHwc.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmHwc.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmMode.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmMode.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmPlane.cpp drm_hwcomposer: Preserve cursor scaling during commit 2025-09-11 13:17:00 +00:00
DrmPlane.h drm_hwcomposer: Add drm object fakes for DrmDisplayPipelineTest 2025-10-02 15:06:19 +00:00
DrmProperty.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmProperty.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
DrmUnique.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
meson.build drm_hwcomposer: Extract DrmHwc abstract base class 2024-08-12 12:27:10 -06:00
ResourceManager.cpp drm_hwcomposer: Clear connectors and CRTCs on Init 2025-09-18 15:00:19 -06:00
ResourceManager.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
UEventListener.cpp drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
UEventListener.h drm_hwcomposer: Migrate to android::drm_hwcomposer namespace 2025-09-08 18:53:00 +00:00
VSyncWorker.cpp drm_hwcomposer: Update VSyncWorker::last_timestamp_ on every present 2025-10-01 06:24:44 -06:00
VSyncWorker.h drm_hwcomposer: Update VSyncWorker::last_timestamp_ on every present 2025-10-01 06:24:44 -06:00