-
Notifications
You must be signed in to change notification settings - Fork 26
enable hdr #135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: celadon/a16/master
Are you sure you want to change the base?
enable hdr #135
Conversation
323e4e8 to
e6d603c
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
|
SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
e6d603c to
6c7eeab
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
|
FAILURE: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
utils/LibdisplayEdidWrapper.cpp
Outdated
| ALOGI(" red %f %f" ,primaries[0].x, primaries[0].y); | ||
| ALOGI(" grean %f %f" ,primaries[1].x, primaries[1].y); | ||
| ALOGI(" blue %f %f" ,primaries[2].x, primaries[2].y); | ||
| ALOGI(" write %f %f" ,whitepoint.x, whitepoint.y); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there typo? write -> white
| ALOGI(" red %f %f" ,primaries[0].x, primaries[0].y); | ||
| ALOGI(" grean %f %f" ,primaries[1].x, primaries[1].y); | ||
| ALOGI(" blue %f %f" ,primaries[2].x, primaries[2].y); | ||
| ALOGI(" write %f %f" ,whitepoint.x, whitepoint.y); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there typo? write -> white
feijiang1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need split this pr into two different commits, one focus one normal HDR display support, another for H3C monitor.
6c7eeab to
0fd655f
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
|
SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
0fd655f to
a49e55f
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
|
SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
Enable High Dynamic Range (HDR) display support in the DRM hardware composer. The feature is controlled via the new runtime property vendor.hwc.drm.enable_hdr_display (default: false). When enabled, the implementation leverages EDID parsing through the libdisplay_info library to dynamically enumerate HDR capabilities, color modes, and output metadata. Key changes include: Integration of libdisplay_info for EDID-based color gamut and HDR metadata retrieval. Conditional enumeration of HDR color modes and capabilities in HwcDisplay. Updates to EDID wrapper interfaces for luminance and primaries handling. Simplified metadata setup with BT.2020 fallbacks and logging for debugging. This addresses HDR output requirements for enhanced display pipelines. Tracked-On: OAM-134123 Change-Id: Idf227b382925af81a2919e033393eabb78c0cb20 Signed-off-by: Kanli Hu <kanli.hu@intel.com>
Introducing support for SDR-to-HDR switching in the hardware composer (HWC) of the display system. Enhancements include pipeline updates, the addition of degamma/gamma Look-Up Table (LUT) handling, and support for building HDR metadata, gamma transformations, and color space conversions. Additionally, the patch refactors code to adjust HDR property management and integrates new classes and utility methods for HDR processing. Key aspects of the patch include: Added HdrPipeline module to handle HDR-specific degamma, gamma, and color matrix operations. Updated DrmAtomicStateManager to support HDR properties, degamma/gamma LUT blobs, and relevant atomic properties during frame commits. Enhanced the HwcDisplay class to manage HDR metadata, degamma/gamma LUTs, HDR activation states, and to support the configuration of HDR output metadata. Fixed the issue where HDR settings weren't being properly cleared during SDR mode, resolving transition errors. Tracked-On: OAM-134123 Change-Id: Iad06253762c0f6245cfe425e799ae9758d162782 Signed-off-by: Kanli Hu <kanli.hu@intel.com>
Backend::ValidateDisplay
Check for a single HDR video layer via IsHDRLayer().
If unique, attempt device composition and validate with a test commit.
On success, keep as device; else, fallback to client.
For multiple layers including HDR, force HDR to client.
HwcDisplay::CreateComposition
If single HDR device layer, disable HDR pipeline (identity CTM, no LUTs)
for direct scanout. For client or mixed cases, enable full pipeline.
Metadata and Capabilities:
Use EDID to fetch HDR types/luminance, with fallbacks for edge cases.
Sets SDR-like luminance (100 nits) if no HDR support;
for specific LG TV models ("LG TV SSCR"), overrides low/invalid max luminance
with typical HDR values (1000 nits) to handle EDID bugs.
Support HDR10 fully; HLG partially (no LUTs).
Tracked-On: OAM-134123
Change-Id: Ice8ed4c5f7bc433add6de7a645a84686b34319bf
Signed-off-by: Kanli Hu <kanli.hu@intel.com>
a49e55f to
e3cc6b3
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
|
SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
Backend::ValidateDisplay Check for a single HDR video layer via IsHdrVideoLayer(). If unique, attempt device composition and validate with a test commit. On success, keep as device; else, fallback to client. For multiple layers including HDR, force all layers to client. Tracked-On: OAM-134602 Change-Id: I5351421b9326c52b908810b2bd1f0f8bb27416b7 Signed-off-by: Kanli Hu <kanli.hu@intel.com>
To ensure proper reset and reinitialization of the HDR (High Dynamic Range) pipeline during hotplug events (e.g., when a display connector is plugged or unplugged). This prevents potential issues like stale HDR configurations persisting across display changes. The changes refactor EDID (Extended Display Identification Data) handling for better modularity and add explicit HDR reset logic in the display deinitialization and color mode switching paths. This improves reliability for HDR-enabled displays during dynamic connector updates, such as in multi-monitor setups or docking scenarios. Test-done: Verification was performed on a system with both SDR and HDR displays. The displays were alternately hotplugged (inserted and removed) multiple times to simulate dynamic scenarios. Tracked-On: OAM-134602 Change-Id: I2615b85545cde7f4af73f295ab5861d63d04f855 Signed-off-by: Kanli Hu <kanli.hu@intel.com>
e3cc6b3 to
ffd0754
Compare
|
Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web for more details. |
Tracked-On: OAM-134123 Change-Id: I5be22c0c6c846607fc128f51becee16a41bcbecc Signed-off-by: Kanli Hu <kanli.hu@intel.com>
|
SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web for more details. |
Tracked-On: OAM-134123