[platforms/drm] Refactor out Edid class
ClosedPublic

Authored by zzag on Jul 2 2019, 11:41 AM.

Details

Summary

The new class is responsible for parsing EDID blobs. It has pretty
straightforward API: you hand blob data to the constructor and after
that you're ready to query parsed data, e.g. physical size, etc.

The main reason to extract EDID parsing code into a class is to clean up
drm_output.cpp a bit.

Test Plan

Compiles, the DRM platform still works.

Diff Detail

Repository
R108 KWin
Branch
refactor-edid
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 13513
Build 13531: arc lint + arc unit
zzag created this revision.Jul 2 2019, 11:41 AM
Restricted Application added a project: KWin. · View Herald TranscriptJul 2 2019, 11:41 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Jul 2 2019, 11:41 AM
davidedmundson added inline comments.
plugins/platforms/drm/drm_output.cpp
382

If we hit this return with this patch m_edid changes from being merely invalid to being null. Something we don't guard for.

zzag added inline comments.Jul 2 2019, 3:02 PM
plugins/platforms/drm/drm_output.cpp
382

Yeah... Are there actually drivers that do not expose EDID property?

Just to be sure I'll add default constructor to EDID class.

zzag updated this revision to Diff 61011.Jul 2 2019, 3:06 PM

klerhjklsdfmggbieomgoe

davidedmundson accepted this revision.Jul 2 2019, 3:09 PM
This revision is now accepted and ready to land.Jul 2 2019, 3:09 PM
This revision was automatically updated to reflect the committed changes.