Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c0ac91c authored by Kriti Dang's avatar Kriti Dang Committed by Android (Google) Code Review
Browse files

Merge "Fixing issues with minimal post processing and HDR conversion" into main

parents 69c57d24 35ce4ce9
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -2307,8 +2307,10 @@ public final class DisplayManagerService extends SystemService {

    @GuardedBy("mSyncRoot")
    private boolean hdrConversionIntroducesLatencyLocked() {
        HdrConversionMode mode = getHdrConversionModeSettingInternal();
        final int preferredHdrOutputType =
                getHdrConversionModeSettingInternal().getPreferredHdrOutputType();
                mode.getConversionMode() == HdrConversionMode.HDR_CONVERSION_SYSTEM
                        ? mSystemPreferredHdrOutputType : mode.getPreferredHdrOutputType();
        if (preferredHdrOutputType != Display.HdrCapabilities.HDR_TYPE_INVALID) {
            int[] hdrTypesWithLatency = mInjector.getHdrOutputTypesWithLatency();
            return ArrayUtils.contains(hdrTypesWithLatency, preferredHdrOutputType);
@@ -2589,16 +2591,14 @@ public final class DisplayManagerService extends SystemService {
            // TODO(b/202378408) set minimal post-processing only if it's supported once we have a
            // separate API for disabling on-device processing.
            boolean mppRequest = isMinimalPostProcessingAllowed() && preferMinimalPostProcessing;
            boolean disableHdrConversionForLatency = false;
            // If HDR conversion introduces latency, disable that in case minimal
            // post-processing is requested
            boolean disableHdrConversionForLatency =
                    mppRequest ? hdrConversionIntroducesLatencyLocked() : false;

            if (display.getRequestedMinimalPostProcessingLocked() != mppRequest) {
                display.setRequestedMinimalPostProcessingLocked(mppRequest);
                shouldScheduleTraversal = true;
                // If HDR conversion introduces latency, disable that in case minimal
                // post-processing is requested
                if (mppRequest) {
                    disableHdrConversionForLatency = hdrConversionIntroducesLatencyLocked();
                }
            }

            if (shouldScheduleTraversal) {