Merge "Use HdrConversionMode FORCE with preferredHdrType INVALID for a casee when SDR FORCE conversion is chosen." into udc-dev am: a3079eeec4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21609151 Change-Id: I223b304d5ccc2253488733dc282991818d62c5a4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1409,9 +1409,10 @@ public final class DisplayManager {
|
||||
* @param hdrConversionMode The {@link HdrConversionMode} to set.
|
||||
* Note, {@code HdrConversionMode.preferredHdrOutputType} is only applicable when
|
||||
* {@code HdrConversionMode.conversionMode} is {@link HdrConversionMode#HDR_CONVERSION_FORCE}.
|
||||
* If {@code HdrConversionMode.preferredHdrOutputType} is not set in case when
|
||||
* {@code HdrConversionMode.conversionMode} is {@link HdrConversionMode#HDR_CONVERSION_FORCE},
|
||||
* it means that preferred output type is SDR.
|
||||
*
|
||||
* @throws IllegalArgumentException if hdrConversionMode.preferredHdrOutputType is not set
|
||||
* when hdrConversionMode.conversionMode is {@link HdrConversionMode#HDR_CONVERSION_FORCE}.
|
||||
* @throws IllegalArgumentException if hdrConversionMode.preferredHdrOutputType is set but
|
||||
* hdrConversionMode.conversionMode is not {@link HdrConversionMode#HDR_CONVERSION_FORCE}.
|
||||
*
|
||||
|
||||
@@ -2126,16 +2126,24 @@ public final class DisplayManagerService extends SystemService {
|
||||
autoHdrOutputTypes = getEnabledAutoHdrTypesLocked();
|
||||
}
|
||||
|
||||
int conversionMode = hdrConversionMode.getConversionMode();
|
||||
int preferredHdrType = hdrConversionMode.getPreferredHdrOutputType();
|
||||
// If the HDR conversion is disabled by an app through WindowManager.LayoutParams, then
|
||||
// set HDR conversion mode to HDR_CONVERSION_PASSTHROUGH.
|
||||
if (mOverrideHdrConversionMode == null) {
|
||||
mSystemPreferredHdrOutputType =
|
||||
mInjector.setHdrConversionMode(hdrConversionMode.getConversionMode(),
|
||||
hdrConversionMode.getPreferredHdrOutputType(), autoHdrOutputTypes);
|
||||
// HDR_CONVERSION_FORCE with HDR_TYPE_INVALID is used to represent forcing SDR type.
|
||||
// But, internally SDR is selected by using passthrough mode.
|
||||
if (conversionMode == HdrConversionMode.HDR_CONVERSION_FORCE
|
||||
&& preferredHdrType == Display.HdrCapabilities.HDR_TYPE_INVALID) {
|
||||
conversionMode = HdrConversionMode.HDR_CONVERSION_PASSTHROUGH;
|
||||
}
|
||||
} else {
|
||||
mInjector.setHdrConversionMode(mOverrideHdrConversionMode.getConversionMode(),
|
||||
mOverrideHdrConversionMode.getPreferredHdrOutputType(), null);
|
||||
conversionMode = mOverrideHdrConversionMode.getConversionMode();
|
||||
preferredHdrType = mOverrideHdrConversionMode.getPreferredHdrOutputType();
|
||||
autoHdrOutputTypes = null;
|
||||
}
|
||||
mSystemPreferredHdrOutputType = mInjector.setHdrConversionMode(
|
||||
conversionMode, preferredHdrType, autoHdrOutputTypes);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user