[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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
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
381

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
381

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.